Imports System.Net Imports System.Net.Security Public Class intPicadaPersonal Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("usuario") = "" Then Response.Redirect("default.aspx") End If estIncPicBL.Visible = False If Session("modo") = "PERSONAL" Then If Session("persona").Personas(0).Dni = "44286377S" Then estIncPicBL.Visible = True End If Dim persons As List(Of Models.Personal) = Session("persona").Personas Dim listaPersonas As New List(Of Models.Personal) Dim listDni = Session("usuariosSeleccionados") For Each pers As String In listDni Dim per = persons.FirstOrDefault(Function(x) x.Dni = pers) listaPersonas.Add(per) Next cbPersonas.DataSource = listaPersonas.OrderBy(Function(x) x.Nombre) cbPersonas.DataBind() 'Dim DivSelect = "" 'selPersonas.InnerHtml = DivSelect Else Li1.Visible = False End If End Sub Private Sub selIncidencia_Init(sender As Object, e As EventArgs) Handles selIncidencia.Init Dim ListadoIncidencias = CargarSelectIncidenciasControlHorario(True) selIncidencia.DataSource = ListadoIncidencias 'selIncidencia.DataTextField = "Descripcion" 'selIncidencia.DataValueField = "idIncidencias" selIncidencia.DataBind() End Sub Private Function CargarSelectIncidenciasControlHorario(Soloreloj As Boolean) As List(Of Models.Incidencia) Dim usuario As String = "tecnosis" Dim contraseña As String = "patata2022" Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/IncidenciasControlHorario" Dim credenciales3 As New Net.CredentialCache() credenciales3.Add(New Uri(url3), "Basic", New Net.NetworkCredential(usuario, contraseña)) Dim clienteHTTP3 As New Net.WebClient() clienteHTTP3.Encoding = System.Text.Encoding.UTF8 clienteHTTP3.Credentials = credenciales3 Dim respuesta3 As String = clienteHTTP3.DownloadString(url3) Dim deserializador3 As New System.Web.Script.Serialization.JavaScriptSerializer() deserializador3.MaxJsonLength = Integer.MaxValue Dim listaPicada As List(Of Models.Incidencia) = deserializador3.Deserialize(Of List(Of Models.Incidencia))(respuesta3) Dim InciVacia As New Models.Incidencia InciVacia.idIncidencias = 0 InciVacia.Descripcion = "" InciVacia.EsInciReloj = True listaPicada.Add(InciVacia) Return listaPicada.Where(Function(x) x.EsInciReloj = Soloreloj).OrderBy(Function(x) x.Descripcion).ToList End Function Public Shared Function Picar(incidencia As String, fecha As String, hora As String, dni As String) As String '// A continuación, se realizará una petición al servicio REST '// de la Oficina Antifraude para identificar al usuario "manuel". ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True) Dim sessionUsuario As String = HttpContext.Current.Session("usuario") Dim clienteHTTP1 As New Net.WebClient() clienteHTTP1.Encoding = System.Text.Encoding.UTF8 Dim nif = dni Dim thisDate = CDate(fecha) Dim thisTime = If(hora IsNot Nothing AndAlso hora <> "", hora, "12:00:00") Dim fechaActual = DateTime.Now Dim FechahoraFormatoRest = thisDate.Month.ToString.PadLeft(2, "0") & "%2F" & thisDate.Day.ToString.PadLeft(2, "0") & "%2F" & thisDate.Year.ToString & "%20" & thisTime.Substring(0, 2) & "%3A" & thisTime.Substring(3, 2) & "%3A" & thisTime.Substring(6, 2) Dim IdIncidencia As String = incidencia If IdIncidencia = "null" Then IdIncidencia = "0" End If Dim url1 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/PicadaNueva?Nif=" + nif + "&FechaHora=" + FechahoraFormatoRest + "&idIncideniaReloj=" + IdIncidencia Dim sRespuesta1 As String = clienteHTTP1.UploadString(url1, "") Console.WriteLine(fechaActual) '// Esta es una manera "genérica" de acceder a datos JSON mediante LINQ, '// usando la biblioteca Newtonsoft.Json. Dim datos As Newtonsoft.Json.Linq.JObject = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Newtonsoft.Json.Linq.JObject)(sRespuesta1) Dim resultado = datos.Item("resultado").ToString Dim errores = datos.Item("Mensaje").ToString Dim MensPicada = "" MensPicada = errores Dim json = "" json += "[{""result"":""" + resultado + """,""mensaje"":""" + errores + """}]" Return json 'Return "hecho" End Function End Class