112 lines
5.1 KiB
VB.net
112 lines
5.1 KiB
VB.net
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 = "<select class='selectIn' style='width:100%'>"
|
|
'For Each pers As Models.Personal In listaPersonas
|
|
' DivSelect += "<option value='" + pers.Dni + "'>" + pers.Nombre + "</option>"
|
|
'Next
|
|
'DivSelect += "</select>"
|
|
'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
|
|
<System.Web.Services.WebMethod()>
|
|
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 |