Imports Newtonsoft.Json Imports System.Net Imports System.Net.Http Imports System.Net.Security Imports System.Threading.Tasks Imports WebIntranet.Models Public Class home 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 If Session("modo") = "PERSONAL" Then divDP.Visible = False divNom.Visible = False divSol.Visible = False btnControlHorario.Attributes.Add("href", "/listPicadas.aspx") Else btnControlHorario.Attributes.Add("href", "/intPicada.aspx") End If If Session("RET") = "RET" AndAlso Session("modo") = "PROPIO" Then btnControlHorario.Visible = False divSol.Visible = False End If End Sub Public Shared Async Function ObtenerAcredDatos() As Task(Of String) Try Dim sessionUsuario As String = HttpContext.Current.Session("usuario") 'Dim bd = New ODataService4.ODataService4Service(New Uri(UtilWebIntranet.UrlWebService)) 'Dim persona = bd.parlamentoDB_PERSONAS.Where(Function(x) x.NIF = sessionUsuario).ToList.First Dim ObjetoConsulta As New NifPersona ObjetoConsulta.Nif = sessionUsuario Dim persona = HttpContext.Current.Session("persona").personas(0) 'ObjetoConsulta.texto1 = "2" Dim jsonConsulta As String = JsonConvert.SerializeObject(ObjetoConsulta) Dim url As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ObtenerHAD" 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) Dim settings As New Newtonsoft.Json.JsonSerializerSettings() settings.CheckAdditionalContent = True Dim objetoDatos As ResultadoObtenerHAD = Newtonsoft.Json.JsonConvert.DeserializeObject(Of ResultadoObtenerHAD)(sRespuesta, settings) Dim resultado As Byte() = System.Convert.FromBase64String(objetoDatos.HAD) Dim archivo = Convert.ToBase64String(resultado) Dim Nombre = "HojaAcreditaciones_" + persona.Nombre.replace(",", "").replace(" ", "-") + ".pdf" Dim respuesta = "{""archivo"":""" + archivo + """,""nombre"":""" + Nombre + """}" 'Return respuesta Return respuesta Catch ex As Exception 'If UtilWebIntranet.CheckCred() = False Then ' Return "ERROR--1" ' Exit Function 'End If End Try End Function Public Shared Async Function ObtenerConsolidacionGrado() As Task(Of String) Try ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True) Dim sessionUsuario = HttpContext.Current.Session("usuario") '// Aquí preparamos el objeto para la consulta. Dim objetoConsulta As New Models.NifPersona objetoConsulta.Nif = sessionUsuario '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/SolicitudConsolidacionGrado" 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.ResultadoSolicitudConsolidacionGrado = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Models.ResultadoSolicitudConsolidacionGrado)(sRespuesta, settings) Debug.WriteLine("Resultado: " & objetoDatos.Resultado) Return sRespuesta Catch ex As Exception End Try End Function Public Shared Async Function SituacionEmpleados() As Task(Of String) Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/SituacionPersonal" Dim credenciales3 As New Net.CredentialCache() 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() Dim settings As New Newtonsoft.Json.JsonSerializerSettings() settings.CheckAdditionalContent = True Dim Datos As List(Of Models.SituacionPersonalOficina) = deserializador3.Deserialize(Of List(Of Models.SituacionPersonalOficina))(respuesta3) Return respuesta3 End Function End Class