91 lines
4.1 KiB
VB.net
91 lines
4.1 KiB
VB.net
Imports System.Net
|
|
Imports System.Net.Security
|
|
|
|
Public Class intPicada
|
|
Inherits System.Web.UI.Page
|
|
'Shared sessionUsuario As String
|
|
|
|
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
|
|
|
|
If Session("modo") = "PERSONAL" Then
|
|
'intPicadaBL.Visible = False
|
|
'intTeletrabajoBL.Visible = False
|
|
End If
|
|
'sessionUsuario = Session("usuario")
|
|
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) 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 = sessionUsuario
|
|
|
|
Dim fechaActual = DateTime.Now
|
|
Dim FechahoraFormatoRest = fechaActual.Month.ToString.PadLeft(2, "0") & "%2F" & fechaActual.Day.ToString.PadLeft(2, "0") & "%2F" & fechaActual.Year.ToString & "%20" & fechaActual.Hour.ToString.PadLeft(2, "0") & "%3A" & fechaActual.Minute.ToString.PadLeft(2, "0") & "%3A" & fechaActual.Second.ToString.PadLeft(2, "0")
|
|
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
|
|
End Function
|
|
End Class |