Imports System.Net.Http Imports Newtonsoft.Json Public Class gestionDepartamentoEmp Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("usuario") = "" OrElse Session("modo") <> "PERSONAL" Then Response.Redirect("default.aspx") 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 Dim htmlSelPer = "" htmlSelPer += "" DivSelPer.InnerHtml = htmlSelPer 'cbPersonas.DataSource = listaPersonas.OrderBy(Function(x) x.Nombre) 'cbPersonas.DataBind() Dim usuario As String = "tecnosis" Dim contraseña As String = "patata2022" Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ObtenerDepartamentos" 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 liDep As List(Of Models.EnumDepartamento) = deserializador3.Deserialize(Of List(Of Models.EnumDepartamento))(respuesta3) Dim htmlSelDep = "" htmlSelDep += "" DivSelDep.InnerHtml = htmlSelDep 'selDep.DataSource = liDep 'selDep.DataBind() End Sub Public Shared Function getDep(usu As String) As String If UtilAntifraude.CheckCred() = False Then Return "ERROR--1" Exit Function End If Dim usuarios As List(Of Models.Personal) = HttpContext.Current.Session("liPer") Dim us = usuarios.FirstOrDefault(Function(x) x.idPersona = CInt(usu)) Dim usuario As String = "tecnosis" Dim contraseña As String = "patata2022" Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ObtenerDepartamentos" 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 liDep As List(Of Models.EnumDepartamento) = deserializador3.Deserialize(Of List(Of Models.EnumDepartamento))(respuesta3) Dim idDepSel = liDep.FirstOrDefault(Function(x) x.Descripcion = us.Departamento).idDep Return idDepSel End Function Public Shared Async Function CambiarDep(usu As String, dep As String) As Threading.Tasks.Task(Of String) Dim usuario = usu Dim departamento = dep Dim settings As New Newtonsoft.Json.JsonSerializerSettings() Dim ses As HttpContext = HttpContext.Current Dim consulta As New CambiarDep consulta.usuario = usuario consulta.departamento = departamento Dim jsonConsulta As String = JsonConvert.SerializeObject(consulta) Dim url As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/CambiarDepartamento" 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 objetoDatos As Models.ResultadoModificaPersonasDelegadas = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Models.ResultadoModificaPersonasDelegadas)(sRespuesta, settings) Dim listPer As List(Of Models.Personal) = objetoDatos.Personas 'HttpContext.Current.Session.Remove("liPer") HttpContext.Current = ses HttpContext.Current.Session.Add("liPer", listPer) Return sRespuesta Return sRespuesta End Function 'Private Sub cbPersonas_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbPersonas.SelectedIndexChanged ' Dim personas As List(Of Models.Persona) = Session("persona").Personas ' Dim persona = personas.First(Function(x) x.DNI = cbPersonas.Value) 'End Sub End Class Public Class CambiarDep Public Property usuario As Integer Public Property departamento As Integer End Class