74 lines
3.5 KiB
VB.net
74 lines
3.5 KiB
VB.net
Imports Newtonsoft.Json
|
|
Imports System.Net
|
|
Imports System.Net.Http
|
|
Imports System.Net.Security
|
|
Imports System.Threading.Tasks
|
|
|
|
Public Class resumenSolicitudesComunicacionesEntreFechas
|
|
Inherits System.Web.UI.Page
|
|
'Shared usuariosSeleccionados As List(Of 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
|
|
'bolsaDeHorasBL.Visible = False
|
|
VAAPBCBL.Visible = False
|
|
intPicadaBL.Visible = False
|
|
'informPicadasBL.Visible = False
|
|
Else
|
|
estIncPicBL.visible = False
|
|
VAAPBCBLpers.Visible = false
|
|
intPicadaPersBL.Visible = False
|
|
Li1.Visible = False
|
|
End If
|
|
'usuariosSeleccionados = Session("usuariosSeleccionados")
|
|
Dim fechaToday = DateTime.Now.ToString("yyyy-MM-dd")
|
|
inpIniRIM.Value = DateTime.Now.ToString("yyyy") + "-01-01"
|
|
inpFinRIM.Value = fechaToday
|
|
End Sub
|
|
<System.Web.Services.WebMethod()>
|
|
Public Shared Async Function ObtenerRIM(ini As Date, fin As Date) As Task(Of String)
|
|
Dim usuariosSeleccionados As List(Of String) = HttpContext.Current.Session("usuariosSeleccionados")
|
|
Dim DNI = usuariosSeleccionados
|
|
If DNI.Contains(HttpContext.Current.Session("persona").Personas(0).Dni) = False Then
|
|
DNI.Add(HttpContext.Current.Session("persona").Personas(0).Dni)
|
|
End If
|
|
Try
|
|
|
|
|
|
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
|
|
|
|
'// Aquí preparamos el objeto para la consulta.
|
|
Dim objetoConsulta As New Models.Consulta
|
|
objetoConsulta.fechaInicio = ini
|
|
objetoConsulta.fechaFin = fin
|
|
objetoConsulta.listaNif = DNI 'New List(Of String)
|
|
|
|
'// Aquí convertimos el objeto en una cadena JSON.
|
|
Dim jsonConsulta As String = JsonConvert.SerializeObject(objetoConsulta)
|
|
Dim url As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ExcelResumenAsistencia"
|
|
|
|
Dim clienteHTTP As New HttpClient
|
|
Dim contenidoConsultaHTTP As New StringContent(jsonConsulta, Encoding.UTF8, "application/json")
|
|
Debug.WriteLine("CargarListadodePicadasAsync:1===" + Now.ToLongTimeString)
|
|
Dim respuestaHTTP As HttpResponseMessage = Await clienteHTTP.PostAsync(url, contenidoConsultaHTTP).ConfigureAwait(False)
|
|
Debug.WriteLine("CargarListadodePicadasAsync:2===" + Now.ToLongTimeString)
|
|
Dim sRespuesta As String = Await respuestaHTTP.Content.ReadAsStringAsync().ConfigureAwait(False)
|
|
Debug.WriteLine("CargarListadodePicadasAsync:3===" + Now.ToLongTimeString)
|
|
'// danmun: Aquí SÍ hay que poner `.ConfigureAwait(False)` al final de las llamadas a métodos Async()
|
|
'// para que el control de ejecución vuelva a este hilo.
|
|
|
|
''// Deserializar a una clase.
|
|
Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
|
|
settings.CheckAdditionalContent = True
|
|
Dim objetoDatos As Models.ResultadoExcelResumenAsistencia =
|
|
Newtonsoft.Json.JsonConvert.DeserializeObject(Of Models.ResultadoExcelResumenAsistencia)(sRespuesta, settings)
|
|
|
|
Debug.WriteLine("Resultado: " & objetoDatos.Resultado)
|
|
Return sRespuesta
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Function
|
|
End Class |