Imports System.Net Imports System.Net.Http Imports System.Net.Security Imports System.Threading.Tasks Imports Newtonsoft.Json Public Class gestionTeletrabajoPers 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" AndAlso Session("persona").Personas(0).Roll = "SUPERVISORDETODO" Then 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 Dim usuario = Session("persona").Personas(0) listaPersonas.Add(usuario) listaPersonas = listaPersonas.OrderBy(Function(x) x.Nombre).ToList Dim html = "" html += "" selPerDiv.InnerHtml = html 'cbPersonas.DataSource = listaPersonas.OrderBy(Function(x) x.Nombre) 'cbPersonas.DataBind() Else Response.Redirect("default.aspx") End If End Sub Public Shared Async Function AnadirEditarTT(idTT As String, Fei As String, Fef As String, motivo As String, idPers As String) As Task(Of String) ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True) Dim clienteHTTP1 As New Net.WebClient() clienteHTTP1.Encoding = System.Text.Encoding.UTF8 Dim persons As List(Of Models.Personal) = HttpContext.Current.Session("persona").Personas Dim idp = idPers ' persons.FirstOrDefault(Function(x) x.Dni = idPers).idPersona If idp <> Nothing Then Dim objetoConsulta As New Models.TramoTeletrabajoExcepcion objetoConsulta.fechaInicio = New Date(Convert.ToInt64(Fei)) objetoConsulta.fechaFin = New Date(Convert.ToInt64(Fef)) objetoConsulta.idExcepTel = CInt(idTT) objetoConsulta.idPersona = idp objetoConsulta.motivo = motivo Dim jsonConsulta As String = JsonConvert.SerializeObject(objetoConsulta) Dim url As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/AnadirEditarExcepcionTT" Dim clienteHTTP As New HttpClient Dim contenidoConsultaHTTP As New StringContent(jsonConsulta, Encoding.UTF8, "application/json") Dim respuestaHTTP As HttpResponseMessage = Await clienteHTTP.PostAsync(url, contenidoConsultaHTTP).ConfigureAwait(False) Dim sRespuesta As String = Await respuestaHTTP.Content.ReadAsStringAsync().ConfigureAwait(False) Dim settings As New Newtonsoft.Json.JsonSerializerSettings() settings.CheckAdditionalContent = True Dim objetoDatos As Models.resultadoEditarPicadasAnuladas = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Models.resultadoEditarPicadasAnuladas)(sRespuesta, settings) Return sRespuesta Else Dim result = New Models.resultadoEditarPicadasAnuladas With { .resultado = 1, .mensaje = "La persona a la que corresponde esta excepción no es accesible en este momento" } Dim JsonResult = Newtonsoft.Json.JsonConvert.SerializeObject(result) Return JsonResult End If End Function Public Shared Async Function ObtTT(idPer As String, todas As Boolean) As Task(Of String) ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True) Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/listaExcepciones?id=" + idPer + "&todas=" + todas.ToString() Dim clienteHTTP3 As New Net.WebClient() clienteHTTP3.Encoding = System.Text.Encoding.UTF8 Dim respuesta3 As String = clienteHTTP3.DownloadString(url3) Return respuesta3 End Function Public Shared Async Function EliminarTT(idTT As Integer) As Task(Of String) ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True) Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/EliminarExcepcion?id=" + idTT.ToString() Dim clienteHTTP3 As New Net.WebClient() clienteHTTP3.Encoding = System.Text.Encoding.UTF8 Dim respuesta3 As String = clienteHTTP3.DownloadString(url3) Return respuesta3 End Function Public Shared Async Function TTbyId(idTT As Integer, idPer As String) As Task(Of String) ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True) Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/listaExcepciones?id=" + idPer + "&todas=true" Dim clienteHTTP3 As New Net.WebClient() clienteHTTP3.Encoding = System.Text.Encoding.UTF8 Dim respuesta3 As String = clienteHTTP3.DownloadString(url3) Dim settings As New Newtonsoft.Json.JsonSerializerSettings() settings.CheckAdditionalContent = True Dim objetoDatos As Models.ResultadoListadoExcepciones = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Models.ResultadoListadoExcepciones)(respuesta3, settings) Dim TT = objetoDatos.listado.FirstOrDefault(Function(x) x.idExcepTel = idTT) If TT IsNot Nothing Then Dim listaTT = New List(Of Models.TramoTeletrabajoExcepcion) listaTT.Add(TT) Dim resultado = New Models.ResultadoListadoExcepciones With { .listado = listaTT, .resultado = 0, .mensaje = "" } Return JsonConvert.SerializeObject(resultado) Else Dim resultado = New Models.ResultadoListadoExcepciones With { .resultado = 1, .mensaje = "No existe esta excepción" } Return JsonConvert.SerializeObject(resultado) End If Return respuesta3 End Function End Class