Imports Extensiones
Imports System.Data
Partial Class Sistemas_PopUpAddUsuario
Inherits ClsPaginas
#Region "PROPIEDADES"
Public Property CveCliente As Integer
Get
Return ViewState("CveCliente").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveCliente") = value
End Set
End Property
Public Property CveProveedor As Integer
Get
Return ViewState("CveProveedor").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveProveedor") = value
End Set
End Property
Public Property CveUsuario As Integer
Get
Return ViewState("CveUsuario").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveUsuario") = value
End Set
End Property
Private Property DTModulos As DataTable
Get
Return CType(ViewState("DTModulos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTModulos") = value
End Set
End Property
Private Property DtNotificacionesUsuarios As DataTable
Get
Return CType(ViewState("DtNotificacionesUsuarios"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtNotificacionesUsuarios") = value
End Set
End Property
Public Property CvePlataforma As Integer
Get
Return ViewState("CvePlataforma").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CvePlataforma") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CType(Me.Master, BaseMasterPage).EsPopup = True
If Request("CveUsuario") IsNot Nothing AndAlso IsNumeric(Request("CveUsuario")) AndAlso Request("CveUsuario").ToEntero > 0 Then
ViewState("CveUsuario") = Request("CveUsuario").ToEntero
If CveUsuario > 0 Then
TxtEmail.Enabled = False
CargaUsuario()
End If
Else
CveUsuario = -1
LtlUsuario.Text = "Nuevo Usuario"
End If
If Request("CveCliente") IsNot Nothing AndAlso IsNumeric(Request("CveCliente")) AndAlso Request("CveCliente").ToEntero > 0 Then
ViewState("CveCliente") = Request("CveCliente").ToEntero
'CargaDispositivos()
'CargarNotificaciones()
Else
CveCliente = -1
End If
If Request("CveProveedor") IsNot Nothing AndAlso IsNumeric(Request("CveProveedor")) AndAlso Request("CveProveedor").ToEntero > 0 Then
ViewState("CveProveedor") = Request("CveProveedor").ToEntero
'CargaDispositivos()
'CargarNotificaciones()
Else
CveProveedor = -1
End If
If UsuarioActual.Empresa.CvePlataforma = 3 AndAlso (ViewState("CveProveedor") > 0 Or ViewState("CveCliente") > 0) Then
CargaDispositivos()
CargarNotificaciones()
TabApp.Visible = True
CargaGridModulosAccesoApp()
End If
If UsuarioActual.Empresa.CvePlataforma = 1 AndAlso (ViewState("CveProveedor") > 0 OrElse ViewState("CveCliente") > 0) Then
TabVehiculos.Visible = False
TabPermisoVehiculos.Visible = False
TabNotificaciones.Visible = False
TabPermisoComandos.Visible = False
If CveUsuario > 0 Then
DivEstatus.Visible = True
Else
DivEstatus.Visible = False
End If
Else
DivEstatus.Visible = False
CargaComandos()
End If
'INICIALIZA CVEPLATAFORMA
If UsuarioActual.Empresa.CvePlataforma = 1 And ViewState("CveCliente") > 0 Then
ViewState("CvePlataforma") = 6
ElseIf UsuarioActual.Empresa.CvePlataforma = 1 And ViewState("CveProveedor") > 0 Then
ViewState("CvePlataforma") = 7
Else
ViewState("CvePlataforma") = 3
End If
CargaModulosAcceso()
CargaModulosPermisos()
End If
End Sub
Public Sub CargaUsuario()
If CveUsuario > 0 Then
Dim ObjUsuario As New ClsSisUsuarios()
If ObjUsuario.GetUsuarios(CveUsuario) Then
LtlUsuario.Text = ObjUsuario.DtResultados.Rows(0)("Usuario").ToString()
TxtEmail.Text = ObjUsuario.DtResultados.Rows(0)("Correo").ToString()
TxtNombre.Text = ObjUsuario.DtResultados.Rows(0)("Nombre").ToString()
ChkEstatus.Checked = ObjUsuario.DtResultados.Rows(0)("Estatus")
If ObjUsuario.DtResultados.Rows(0)("CveRol").ToString.ToEntero = 1200 OrElse ObjUsuario.DtResultados.Rows(0)("CveRol").ToString.ToEntero = 1198 Then
BtnDefaultPWD.Visible = True
End If
Dim Dt As Data.DataTable = GlobalDTUsuarios(CveUsuario)
Dim empresas As New StringBuilder()
If Dt.FiltraParametros("CvePlataforma = 3").Rows.Count > 0 Then
empresas.Append($"
")
SBBody.Append("
")
SBBody.Append("
")
SBBody.Append("ALTA DE CUENTA")
SBBody.Append("
")
SBBody.Append("
")
SBBody.AppendFormat("
Estimado {0}:", TxtNombre.Text.ToUpper)
SBBody.AppendFormat("El presente correo es para informarle que se le han asignado los siguientes datos para el acceso a la Plataforma de:
{0}", UsuarioActual.Empresa.Empresa)
SBBody.Append("
")
SBBody.Append("
Datos de usuario
")
SBBody.Append("
")
SBBody.Append("
")
SBBody.Append("
")
SBBody.Append("
Usuario
")
SBBody.AppendFormat("
{0}
", TxtEmail.Text)
SBBody.Append("
")
SBBody.Append("
")
SBBody.Append("
Accesé al sistema dando click a la liga y estableciendo su contraseña
")
SBBody.AppendFormat("
", LigaActivar)
SBBody.Append("
")
SBBody.Append("
")
SBBody.Append("
")
SBBody.Append("
")
SBBody.Append("Para Activar su cuenta debera cambiar su contraseña.
")
SBBody.Append("
")
SBBody.Append("Nota Favor de NO responder este correo. ")
SBBody.Append("
")
SBBody.AppendFormat("

ADSistemas
", UrlSitio)
SBBody.Append("
")
SBBody.Append("
")
'Termino Cuerpo del correo
Dim Hilo As New System.Threading.Thread(Sub() MandaCorreo(Asunto, Para, SBBody.ToString))
Hilo.Start()
'Dim JSBTN As String = ""
'If UsuarioActual.CveCliente > 0 Then
' JSBTN = $"document.location.href=""javascript:Ir2({CveCliente})"";"
'ElseIf CveCliente > 0 Then
' JSBTN = $"document.location.href=""javascript:Ir({CveCliente})"";"
'End If
'If UsuarioActual.Empresa.CvePlataforma = 3 Then
' Alert("El correo se ha enviado correctamente a: " + TxtEmail.Text + ".", TipoMensaje.MsgInformacion, JSBTN)
'End If
Retorno = $"El correo se ha enviado correctamente a:
{TxtEmail.Text}."
Catch ex As Exception
OnError("Ocurrió error al mandar MAIL", ex)
End Try
Return Retorno
End Function
Private Sub MandaCorreo(Asunto As String, Para As String, Body As String)
Dim a As String = String.Format("{0} -- {1} ---- -->", Asunto, Para)
a.GuardaLog()
Dim Mail As New ClsSisMail()
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body)
End Sub
#End Region
#Region "M O D U L O S"
Public Sub CargaModulosAcceso()
Dim ObjPermisos As New ClsSisUsuarios
If ObjPermisos.GetUsuariosModulos(CveUsuario, UsuarioActual.CveEmpresa, If(False, UsuarioActual.CveUsuario, -1)) Then
If UsuarioActual.Empresa.CvePlataforma = 1 AndAlso CveCliente > 0 Then
DTModulos = ObjPermisos.DtResultados.FiltraParametros("Liga <> '' AND CvePlataforma = 6")
ElseIf UsuarioActual.Empresa.CvePlataforma = 1 AndAlso CveProveedor > 0 Then
DTModulos = ObjPermisos.DtResultados.FiltraParametros("Liga <> '' AND CvePlataforma = 7")
Else
DTModulos = ObjPermisos.DtResultados.FiltraParametros($"Liga <> '' AND CvePlataforma = {UsuarioActual.Empresa.CvePlataforma}")
End If
Else
DTModulos = Nothing
End If
ObjPermisos.Dispose()
CargaGridModulosAcceso()
End Sub
Private Sub CargaGridModulosAcceso()
GvModulosAcceso.DataSource = DTModulos
GvModulosAcceso.DataBind()
If (GvModulosAcceso.Rows.Count > 0) Then
GvModulosAcceso.UseAccessibleHeader = True
GvModulosAcceso.HeaderRow.TableSection = TableRowSection.TableHeader
End If
UpDatos.Update()
End Sub
Private Sub CargaGridModulosAccesoApp()
Dim ObjPermisos As New ClsSisUsuarios
If ObjPermisos.GetUsuariosModulos(CveUsuario, UsuarioActual.CveEmpresa, If(False, UsuarioActual.CveUsuario, -1)) Then
If UsuarioActual.CveRol = 1 Then
GvModulosApp.DataSource = ObjPermisos.DtResultados.FiltraParametros($"CvePlataforma = 5")
Else
GvModulosApp.DataSource = ObjPermisos.DtResultados.FiltraParametros($"CvePlataforma = 5 AND CveModulo <> 5010")
End If
End If
ObjPermisos.Dispose()
GvModulosApp.DataBind()
If (GvModulosApp.Rows.Count > 0) Then
GvModulosApp.UseAccessibleHeader = True
GvModulosApp.HeaderRow.TableSection = TableRowSection.TableHeader
End If
UpDatos.Update()
End Sub
Protected Sub GvModulosAcceso_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvModulosAcceso.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If (e.Row.DBCampo("Permitir")) = "0" Then
e.Row.FCCheckBox("ChkDenegar").Checked = True
End If
If (e.Row.DBCampo("CveModuloAcceso")) <> "" Then
e.Row.FCCheckBox("ChkDenegar").Enabled = True
e.Row.Cells(3).CssClass = "bg-yellow"
Else
e.Row.FCCheckBox("ChkPermitir").Enabled = True
If e.Row.DBCampo("Permitir") = "1" Then e.Row.FCCheckBox("ChkPermitir").Checked = True
End If
End If
End Sub
Protected Sub GvModulosApp_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvModulosApp.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If (e.Row.DBCampo("Permitir")) = "0" Then
e.Row.FCCheckBox("ChkDenegar").Checked = True
End If
If (e.Row.DBCampo("CveModuloAcceso")) <> "" Then
e.Row.FCCheckBox("ChkDenegar").Enabled = True
e.Row.Cells(3).CssClass = "bg-yellow"
Else
e.Row.FCCheckBox("ChkPermitir").Enabled = True
If e.Row.DBCampo("Permitir") = "1" Then e.Row.FCCheckBox("ChkPermitir").Checked = True
End If
End If
End Sub
Public Sub CargaModulosPermisos()
Dim ObjProcesos As New ClsSisUsuarios
If ObjProcesos.GetUsuariosProcesos(CveUsuario, If(False, UsuarioActual.CveUsuario, -1)) Then
If UsuarioActual.Empresa.CvePlataforma = 1 And CveCliente > 0 Then
GvModulosPermiso.DataSource = ObjProcesos.DtResultados.FiltraParametros($"CvePlataforma = 6")
ElseIf UsuarioActual.Empresa.CvePlataforma = 1 And CveProveedor > 0 Then
GvModulosPermiso.DataSource = ObjProcesos.DtResultados.FiltraParametros($"CvePlataforma = 7")
BtnDefaultPWD.Visible = True
ElseIf UsuarioActual.Empresa.CvePlataforma = 3 Then
GvModulosPermiso.DataSource = ObjProcesos.DtResultados.FiltraParametros("CveModulo = 433")
End If
Else
GvModulosPermiso.DataSource = Nothing
End If
ObjProcesos.Dispose()
GvModulosPermiso.DataBind()
UpDatos.Update()
End Sub
Protected Sub GvModulosPermiso_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvModulosPermiso.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
'cuando el Módulo es heredado del rol
If (e.Row.DBCampo("CveModuloAcceso")) <> "" Then
e.Row.Cells(0).CssClass = "bg-yellow"
' = "bg-font-yellow" '.BackColor = Color.Gold
End If
'cuando el Módulo es heredado del Rol
If (e.Row.DBCampo("CveModuloUsuarioAcceso")) <> "" Then
e.Row.Cells(0).CssClass = "bg-purple-plum"
End If
'cuando el Proceso es heredado del Rol
If (e.Row.DBCampo("CveProcesoAcceso")) <> "" Then
e.Row.FCCheckBox("ChkD").Enabled = True
e.Row.Cells(3).CssClass = "bg-yellow"
Else
e.Row.FCCheckBox("ChkP").Enabled = True
If e.Row.DBCampo("Permitir") = "1" Then e.Row.FCCheckBox("ChkP").Checked = True
End If
If (e.Row.DBCampo("Permitir")) = "0" Then
e.Row.FCCheckBox("ChkD").Checked = True
End If
End If
End Sub
Protected Sub GvPermisosComandos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvPermisosComandos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim Permitir As Integer = e.Row.DBCampo("Permitir").ToEntero
Dim EsFavorito As Boolean = CBool(e.Row.DBCampo("EsFavorito"))
e.Row.FCCheckBox("ChkFavorito").Checked = EsFavorito
If Permitir = 0 Then
e.Row.FCCheckBox("ChkP").Checked = False
End If
If Permitir = 1 Then
e.Row.FCCheckBox("ChkP").Checked = True
End If
End If
End Sub
#End Region
#Region "V E H I C U L O S"
Private Sub CargaDispositivos()
GvDispositivos.DataSource = GlobalDTDispositivos(CveCliente).FiltraParametros("Estatus = 1 ")
GvDispositivos.DataBind()
End Sub
Protected Sub GvDispositivos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDispositivos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If CveUsuario > 0 Then
If GlobalDTDispositivosUsuarios(CveCliente).FiltroPrimeroValor("Permitir", $"CveUsuario = {CveUsuario} AND CveDispositivo = {e.Row.DBCampo("CveDispositivo")} ").ToString = "True" Then
e.Row.FCCheckBox("chkDis").Checked = True
End If
End If
End If
End Sub
#End Region
#Region "N O T I F I C A C I O N E S"
Private Sub CargarNotificaciones()
Dim ObjNotificaciones As New ClsSisNotificaciones
If ObjNotificaciones.GetNotificaciones(-1) Then
DtNotificacionesUsuarios = ObjNotificaciones.DtResultados.FiltraParametros($"CveUsuario = {CveUsuario} ")
GVNotificaciones.DataSource = ObjNotificaciones.DtResultados.FiltraParametros("1 = 1", "CveNotificacion", {"CveNotificacion", "Nombre"})
End If
ObjNotificaciones.Dispose()
GVNotificaciones.DataBind()
End Sub
Protected Sub GvNotificaciones_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GVNotificaciones.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If DtNotificacionesUsuarios.Rows.Count > 0 Then
e.Row.FCCheckBox("chkCampana").Checked = If(DtNotificacionesUsuarios.FiltroPrimeroValor("Alerta_Campana", $"CveNotificacion = {e.Row.DBCampo("CveNotificacion").ToString}").ToString = "True", True, False)
e.Row.FCCheckBox("chkCorreo").Checked = If(DtNotificacionesUsuarios.FiltroPrimeroValor("Alerta_Correo", $"CveNotificacion = {e.Row.DBCampo("CveNotificacion")}").ToString = "True", True, False)
e.Row.FCCheckBox("chkVentana").Checked = If(DtNotificacionesUsuarios.FiltroPrimeroValor("Alerta_Ventana", $"CveNotificacion = {e.Row.DBCampo("CveNotificacion")}").ToString = "True", True, False)
e.Row.FCCheckBox("chkSMS").Checked = If(DtNotificacionesUsuarios.FiltroPrimeroValor("Alerta_SMS", $"CveNotificacion = {e.Row.DBCampo("CveNotificacion")}").ToString = "True", True, False)
e.Row.FCCheckBox("chkApp").Checked = If(DtNotificacionesUsuarios.FiltroPrimeroValor("Alerta_App", $"CveNotificacion = {e.Row.DBCampo("CveNotificacion")}").ToString = "True", True, False)
End If
End If
End Sub
#End Region
Protected Sub BtnCambiarUsuario_Click(sender As Object, e As EventArgs)
CveUsuario = -1
Dim usuario As String = TxtEmail.Text
Dim objs As New ClsSisUsuarios
objs.GetWSusuarios(usuario)
If objs.DtResultados.Rows.Count > 0 Then
CveUsuario = objs.DtResultados.Rows(0)("CveUsuario").ToString().ToEntero()
End If
objs.Dispose()
If CveUsuario > -1 Then
CargaUsuario()
Else
LtlUsuario.Text = ""
TxtEmail.Text = ""
TxtNombre.Text = ""
LtlEmpresas.Text = ""
BtnDefaultPWD.Visible = False
UpUsuario.Update()
End If
If CveCliente > 0 Then
CargaDispositivos()
CargarNotificaciones()
End If
CargaModulosAcceso()
CargaModulosPermisos()
CargaComandos()
UpDatos.Update()
End Sub
End Class