Imports System.Threading.Tasks
Imports WebIntranet.Models

Public Class selUsuarios
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim sessionUsuario As String = HttpContext.Current.Session("usuario")
        If Session("Persona") Is Nothing Then
            Response.Redirect("default.aspx")
        End If
        sessionUsuario = Session("usuario")
        Dim html = ""
        Dim html2 = ""
        Dim listaDepartamentos = New List(Of String)
        Dim dep = ""
        Dim cont = 0
        Dim listPersonas = Session("Persona")
        Dim liPer As List(Of Personal) = Session("Persona").personas
        Session.Add("liPer", liPer)
        Dim liPer2 = liPer.Skip(1).ToList()
        For Each item As Models.Personal In liPer2
            If cont = 0 Then
                cont += 1
                html += "<div class='departamento" + cont.ToString() + " grupodep'><div class='divDep fondoAzulOscuro d-flex' style='padding-inline:40px; margin-bottom:15px'><input type='checkbox' id='dep" + cont.ToString + "' class='inpDep'><p class='pUsuario'><b>" + item.Departamento + "</b></p></div>"
                html2 += "<div class='fondoAzulOscuro usSeleccionado'><p> USUARIOS SELECCIONADOS </p> </div>"
                html2 += "<div  class='divDepSelect fondoAzulOscuro d-flex inactivo' style='padding-inline:40px; margin-bottom:15px'><p class='pUsuario'><b>" + item.Departamento + "</b></p></div>"
                dep = item.Departamento
                listaDepartamentos.Add(item.Departamento)
            End If
            If dep = item.Departamento Then
                html += "<div id='" + item.Dni + "' class='divUsuario' style='display:flex'><input type='checkbox' value='" + item.Dni + "' class='inpUsuario dep" + cont.ToString + "'><p class='pUsuario'>" + item.Nombre.ToLower + "</p></div>"
                html2 += "<div  id='" + item.Dni + "listado' class='divUsuarioSelect d-flex inactivo'><p class='pUsuario'>" + item.Nombre.ToLower + "</p></div>"
            Else
                html += "</div>"
                cont += 1
                html += "<div class='departamento" + cont.ToString() + " grupodep'><div class='divDep fondoAzulOscuro d-flex' style='padding-inline:40px; margin-bottom:15px'><input type='checkbox' class='inpDep' id='dep" + cont.ToString + "'><p class='pUsuario'><b>" + item.Departamento + "</b></p></div>"
                html2 += "<div class='divDepSelect fondoAzulOscuro d-flex inactivo' style='padding-inline:40px; margin-bottom:15px'><p class='pUsuario'><b>" + item.Departamento + "</b></p></div>"
                html += "<div  id='" + item.Dni + "' class='divUsuario' style='display:flex'><input type='checkbox' value='" + item.Dni + "' class='inpUsuario dep" + cont.ToString + "'><p class='pUsuario'>" + item.Nombre.ToLower + "</p></div>"
                html2 += "<div  id='" + item.Dni + "listado' class='divUsuarioSelect d-flex inactivo'><p class='pUsuario'>" + item.Nombre.ToLower + "</p></div>"
                dep = item.Departamento
                listaDepartamentos.Add(item.Departamento)
            End If
        Next
        html += "</div>"
        Dim liDepartamento = listaDepartamentos
        cajaUsuario.InnerHtml = html
        cajaSeleccionados.InnerHtml = html2
    End Sub
    <System.Web.Services.WebMethod()>
    Public Shared Function listaUsuariosSeleccionados(usuarios As String) As String
        If UtilAntifraude.CheckCred() = False Then
            Return "ERROR--1"
            Exit Function
        End If
        Dim usuariosSeleccionados As List(Of String) = HttpContext.Current.Session("usuariosSeleccionados")
        Dim sessionUsuario As String = HttpContext.Current.Session("usuario")
        Dim sessionPersona As ResultadoIdentificacion = HttpContext.Current.Session("Persona")
        Dim listUs As List(Of String) = usuarios.Split(",").ToList
        Dim nuevaListUsus As New List(Of String)
        For Each itm As String In listUs
            Dim usuaanadir = sessionPersona.Personas.Skip(1).Where(Function(x) x.Dni = itm)
            If usuaanadir.Count > 0 Then
                nuevaListUsus.Add(usuaanadir.First.Dni)
            End If
        Next
        If nuevaListUsus.Count > 0 Then
            usuariosSeleccionados = nuevaListUsus
            HttpContext.Current.Session.Add("modo", "PERSONAL")
            HttpContext.Current.Session.Add("usuariosSeleccionados", usuariosSeleccionados)
            Return "correcto"
        Else
            Dim fallo = "error"
            Return fallo
        End If

    End Function
End Class