Files
SIG/Sistemas/Usuarios.aspx.vb

181 lines
5.5 KiB
VB.net

Imports System.Data
Imports System.Drawing
Imports Extensiones
Partial Class Sistemas_Usuarios
Inherits ClsPaginas
Public ReadOnly Property CurrentUsuario() As Integer
Get
Return HdnCveUsuario.Value.ToEntero
End Get
End Property
Public Property DtUsuarios As DataTable
Get
Return CType(ViewState("DtUsuarios"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtUsuarios") = value
End Set
End Property
#Region "Permisos"
Private Property PermisoEditar As Boolean
Get
Return CType(ViewState("PermisoEditar"), Boolean)
End Get
Set(value As Boolean)
ViewState("PermisoEditar") = value
End Set
End Property
Private Property PermisoModulos As Boolean
Get
Return CType(ViewState("PermisoModulos"), Boolean)
End Get
Set(value As Boolean)
ViewState("PermisoModulos") = value
End Set
End Property
Private Property PermisoProcesos As Boolean
Get
Return CType(ViewState("PermisoProcesos"), Boolean)
End Get
Set(value As Boolean)
ViewState("PermisoProcesos") = value
End Set
End Property
Private Property PermisoRestablecerContraseña As Boolean
Get
Return CType(ViewState("PermisoProcesos"), Boolean)
End Get
Set(value As Boolean)
ViewState("PermisoProcesos") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
ViewState("Orden") = ""
ViewState("CveRol") = -1
CargarEmpresa()
CargaDatos()
End If
End Sub
Public Sub CargaDatos()
Dim Usuario As New ClsSisUsuarios
If Usuario.GetUsuarios(-1, -1, Estatus:=DdlEsatus.SelectedValue.ToEntero) Then
If UsuarioActual.CveRol <> 1 Then
DtUsuarios = Usuario.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0} AND CveRol <> 1", DdlEmpresa.SelectedValue))
'DtUsuarios = Usuario.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
Else
DtUsuarios = Usuario.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", DdlEmpresa.SelectedValue))
End If
Else
GvDatos.DataSource = Nothing
End If
Usuario.Dispose()
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
Protected Sub consultar_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
Protected Sub GvDatos_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GvDatos.RowCommand
HdnCveUsuario.Value = e.CommandArgument.ToString
End Sub
Private Sub CargarEmpresa()
Dim ClsUsuarios As New ClsSisUsuarios
Dim DtEmpresas As DataTable
'Se cargan las empresas que tenga acceso el Usuario Actual, que son las que el puede dar acceso o no.
' Si el usuario es rol = 1 se cargan todas las empresas
Dim Tipo = If(UsuarioActual.CveRol = 1, -1, UsuarioActual.CveUsuario)
If ClsUsuarios.GetEmpresasAcceso(Tipo, -1) Then
DtEmpresas = ClsUsuarios.DtResultados
Else
DtEmpresas = Nothing
End If
ClsUsuarios.Dispose()
DdlEmpresa.DataSource = DtEmpresas
DdlEmpresa.SelectedValue = UsuarioActual.CveEmpresa.ToString
DdlEmpresa.DataBind()
End Sub
'Public Sub CargarEmpresa()
' If UsuarioActual.CveRol <> 1 Then
' DdlEmpresa.DataSource = GlobalDTEmpresas
' DdlEmpresa.Enabled = False
' Else
' DdlEmpresa.DataSource = GlobalDTEmpresas
' End If
' DdlEmpresa.SelectedValue = UsuarioActual.CveEmpresa.ToString
' DdlEmpresa.DataBind()
'End Sub
Protected Sub LBAdd_Click(sender As Object, e As EventArgs)
HdnCveUsuario.Value = "-1"
End Sub
#Region "O R D E N A M I E N T O"
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Orden As String = ""
Dim Campo As String = ""
Dim Literal As Literal = Nothing
Const OrdenInicial As String = ""
Dim Arg(2) As String
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
Campo = Arg(0)
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal)
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
Else
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
End If
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
ViewState("Orden") = Orden
CargaGrid(Orden)
End Sub
Private Sub CargaGrid(ByVal Orden As String)
If Orden <> String.Empty Then
Dim DV As New DataView(DtUsuarios, "", Orden, DataViewRowState.CurrentRows)
GvDatos.DataSource = DV.ToTable()
DV.Dispose()
Else
GvDatos.DataSource = DtUsuarios
End If
GvDatos.DataBind()
UpDatos.Update()
End Sub
#End Region
End Class