Imports System.Net
Imports System.Net.Http
Imports System.Net.Security
Imports Newtonsoft.Json
Imports System.Threading.Tasks
Imports WebIntranet.Models

Public Class SiteMaster
    Inherits System.Web.UI.MasterPage
    Public asemVer As String
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        Dim ver As Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version
        asemVer = ver.ToString.Replace(".", "_")
        DatosAdmMen.Visible = False
        Div6Mov.Visible = False
        estInciPicada.Visible = False
        estInciPicadaMob.Visible = False
        mobInciPersonal.Visible = False
        pestInciPers.Visible = False
        If Session("Persona") Is Nothing Then
            Response.Redirect("default.aspx")
        End If
        usuarioNav.InnerHtml = Session("Nombre")
        nombreUsuarioMob.InnerHtml = Session("Nombre")
        Dim sessionUsuario As String = Session("usuario")
        cargarGrupos()
        If HttpContext.Current.Request.Url.AbsolutePath.ToLower.Contains("selmodo") Or HttpContext.Current.Request.Url.AbsolutePath.ToLower.Contains("selusuarios") Then
            conMenuHambur.Visible = False
            btnAtrasGeneral.Visible = False
            navigation.Visible = False
            imgCambiarModo.Visible = False
            imgGestDele.Visible = False
            selUsuIcon.Visible = False
        End If
        If Session("RET") = "RET" AndAlso Session("modo") = "PROPIO" Then
            pestIncidencias.Visible = False
            pestPermisos.Visible = False
            pestControlHorario.Visible = False
            CardSolicitudesMob.Visible = False
            CardComunicacionesMob.Visible = False
            cardControlHorario.Visible = False


        End If
        If Session("persona").Personas(0).Roll <> "SUPERVISOR" AndAlso Session("persona").Personas(0).Roll <> "SUPERVISORDETODO" Then
            imgGestDele.Visible = False
        End If
        If Session("persona").Personas(0).Roll <> "SUPERVISOR" AndAlso Session("persona").Personas(0).Roll <> "DELEGADO" AndAlso Session("persona").Personas(0).Roll <> "SUPERVISORDETODO" Then
            imgCambiarModo.Visible = False
        End If
        If Session("persona").Personas(0).Roll <> "SUPERVISORDETODO" Then
            tabSituacionPersonal.Visible = False
            cardSitucaionPersonal.Visible = False
            pestControlTT.Visible = False
            cardControlTT.Visible = False
        End If
        If Session("modo") = "PROPIO" Then
            pestGestDep.Visible = False
            cardGestDep.Visible = False
            VacacionesMobpers.Visible = False
            pestVAAPBCBLpers.Visible = False
            imgGestDele.Visible = False
            selUsuIcon.Visible = False
            body.Attributes.Remove("class")
            body.Attributes.Add("class", "gestionPropia")
            intPicadaPersMob.Visible = False
            pestIntPicadaPers.Visible = False
            AnularPicadaPersMob.Visible = False
            pestAnuPicadaPers.Visible = False
            'If Session("persona").Personas(0).Dni = "44286377S" Then
            DatosAdmMen.Visible = True
            Div6Mov.Visible = True
            'End If
            pestControlTT.Visible = False
            cardControlTT.Visible = False
        ElseIf Session("modo") = "PERSONAL" Then
            If Session("persona").Personas(0).Roll = "SUPERVISORDETODO" Then
                estInciPicada.Visible = True
                estInciPicadaMob.Visible = True
                mobInciPersonal.Visible = True
                pestInciPers.Visible = True
            End If
            intPicadaMob.Visible = False
            pestIntPicada.Visible = False
            body.Attributes.Remove("class")
            body.Attributes.Add("class", "gestionPersonal")
            pestIntPicada.Visible = False
            CardComunicacionesMob.Visible = False
            CardDatosAdminMob.Visible = False
            'CardDatosPersMob.Visible = False
            CardRetribucionesMob.Visible = False
            CardSolicitudesMob.Visible = False
            'BolsaHorasMob.Visible = False
            VacacionesMob.Visible = False
            'pestBolsaHoras.Visible = False
            pestDatosPers.Visible = False
            pestIncidencias.Visible = False
            pestPermisos.Visible = False
            pestVAAPBCBL.Visible = False
            pestRetribuciones.Visible = False
            'hercPropia.Visible = False
            'pestlistPicadas.Visible = False
            'pestIntPicada.Visible = False
            'pestIntTeleTra.Visible = False
            'pestDatosAdmin.Visible = False
            'infPicadasMob.Visible = False
            'navbarDropdown_rama6.Visible = False

        Else
            'hercPerson.Visible = False
            body.Attributes.Remove("class")
            body.Attributes.Add("class", "gestionPropia")
        End If


    End Sub
    Function cargarGrupos()
        ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
        Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/GruposIncidenciasControlHorario"
        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.grupos) =
        deserializador3.Deserialize(Of List(Of Models.grupos))(respuesta3)
        Dim listaGruposInci = Datos.Where(Function(x) x.NumIncidencias <> 0).ToList
        Dim listaGruposSoli = Datos.Where(Function(x) x.NumSolicitudes <> 0).ToList
        Dim htmlSoli = ""
        Dim htmlInci = ""
        For Each grupo As grupos In listaGruposSoli
            If grupo.ayudaWeb IsNot Nothing Then
                htmlSoli += "<div style=""width:100%"" class=""tooltip2"" onmouseover=""mostrarTooltip(" + grupo.idGrupo.ToString + ")"" onmouseout=""ocultarTooltip(" + grupo.idGrupo.ToString + ")""><span class=""tooltipText"" id=""tooltip" + grupo.idGrupo.ToString + """>" + grupo.ayudaWeb + "</span><a class=""dropdown-item"" onclick=""redirigir()"" href=""/Menu.aspx?g=" + grupo.idGrupo.ToString + "&t=p"" role=""menuitem"">" + grupo.Descripcion + "</a></div>"
            Else
                htmlSoli += "<a class=""dropdown-item""  onclick=""redirigir()"" href=""/Menu.aspx?g=" + grupo.idGrupo.ToString + "&t=p"" role=""menuitem"">" + grupo.Descripcion + "</a>"
            End If
        Next
        For Each grupo As grupos In listaGruposInci
            If grupo.ayudaWeb IsNot Nothing Then
                htmlInci += "<div style=""width:100%"" class=""tooltip2"" onmouseover=""mostrarTooltip(" + grupo.idGrupo.ToString + ")"" onmouseout=""ocultarTooltip(" + grupo.idGrupo.ToString + ")""><span class=""tooltipText"" id=""tooltip" + grupo.idGrupo.ToString + """>" + grupo.ayudaWeb + "</span><a class=""dropdown-item"" onclick=""redirigir()"" href=""/Menu.aspx?g=" + grupo.idGrupo.ToString + "&t=i"" role=""menuitem"">" + grupo.Descripcion + "</a></div>"

            Else
                htmlInci += "<a class=""dropdown-item""  onclick=""redirigir()"" href=""/Menu.aspx?g=" + grupo.idGrupo.ToString + "&t=i"" role=""menuitem"">" + grupo.Descripcion + "</a>"

            End If
        Next
        menuSeccionVacacionesPermisos.InnerHtml = htmlSoli
        solicitudesMob.InnerHtml = htmlSoli
        menuSeccionIncidencias.InnerHtml = htmlInci
        comunicacionesMob.InnerHtml = htmlInci


        'cbGrupoInci.DataSource = listaGruposInci
        'cbGrupoInci.ValueField = "idGrupo"
        'cbGrupoInci.TextField = "Descripcion"
        'cbGrupoSoli.DataSource = listaGruposSoli
        'cbGrupoSoli.ValueField = "idGrupo"
        'cbGrupoSoli.TextField = "Descripcion"
        'cbGrupoSoli.DataBind()
        'cbGrupoInci.DataBind()
    End Function
    Protected Sub LoggedInMenuMenu_ItemClick(ByVal source As Object, ByVal e As DevExpress.Web.Bootstrap.BootstrapMenuItemEventArgs)
        If e.Item.Name = "Logout" Then

            Response.Redirect("~/Account/Login.aspx")
        End If
    End Sub

    Protected Sub linkLogo_ServerClick(sender As Object, e As EventArgs)
        If Session("persona").personas.count > 1 Then
            Response.Redirect("/selModo.aspx")
        Else
            Response.Redirect("/home.aspx")
        End If
    End Sub
End Class