%@ WebHandler Language="VB" Class="SIGWeb" %>
Imports System.Data
Imports System.IO
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Imports Newtonsoft.Json
Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
'TEMPORAL, DEBE SER REEMPLAZADO POR EL MODELO DE LA LIBRERIA
Public Class MResponseModel(Of T)
Public Property IsSuccess As Boolean
Public Property Message As String
Public Property Result As T
End Class
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
If context.Request("metodo") IsNot Nothing AndAlso context.Request("metodo").ToString() = "GetTokenAngular" Then
'context.Response.ContentType = "application/json; charset=utf-8"
context.Response.ContentType = "text/json"
If context.Request IsNot Nothing AndAlso context.Request.UrlReferrer IsNot Nothing Then
Dim origin As String = context.Request.UrlReferrer.ToString()
context.Response.AddHeader("Access-Control-Allow-Origin", origin.Substring(0, origin.Length - 1))
End If
'context.Response.AddHeader("Access-Control-Allow-Origin", "http://localhost:4200")
'context.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST")
context.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept")
context.Response.AddHeader("Access-Control-Allow-Credentials", "true")
context.Response.StatusCode = 200
Dim key As String = ""
Try
key = GetTokenAngular(context)
Catch ex As Exception
GuardaLog(ex.ToString())
End Try
Dim json As String = JsonConvert.SerializeObject(key)
context.Response.Write(json)
context.Response.Flush()
context.Response.Close()
context.Response.End()
Else
If context.Request("metodo").Contiene("Contabilizapoliza", "RevisaConexion") Then
context.Response.ContentType = "text/json"
Else
context.Response.ContentType = "text/plain"
End If
End If
Try
Select Case context.Request("metodo")
Case "Contabilizapoliza"
Dim CvePrePoliza As Integer = context.Request("CvePrePoliza").ToString().ToEntero()
Dim CveUsuario As Integer = context.Request("CveUsuario").ToString().ToEntero()
Dim CveEmpresa As Integer = context.Request("CveEmpresa").ToString().ToEntero()
GuardaLog(String.Format("?metodo=Contabilizapoliza&CvePrePoliza={0}&CveUsuario={1}&CveEmpresa ={2}", CvePrePoliza, CveUsuario, CveEmpresa))
ActualizaPrePoliza(context)
Dim obj As New MResponseModel(Of Object)()
obj.Result = DateTime.Now.ToString()
Dim retorno = JsonConvert.SerializeObject(obj).ToString()
context.Response.Write(retorno)
context.Response.StatusCode = 200
Case "RevisaConexion"
Dim obj As New MResponseModel(Of Object)()
obj.Result = DateTime.Now.ToString()
Dim retorno = JsonConvert.SerializeObject(obj).ToString()
context.Response.Write(retorno)
context.Response.StatusCode = 200
Case "getps"
GETPS(context)
Case "getps2"
GETPS(context, "PSCodigoClasificacion")
Case "getpsalmacen"
getpsalmacen(context)
Case "Uploadfile"
uploadfile(context)
Case "Downfile"
Downfile(context)
Case "GetImg"
GetImg(context)
Case "getpssat"
GETPSSAT(context)
Case "getpsusados"
GETPSUSADOS(context)
Case "getumsat"
GETUMSAT(context)
Case "getsatmatpeligroso"
GETSATMaterialPeligroso(context)
Case "getsatembalajes"
GETSATEmbalajes(context)
Case "getcliente"
GetClientes(context)
Case "getproveedores"
GetProveedores(context)
Case "getfraccionarancelaria"
GetFraccionArancelaria(context)
Case "GetUser"
GetUser(context)
Case "ActualizaPreP"
ActualizaPrePoliza(context)
Case "getpersonal"
getpersonal(context)
Case "getcontratos"
GetContratos(context)
Case "GettingCURP"
context.Response.Write(GettingCURP(context.Request("Curp").ToString(), context.Request("year").ToString().ToEntero()))
Case "ValidaCURP"
context.Response.Write(ValidaCURP(context.Request("Curp").ToString()))
Case "sendMail"
context.Response.Write(sendMail(context))
Case "sendMailEMD"
context.Response.Write(sendMailEMD(context))
Case "sendMailLPM"
context.Response.Write(sendMailLPM(context))
Case "getSATColomias"
getSatColonias(context)
Case "GetFilesDirectory"
GetFilesDirectory(context)
Case "Getetiquetas"
Getetiquetas(context)
Case "cancelarRemision"
cancelarRemision(context)
Case "RemoveMovimiento"
RemoveMovimiento(context)
End Select
Catch ex As Exception
ex.GuardaLog(ex.Message)
End Try
End Sub
Public Sub ImprimirPDF(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing, Optional Content_Disposition As String = "attachment")
'limpio ReportViwer
ImprimirbytesPDF(StreamPDF(RutaReporte, DataSource, Parametros, NombreArchivo, Formato, MR), NombreArchivo, Formato, Content_Disposition:=Content_Disposition)
End Sub
Public Function StreamPDF(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing) As Byte()
'limpio ReportViwer
Dim sw As New System.Diagnostics.Stopwatch()
sw.Start()
Dim Bytes As Byte() = Nothing
Dim CveUsuario As Integer = 0
Dim CveEmpresa As Integer = 0
Dim RutaEmpresa As String = ""
Dim bdir As String = If(RutaReporte.Contains("Empresas"), ModExtensiones.DirectorioBaseEmpresas, AppDomain.CurrentDomain.BaseDirectory)
'TOMAR LA RUTA BASE PARA EL DIRECTORIO DE LA EMPRESA
If Not String.IsNullOrEmpty(RutaEmpresa) AndAlso Not RutaReporte.Contains("Grales") Then
bdir = RutaEmpresa.Replace($"{CveEmpresa}/", "")
End If
RutaReporte.Replace("/", "\")
If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
End If
If False Then
Dim wsreport As New WSRDLC.WebServiceSoapClient
Dim params As New List(Of WSRDLC.ReportParameter)
Dim ds As New DataSet
For Each rpds As ReportDataSource In DataSource
Dim dt As DataTable = DirectCast(rpds.Value, Data.DataTable)
If dt Is Nothing Then
dt = New DataTable()
Else
dt = dt.Copy()
End If
dt.TableName = rpds.Name
ds.Tables.Add(dt)
Next
For Each rpds As ReportParameter In Parametros
Dim param As New WSRDLC.ReportParameter
param.Name = rpds.Name
param.Values = {rpds.Values(0)}
params.Add(param)
Next
Bytes = wsreport.StreamPDFBytes(RutaReporte, ds, params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario)
wsreport = Nothing
params = Nothing
ds.Dispose() : ds = Nothing
Else
If IsNothing(MR) Then MR = New ReportViewer
Try
' MasterReporteador.LocalReport.DataSources.Clear()
For Each RDS As ReportDataSource In DataSource
MR.LocalReport.DataSources.Add(RDS)
Next
MR.LocalReport.ReportPath = RutaReporte
MR.ProcessingMode = ProcessingMode.Local
MR.LocalReport.EnableExternalImages = True
MR.LocalReport.SetParameters(Parametros)
MR.LocalReport.Refresh()
Dim Warnings As Warning() = Nothing
Dim StreamIds As String() = Nothing
Dim MimeType As String = Nothing
Dim Encoding As String = Nothing
Dim Extension As String = Nothing
Bytes = MR.LocalReport.Render(Formato, Nothing, MimeType, Encoding, Extension, StreamIds, Warnings)
Catch ex As Microsoft.Reporting.WebForms.ScriptManagerNotFoundException
GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
'GuardaLog($"Error: {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
Catch ex As Exception
GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
End Try
MR.Dispose()
MR = Nothing
End If
sw.Stop()
If sw.Elapsed.TotalSeconds > 5 Then
GuardaLog($"Reporte:{RutaReporte} | Tiempo Renderizado Milisegundos: {sw.ElapsedMilliseconds},Total Segundos: {sw.Elapsed.TotalSeconds} ")
End If
Return Bytes
End Function
Public Sub ImprimirbytesPDF(bytes As Byte(), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional Descarga As Boolean = False, Optional Content_Disposition As String = "attachment")
'limpio ReportViwer
Dim mimeType As String = Nothing
Dim extension As String = Nothing
'If Descarga Then
' Try
' bytes = bytes
' File.WriteAllBytes(String.Format("{0}PDF/whatever.gif", UsuarioActual.Empresa.Ruta), img)
' Catch ex As Exception
' If UsuarioActual.CveRol = 1 Then
' Alert(ex.Message, TipoMensaje.MsgAdvertencia)
' Else
' Alert("Ocurrió un error al generar la descarga. Favor de contactar a soporte tecnico cod'IMPDFclspag'", TipoMensaje.MsgAdvertencia)
' End If
' End Try
'End If
Try
bytes = bytes
Response.Buffer = True
Response.Clear()
Response.ContentType = mimeType
Response.AddHeader("content-disposition", String.Format("{0}; filename={1}.{2}", Content_Disposition, NombreArchivo, If(Formato = "PDF", "pdf", "xls")))
Response.BinaryWrite(bytes) ' create the file
Response.Flush() ' send it to the client to download
HttpContext.Current.Response.SuppressContent = True
HttpContext.Current.ApplicationInstance.CompleteRequest()
HttpContext.Current.Response.End()
bytes = Nothing
Catch ex As Exception
Alert("Ocurrió un error al generar la descarga. Favor de contactar a soporte tecnico cod:'IMPDFclspag'", TipoMensaje.MsgAdvertencia)
End Try
End Sub
Dim Response As HttpResponse
Private Function Getetiquetas(context As HttpContext) As String
Dim retorno As String = ""
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("Envase", "1 1/9"))
params.Add(New ReportParameter("Tamano", "Small"))
params.Add(New ReportParameter("Cultivo", "Tomate"))
params.Add(New ReportParameter("noPallet", "000001"))
Response = context.Response
Dim tablaReporte As New DataTable
'"Empresas/Grales/Formatos/EquiposGPS.rdlc"
'"D:\\ADSistemas\\Proyectos\\SIG\\SIGIT\\GPS\\PalletEtiqueta.rdlc"
ImprimirPDF("GPS/PalletEtiqueta.rdlc", (New List(Of ReportDataSource)), params, "Equipo GPS")
Return retorno
End Function
Private Function GetTokenAngular(context As HttpContext) As String
Dim usuario As Usuario = UsuarioActual(context)
Dim tokenDescriptor = New Microsoft.IdentityModel.Tokens.SecurityTokenDescriptor With {
.Subject = New System.Security.Claims.ClaimsIdentity(New System.Security.Claims.Claim() {New System.Security.Claims.Claim("CvePlataforma", usuario.CvePlataforma.ToString()),
New System.Security.Claims.Claim("CveUsuario", usuario.CveUsuario.ToString()), New System.Security.Claims.Claim("CveEmpresa", usuario.CveEmpresa.ToString()),
New System.Security.Claims.Claim("CveRol", usuario.CveRol.ToString()), New System.Security.Claims.Claim("Fecha", Date.Now.ToLongDateString())}),
.Expires = Date.UtcNow.AddHours(3),
.SigningCredentials = New Microsoft.IdentityModel.Tokens.SigningCredentials(
New Microsoft.IdentityModel.Tokens.SymmetricSecurityKey(Encoding.ASCII.GetBytes("*_AsistenciaDesarrolloSistemas-SIGAPI_*17-06-2020")),
Microsoft.IdentityModel.Tokens.SecurityAlgorithms.HmacSha256Signature)}
Dim tokenHandler = New System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler()
Dim newtoken = tokenHandler.CreateToken(tokenDescriptor)
Dim stokenn As String = tokenHandler.WriteToken(newtoken)
Return stokenn
End Function
Private Function sendMailLPM(context As HttpContext) As String
Dim retorno As String = "true"
Dim nombre As String = ""
Dim correo As String = ""
Dim asunto As String = ""
Dim cuerpo As String = ""
Dim obj = context.Request("Nombre") 'Nombre=' + $('#Nombre').val() +'Correo=' + $('#Correo').val() +'Sitio=' + $('#Sitio').val() +'Cuerpo=' + $('#Cuerpo').val() +
If Not IsNothing(obj) Then
nombre = obj.ToString()
End If
obj = context.Request("Correo").Trim()
If Not IsNothing(obj) Then
correo = obj.ToString()
End If
obj = context.Request("Asunto").Trim()
If Not IsNothing(obj) Then
asunto = obj.ToString()
End If
obj = context.Request("Cuerpo").Trim()
If Not IsNothing(obj) Then
cuerpo = obj.ToString().Replace("< ", "<").Trim()
End If
Dim Body As String = String.Format("Prospecto : {0}
Correo : {1}
Asunto : {2}
{3}", nombre, correo, asunto, cuerpo)
Dim para As String = "contacto@localizacionprecisa.com;caudillo.90d@gmail.com;"
'para = ""
Dim Mail As New ClsSisMail()
If (nombre.Length > 0 Or correo.Length > 0) AndAlso Mail.SendMail(ClsPaginas.EmpresaNotificaciones, para, "Notificación prospecto", Body) Then
retorno = "true"
Else
retorno = "false"
End If
Return retorno
End Function
Private Function sendMailEMD(context As HttpContext) As String
Dim retorno As String = "true"
Dim nombre As String = ""
Dim correo As String = ""
Dim Phone As String = ""
Dim cuerpo As String = ""
Dim obj = context.Request("Nombre") 'Nombre=' + $('#Nombre').val() +'Correo=' + $('#Correo').val() +'Sitio=' + $('#Sitio').val() +'Cuerpo=' + $('#Cuerpo').val() +
If Not IsNothing(obj) Then
nombre = obj.ToString().Trim()
End If
obj = context.Request("Correo")
If Not IsNothing(obj) Then
correo = obj.ToString().Trim()
End If
obj = context.Request("Phone")
If Not IsNothing(obj) Then
Phone = obj.ToString().Trim()
End If
obj = context.Request("Cuerpo")
If Not IsNothing(obj) Then
cuerpo = obj.ToString().Replace("< ", "<").Trim()
End If
Dim Body As String = String.Format("Solicitó : {0}
Correo : {1}
Telefono : {2}
{3}", nombre, correo, Phone, cuerpo)
Dim para As String = "paola@adssistemas.mx;caudillo.90d@gmail.com;"
'para = ""
Dim Mail As New ClsSisMail()
If (nombre.Length > 0 Or correo.Length > 0) AndAlso Mail.SendMail(ClsPaginas.EmpresaNotificaciones, para, "Notificación contacto pagina", Body) Then
retorno = "true"
Else
retorno = "false"
End If
Return retorno
End Function
Private Function sendMail(context As HttpContext) As String
Dim retorno As String = "true"
Dim nombre As String = ""
Dim correo As String = ""
Dim sitio As String = ""
Dim cuerpo As String = ""
Dim obj = context.Request("Nombre") 'Nombre=' + $('#Nombre').val() +'Correo=' + $('#Correo').val() +'Sitio=' + $('#Sitio').val() +'Cuerpo=' + $('#Cuerpo').val() +
If Not IsNothing(obj) Then
nombre = obj.ToString().Trim()
End If
obj = context.Request("Correo").Trim()
If Not IsNothing(obj) Then
correo = obj.ToString()
End If
obj = context.Request("Sitio").Trim()
If Not IsNothing(obj) Then
sitio = obj.ToString()
End If
obj = context.Request("Cuerpo").Trim()
If Not IsNothing(obj) Then
cuerpo = obj.ToString().Replace("< ", "<").Trim()
End If
Dim Body As String = String.Format("Prospecto : {0}
Correo : {1}
Sitio : {2}
{3}", nombre, correo, sitio, cuerpo)
Dim para As String = "rene.molina@adssistemas.mx,sig.buzon@gmail.com,julian@adssistemas.mx;paola@adssistemas.mx;caudillo.90d@gmail.com;"
'para = ""
Dim Mail As New ClsSisMail()
If (nombre.Length > 0 Or correo.Length > 0) AndAlso Mail.SendMail(ClsPaginas.EmpresaNotificaciones, para, "NotificaciónProspecto", Body) Then
retorno = "true"
Else
retorno = "false"
End If
Return retorno
End Function
Private Sub GetUser(ByVal context As HttpContext)
Dim usuario As String = context.Request("usuario").ToString()
Dim CveUsuario As Integer = -1
Dim objs As New ClsSisUsuarios
objs.GetWSusuarios(usuario)
If objs.DtResultados.Rows.Count > 0 Then
CveUsuario = objs.DtResultados.Rows(0)("CveUsuario").ToString().ToEntero()
End If
objs.Dispose()
If CveUsuario > 0 Then
CveUsuario = 1
End If
context.Response.Write(CveUsuario.ToString())
context.Response.StatusCode = 200
End Sub
Private Sub ActualizaPrePoliza(ByVal context As HttpContext)
Dim CvePrePoliza As Integer = context.Request("CvePrePoliza").ToString.ToEntero
Dim CveEmpresa As Integer = context.Request("CveEmpresa").ToString.ToEntero
Dim CveUsuario As Integer = context.Request("CveUsuario").ToString.ToEntero
Dim Empresa As New Empresa
Dim Retorno As Integer = 0
Dim ObjEmpresa As New ClsSisEmpresas()
If ObjEmpresa.GetEmpresas(CveEmpresa, "-1", "-1", "-1", "-1") Then
Empresa = ObjEmpresa.Empresa
End If
ObjEmpresa.Dispose()
Dim IdPoliza As Integer = -1
Dim ObjConta As New ClsContabilidad
Try
ObjConta.GetPrePoliza(CvePrePoliza, CveEmpresa)
IdPoliza = ObjConta.DtResultados.FiltroPrimeroValor("IdPoliza", "").ToEntero
If IdPoliza > 0 Then
ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False)
End If
If ObjConta.ContabilizarPrePoliza(CvePrePoliza, CveUsuario, Empresa, pIDPoliza:=If(IdPoliza > 0, IdPoliza, -1)) Then
Retorno = 200
End If
Catch ex As Exception
GuardaLogAD(ex.ToString())
End Try
ObjConta.Dispose()
Empresa = Nothing
'context.Response.Write(CveUsuario.ToString())
context.Response.StatusCode = Retorno
End Sub
Private Sub GetImg(ByVal context As HttpContext)
Dim Url As String = Decripta(context.Request("r").ToString)
Dim usuario As Usuario = UsuarioActual(context)
If Not IsNothing(usuario) Then
Url = String.Format("{0}Empresas\{1}\{2}", ModExtensiones.DirectorioBaseEmpresas, usuario.CveEmpresa, Url)
Dim FileInfo As FileInfo = New FileInfo(Url)
If FileInfo.Exists Then
context.Response.ContentType = "image/png"
context.Response.Flush()
context.Response.WriteFile(FileInfo.FullName)
context.Response.End()
End If
FileInfo = Nothing
Url = ""
End If
End Sub
#Region "File"
Private Sub Downfile(ByVal context As HttpContext)
Dim savepath As String = ""
Dim tempPath As String = ""
tempPath = String.Format("{0}{1}", System.Configuration.ConfigurationManager.AppSettings("FolderPath"), "/Temp")
savepath = context.Server.MapPath(tempPath)
Dim nombre As String = String.Format("{0}\{1}", savepath, context.Request("nombre"))
File.Delete(nombre)
tempPath = ""
savepath = ""
context.Response.StatusCode = 200
End Sub
Private Sub uploadfile(ByVal context As HttpContext)
Dim postedFile As HttpPostedFile
Dim savepath As String = ""
Dim tempPath As String = ""
tempPath = String.Format("{0}{1}", System.Configuration.ConfigurationManager.AppSettings("FolderPath"), "/Temp")
savepath = context.Server.MapPath(tempPath)
Dim filename As String
Dim tick As String
tick = (DateTime.Now.Ticks + 1).ToString()
If Not Directory.Exists(savepath) Then
Directory.CreateDirectory(savepath)
End If
If context.Request.Files.Count = 0 Then
Dim copyFile As String = context.Request("File")
Dim Cve As String = context.Request("Cve")
If copyFile <> "" Then
Dim ext As Integer = copyFile.IndexOf(","c) + 1
Dim extension As String = copyFile.Substring(5, ext - 5)
If extension.Contains("image/") Then extension = extension.Replace("image/", "").Replace(";base64,", "")
'Dim extncion As String =
filename = String.Format("{0}-{1}.{2}", tick, Cve, extension)
Dim msf As New MemoryStream(Convert.FromBase64String(copyFile.Substring(ext)))
Dim stem As Stream = New FileStream(String.Format("{0}\{1}", savepath, filename), FileMode.Create)
msf.WriteTo(stem)
msf.Close()
stem.Close()
msf.Dispose()
stem.Dispose()
End If
Else
postedFile = context.Request.Files(0)
filename = String.Format("{0}-{1}", tick, postedFile.FileName)
postedFile.SaveAs(String.Format("{0}\{1}", savepath, filename))
End If
context.Response.Write(tick)
context.Response.StatusCode = 200
savepath = ""
tempPath = "" : filename = ""
postedFile = Nothing
End Sub
#End Region
Private Shared Function sendURL(ByVal URL As String, Optional Methodo As String = "POST", Optional Cookie As String = "", Optional maxTimeMilliseconds As Integer = 120000) As String
Dim resultado As String = ""
Try
Dim request As Net.HttpWebRequest = CType(Net.HttpWebRequest.Create(URL), Net.HttpWebRequest)
request.Timeout = maxTimeMilliseconds
request.Method = Methodo
request.ContentType = "text/html; charset=utf-8" '"text/xml; charset=utf-8"
If Not String.IsNullOrEmpty(Cookie) Then
request.Headers.Add("Cookie", Cookie)
End If
'Using stream As IO.Stream = request.GetRequestStream()
' Using stmw As IO.StreamWriter = New IO.StreamWriter(stream)
' stmw.Write("")
' End Using
'End Using
Dim response As Net.WebResponse = CType(request.GetResponse(), Net.WebResponse)
Dim sr As IO.StreamReader = New IO.StreamReader(response.GetResponseStream())
resultado = sr.ReadToEnd()
sr.Close()
Catch ex As Exception
ex.ToString().GuardaLog()
End Try
Return resultado
End Function
Public Shared Function GettingCURP(ByVal Curp As String, year As Integer) As String
Dim abc As String() = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
Dim numeric01 As String() = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
Dim rule1 As String() = If(year < 2000, numeric01, abc)
Dim curpresult As String = ""
Dim i As Integer = 0
While curpresult.Length = 0 AndAlso i < rule1.Length
Dim z As Integer = 0
While curpresult.Length = 0 AndAlso z < numeric01.Length
curpresult = String.Format("{0}{1}{2}", Curp, rule1(i), numeric01(z))
Dim respuesta As String = sendURL(String.Format("http://www.renapo.sep.gob.mx/wsrenapo/MainControllerParam?curp={0}", curpresult), "GET")
Dim trlines As New List(Of String)
Dim keydict As New System.Collections.Concurrent.ConcurrentDictionary(Of String, String)
Dim indexttr As Integer = 0
Dim indexttrB As Integer = 0
Dim indexttd As Integer = 0
Dim indextdiv As Integer = 0
Dim indexinittext As Integer = 0
While Not IsNothing(respuesta) AndAlso respuesta.Length > 0
indexttr = respuesta.IndexOf("