Option Explicit On Option Strict On Imports Extensiones Imports System.Data Partial Class Sistemas_EmpresasModulos Inherits ClsPaginas #Region "P R O P I E D A D E S" Public Property CveEmpresa As Integer Get Return ViewState("DtUsuarios").ToString.ToEntero End Get Set(value As Integer) ViewState("DtUsuarios") = value End Set End Property Public Property DtModulosEmpresa As DataTable Get Return CType(ViewState("DtModulosEmpresa"), DataTable) End Get Set(value As DataTable) ViewState("DtModulosEmpresa") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then CargarEmpresa() End If End Sub #Region "CARGA DATOS - CONSULTAR" Protected Sub consultar_Click(sender As Object, e As EventArgs) CveEmpresa = DdlEmpresa.SelectedValue.ToString.ToEntero CargaDatos() End Sub Private Sub CargaDatos() CargaModulosEmpresa() CargaModulosDisponible() UpDatos.Update() End Sub Private 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 Private Sub CargaModulosEmpresa() Dim ObjEmpresas As New ClsSisEmpresas If ObjEmpresas.GetEmpresasModulos(CveEmpresa) Then DtModulosEmpresa = ObjEmpresas.DtResultados Else DtModulosEmpresa = Nothing End If ObjEmpresas.Dispose() ListModulosEmpresa.DataSource = DtModulosEmpresa.FiltraParametros("", "Modulo") ListModulosEmpresa.DataBind() End Sub Private Sub CargaModulosDisponible() Dim DtModulosDisponible = GlobalDTModulos.FiltraParametros("Liga <> ''") Dim rowsToDelete = From r1 In DtModulosDisponible.AsEnumerable() Join r2 In DtModulosEmpresa.AsEnumerable() On r1.Field(Of Integer)("CveModulo") Equals r2.Field(Of Integer)("CveModulo") Select r1 For i = 0 To rowsToDelete.Count - 1 DtModulosDisponible.Rows.Remove(rowsToDelete(0)) Next ListModulosDisponible.DataSource = DtModulosDisponible.FiltraParametros("", "Modulo") ListModulosDisponible.DataBind() End Sub #End Region #Region "GUARAR - AÑADIR" Protected Sub BtnAddTodos_Click(sender As Object, e As EventArgs) Dim ObjEmpresas As New ClsSisEmpresas ObjEmpresas.IniciaTransacSQL() Dim TieneError = False For i = 0 To ListModulosDisponible.Items.Count - 1 If Not ObjEmpresas.AddEmpresasModulos(CveEmpresa, ListModulosDisponible.Items(i).Value.ToEntero) Then TieneError = True Exit For End If Next If Not TieneError Then Alert("Los módulos se agregaron correctamente.", TipoMensaje.MsgInformacion) ObjEmpresas.Commit() Else Alert("Ocurrió un error al agregar los módulos. Por favor vuelva a intentar.", TipoMensaje.MsgError) ObjEmpresas.RollBack() End If ObjEmpresas.Dispose() CargaDatos() End Sub Protected Sub BtnAdd_Click(sender As Object, e As EventArgs) Dim ObjEmpresas As New ClsSisEmpresas ObjEmpresas.IniciaTransacSQL() Dim TieneError = False For i = 0 To ListModulosDisponible.Items.Count - 1 If ListModulosDisponible.Items(i).Selected Then If Not ObjEmpresas.AddEmpresasModulos(CveEmpresa, ListModulosDisponible.Items(i).Value.ToEntero) Then TieneError = True Exit For End If End If Next If Not TieneError Then Alert("Los módulos se agregaron correctamente.", TipoMensaje.MsgInformacion) ObjEmpresas.Commit() Else Alert("Ocurrió un error al agregar los módulos. Por favor vuelva a intentar.", TipoMensaje.MsgError) ObjEmpresas.RollBack() End If ObjEmpresas.Dispose() CargaDatos() End Sub #End Region #Region "REMOVE - QUITAR" Protected Sub BtnRemove_Click(sender As Object, e As EventArgs) Dim ObjEmpresas As New ClsSisEmpresas ObjEmpresas.IniciaTransacSQL() Dim TieneError = False For i = 0 To ListModulosEmpresa.Items.Count - 1 If ListModulosEmpresa.Items(i).Selected Then If Not ObjEmpresas.RemoveEmpresasModulos(CveEmpresa, ListModulosEmpresa.Items(i).Value.ToEntero) Then TieneError = True Exit For End If End If Next If Not TieneError Then Alert("Los módulos se eliminaron correctamente.", TipoMensaje.MsgInformacion) ObjEmpresas.Commit() Else Alert("Ocurrió un error al eliminar los módulos. Por favor vuelva a intentar.", TipoMensaje.MsgError) ObjEmpresas.RollBack() End If ObjEmpresas.Dispose() CargaDatos() End Sub Protected Sub BtnRemoveTodos_Click(sender As Object, e As EventArgs) Dim ObjEmpresas As New ClsSisEmpresas ObjEmpresas.IniciaTransacSQL() Dim TieneError = False For i = 0 To ListModulosEmpresa.Items.Count - 1 If Not ObjEmpresas.RemoveEmpresasModulos(CveEmpresa, ListModulosEmpresa.Items(i).Value.ToEntero) Then TieneError = True Exit For End If Next If Not TieneError Then Alert("Los módulos se eliminaron correctamente.", TipoMensaje.MsgInformacion) ObjEmpresas.Commit() Else Alert("Ocurrió un error al eliminar los módulos. Por favor vuelva a intentar.", TipoMensaje.MsgError) ObjEmpresas.RollBack() End If ObjEmpresas.Dispose() CargaDatos() End Sub #End Region End Class