Files
SIG/Sistemas/UsuarioDetalle.aspx.vb
2024-08-29 08:10:57 -07:00

5017 lines
234 KiB
VB.net

Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Sistemas_UsuarioDetalle
Inherits ClsPaginas
#Region "P R O P I E D A D E S"
Private Property DTEstatusSubProyectos As DataTable
Get
Return CType(ViewState("DTEstatusSubProyectos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTEstatusSubProyectos") = value
End Set
End Property
Private Property DTRequisiciones As DataTable
Get
Return CType(ViewState("DTRequisiciones"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTRequisiciones") = value
End Set
End Property
Private Property CveUsuario As Integer
Get
Return ViewState("CveUsuario").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveUsuario") = value
End Set
End Property
Private ReadOnly Property CveRol As Integer
Get
Return ViewState("CveRol").ToString.ToEntero
End Get
End Property
Private ReadOnly Property ImgConsecutivo As String
Get
Return ViewState("ImgConsecutivo").ToString
End Get
End Property
Private ReadOnly Property CveEmpresa As Integer
Get
Return ViewState("CveEmpresa").ToString.ToEntero
End Get
End Property
Private ReadOnly Property CveAlmacenAsignado As Integer
Get
Return If(ViewState("CveAlmacenAsignado") IsNot Nothing, ViewState("CveAlmacenAsignado").ToString.ToEntero, -1)
End Get
End Property
Private ReadOnly Property CveVendedorAsignado As Integer
Get
Return If(ViewState("CveVendedorAsignado") IsNot Nothing, ViewState("CveVendedorAsignado").ToString.ToEntero, -1)
End Get
End Property
Private ReadOnly Property CvePersonalAsignado As Integer
Get
Return If(ViewState("CvePersonalAsignado") IsNot Nothing, ViewState("CvePersonalAsignado").ToString.ToEntero, -1)
End Get
End Property
Private ReadOnly Property CveTipoDocumentoAsignado As String
Get
Return If(ViewState("CveTipoDocumentoAsignado") IsNot Nothing, ViewState("CveTipoDocumentoAsignado").ToString, "-1")
End Get
End Property
Private Property CveSubProyecto As Integer
Get
If ViewState("CveSubProyecto") Is Nothing Then
Return -1
Else
Return ViewState("CveSubProyecto").ToString.ToEntero
End If
End Get
Set(value As Integer)
ViewState("CveSubProyecto") = value
End Set
End Property
Private ReadOnly Property Password As String
Get
Return ViewState("Password").ToString
End Get
End Property
Private ReadOnly Property CodigoAcceso As String
Get
Return ViewState("CodigoAcceso").ToString
End Get
End Property
Private Property DtClasificaciones As DataTable
Get
Return CType(ViewState("DtClasificaciones"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtClasificaciones") = value
End Set
End Property
Private Property DtSubProyectos As DataTable
Get
Return CType(ViewState("DtSubProyectos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtSubProyectos") = value
End Set
End Property
Private Property DtSubProyectos3 As DataTable
Get
Return CType(ViewState("DtSubProyectos3"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtSubProyectos3") = value
End Set
End Property
Private Property DtSubProyectosOC As DataTable
Get
Return CType(ViewState("DtSubProyectosOC"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtSubProyectosOC") = value
End Set
End Property
Private Property DtUsuariosIndicadores As DataTable
Get
Return CType(ViewState("DtUsuariosIndicadores"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtUsuariosIndicadores") = value
End Set
End Property
Private Property DtAlmacenes As DataTable
Get
Return CType(ViewState("DtAlmacenes"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtAlmacenes") = value
End Set
End Property
Private Property DtCuentasBancarias As DataTable
Get
Return CType(ViewState("DtCuentasBancarias"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtCuentasBancarias") = value
End Set
End Property
Private Property DtRestricciones As DataTable
Get
Return CType(ViewState("DtRestricciones"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtRestricciones") = value
End Set
End Property
Private Property CveRestriccion As Integer
Get
Return ViewState("CveRestriccion").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveRestriccion") = value
End Set
End Property
Private Property AccionRestriccion As Integer
Get
Return ViewState("AccionRestriccion").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("AccionRestriccion") = value
End Set
End Property
Private Property DtEmpresas As DataTable
Get
Return CType(ViewState("DtEmpresas"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtEmpresas") = 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 DtEmpresasUsuario As DataTable
Get
Return CType(ViewState("DtEmpresasUsuario"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtEmpresasUsuario") = value
End Set
End Property
Private Property DTEstatusUsuarioOS As DataTable
Get
Return CType(ViewState("DTEstatusUsuarioOS"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTEstatusUsuarioOS") = value
End Set
End Property
Private Property DTEstatusOS As DataTable
Get
Return CType(ViewState("DTEstatusOS"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTEstatusOS") = value
End Set
End Property
Private Property DTEstatusOC As DataTable
Get
Return CType(ViewState("DTEstatusOC"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTEstatusOC") = value
End Set
End Property
Private Property DTEstatusOCAsignar As DataTable
Get
Return CType(ViewState("DTEstatusOCAsignar"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTEstatusOCAsignar") = value
End Set
End Property
Private Property CveEstatusUsuarioOC As Integer
Get
Return ViewState("CveEstatusUsuarioOC").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveEstatusUsuarioOC") = value
End Set
End Property
Private Property DtAlmacenesAsignar As DataTable
Get
Return CType(ViewState("DtAlmacenesAsignar"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtAlmacenesAsignar") = value
End Set
End Property
Private Property DtSubProyectosAsignar As DataTable
Get
Return CType(ViewState("DtSubProyectosAsignar"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtSubProyectosAsignar") = value
End Set
End Property
Private Property DtCuentasBancariasAsignar As DataTable
Get
Return CType(ViewState("DtCuentasBancariasAsignar"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtCuentasBancariasAsignar") = value
End Set
End Property
Private Property DTModulosAsignar As DataTable
Get
Return CType(ViewState("DTModulosAsignar"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTModulosAsignar") = value
End Set
End Property
Private Property DTPermisosAsignar As DataTable
Get
Return CType(ViewState("DTPermisosAsignar"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTPermisosAsignar") = value
End Set
End Property
Private Property DTIndicadoresAsignar As DataTable
Get
Return CType(ViewState("DTIndicadoresAsignar"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTIndicadoresAsignar") = value
End Set
End Property
Private Property DTEmpresasAsignar As DataTable
Get
Return CType(ViewState("DTEmpresasAsignar"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTEmpresasAsignar") = value
End Set
End Property
Private Property DTRolesAsignar As DataTable
Get
Return CType(ViewState("DTRolesAsignar"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTRolesAsignar") = value
End Set
End Property
Private Property UsuarioControlado As Boolean
Get
Return CBool(ViewState("UsuarioControlado").ToString)
End Get
Set(value As Boolean)
ViewState("UsuarioControlado") = value
End Set
End Property
Private Property DtAlmacenesControlado As DataTable
Get
Return CType(ViewState("DtAlmacenesControlado"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtAlmacenesControlado") = value
End Set
End Property
Private Property DtSubProyectosControlado As DataTable
Get
Return CType(ViewState("DtSubProyectosControlado"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtSubProyectosControlado") = value
End Set
End Property
Private Property DtCuentasBancariasControlado As DataTable
Get
Return CType(ViewState("DtCuentasBancariasControlado"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtCuentasBancariasControlado") = value
End Set
End Property
Private Property DTModulosControlado As DataTable
Get
Return CType(ViewState("DTModulosControlado"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTModulosControlado") = value
End Set
End Property
Private Property DTPermisosControlado As DataTable
Get
Return CType(ViewState("DTPermisosControlado"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTPermisosControlado") = value
End Set
End Property
Private Property DTRolesControlado As DataTable
Get
Return CType(ViewState("DTRolesControlado"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTRolesControlado") = value
End Set
End Property
Private Property DtSubProyectos2 As DataTable
Get
Return If(IsNothing(ViewState("DtSubProyectos")), Nothing, CType(ViewState("DtSubProyectos"), DataTable))
End Get
Set(value As DataTable)
ViewState("DtSubProyectos") = value
End Set
End Property
Private Property DtAsignacionesMultiEmpresa As DataTable
Get
Return If(IsNothing(ViewState("DtAsignacionesMultiEmpresa")), Nothing, CType(ViewState("DtAsignacionesMultiEmpresa"), DataTable))
End Get
Set(value As DataTable)
ViewState("DtAsignacionesMultiEmpresa") = value
End Set
End Property
Private Property DTOCEstatus As DataTable
Get
Return CType(ViewState("DTOCEstatus"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTOCEstatus") = value
End Set
End Property
'Private Property CveSucursal As Integer
' Get
' If ViewState("CveSucursal") Is Nothing Then
' Return -1
' Else
' Return ViewState("CveSucursal").ToString.ToEntero
' End If
' End Get
' Set(value As Integer)
' ViewState("CveSucursal") = value
' End Set
'End Property
Private Property CveEmpresaAnterior As Integer
Get
If ViewState("CveEmpresaAnterior") Is Nothing Then
Return -1
Else
Return ViewState("CveEmpresaAnterior").ToString.ToEntero
End If
End Get
Set(value As Integer)
ViewState("CveEmpresaAnterior") = 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
ViewState("Orden") = ""
ViewState("CveEmpresa") = "-1"
'ViewState("CveSucursal") = ""
If Page.PreviousPage Is Nothing Then
'redireccionar a la de usuarios
PnlGeneral.Visible = False
Exit Sub
End If
TxtFechaIBitacora.Text = NowADS().AddMonths(-1).ToString("dd/MM/yyyy")
TxtFechaFBitacora.Text = NowADS().ToString("dd/MM/yyyy")
ViewState("CveUsuario") = PreviousPage.CurrentUsuario
ViewState("CveRol") = -1
If UsuarioActual.TipoControl > 0 Then
UsuarioControlado = True
InicializaUsuarioControlado()
Else
UsuarioControlado = False
End If
If CveUsuario.ToEntero >= 0 Then
'Configuración de Modalidad Update
BtnGuardar.Text = "Guardar Cambios"
LtlTitulo.Text = "Consulta del Usuario:"
LnkRenviaCorreo.Visible = True
Else
'Configuración de Modalidad Insert
LblFechaCaptura.Text = NowADS().ToShortDateString()
LblUsuarioCapturo.Text = UsuarioActual.Usuario
TrContraseña.Visible = False
LnkRestablecer.Visible = False
'ViewState("CveUsuario") = -1
BtnEliminar.Visible = False
End If
If UsuarioActual.CveRol = 1 Or UsuarioActual.CveUsuario = 304 Then
LnkVerPass.Visible = True
Else
' TabAccesoModulos.Visible = False
' TabPermisoModulos.Visible = False
' TabAccesoEmpresas.Visible = False
TabAsignar.Visible = False
End If
If UsuarioActual.Empresa.Funcionalidad(531).ToString = "1" OrElse UsuarioActual.Empresa.Funcionalidad(382).ToString = "1" Then
TrDescuentoAutorizado.Visible = True
TrLimiteAutorizacion.Visible = True
DivDatosAutorizacion.Visible = True
End If
If UsuarioActual.Empresa.Funcionalidad(109).ToString = "1" Then
TrDescuentoAutorizado.Visible = True
End If
If UsuarioActual.Empresa.Funcionalidad(599) = "1" Then
TrCodigoAcceso.Visible = True
End If
CargaDatos()
InicializaClonarUsuario()
InicializaRestricciones()
CargaGvBitacora()
CargaEmpresasAsignaciones()
CreaDtAsignacionesMultiEmpresa()
CveEmpresaAnterior = DdlEmpresaAsignaciones.SelectedValue.ToEntero
DTOCEstatus = GlobalDTOCEstatus(UsuarioActual.CveEmpresa)
End If
End Sub
'DOCUMENTACION
'LOS CAMPOS DE DATATABLE "ACCION" SE REFIERE AL ESTATUS DE LOS CAMBIOS QUE OCURRIERON ANTES DE DARLE GUARDAR
' 0/NULL/VACIO = ORIGINAL (SIN CAMBIO)
' 1 = AGREGADO
' 2 = ELIMINADO
' 3 = NADA (AGREGADO Y ELIMINADO): CUANDO AGREGA UN REGISTRO Y LO ELIMINA, ES DECIR, NO SE GUARDA NADA
' 4 = UPDATE
#Region " C A R G A R - D A T O S "
Private Sub CargaDatos()
CargarEmpresa()
CargaEmpresasAcceso()
CargaDtEstatusOCPermisos()
If CveUsuario.ToEntero >= 0 Then
CargaDatosUsuario()
CargaDatosAsignadosAUsuario()
Else
CargaPersonal()
CargaVendedor()
End If
CargaModulosAcceso()
CargaModulosPermisos()
CargaEmpresas()
CargaProyectos()
CargarAlmacen()
CargaClasificaciones()
CargaCuentasBancarias()
CargaDtSubProyectos()
CargaDtAlmacen()
CargaGridIndicadores()
CargaEstatusOrdenesCompra()
CargaDtCuentasBancarias()
CargarAlmacenAsignar()
CargaDtAlmacenAsignar()
CargaAlmacenes()
CargaDdlClasificaciones()
CargarProyectosAsignar()
CargaDtSubProyectosAsignar()
CargaCuentasBancariasAsignar()
CargaDtCuentasBancariasAsignar()
CargarRolesAsignar()
CargaDtRolesAsignar()
CargaDTEmpresasAsignar()
CargaDTModulosAsignar()
CargaDTPermisosAsignar()
CargaDTIndicadoresAsignar()
CargarRol()
CargaAsignaciones()
CargaUsuarioResponsable()
' ValidaAccesoEstatusOC()
End Sub
Public Sub CargaUsuarioResponsable()
DdlUsuarioResponsable.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros($"CveUsuario <> {CveUsuario}")
DdlUsuarioResponsable.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlUsuarioResponsable.DataBind()
End Sub
Public Sub CargaDatosUsuario()
If CveUsuario < 0 Then Exit Sub
Dim ObjUsuario As New ClsSisUsuarios
If ObjUsuario.GetUsuariosDetalle(CveUsuario, -1) Then
If ObjUsuario.DtResultados.Rows.Count > 0 Then
LtlUsuarios.Text = ObjUsuario.Usuario
'TxtContraseña.Text = ObjUsuario.Contraseña
TrContraseña.Visible = False
TxtUsuario.Text = ObjUsuario.Usuario
TxtNombre.Text = ObjUsuario.Nombre
ViewState("CveRol") = ObjUsuario.CveRol.ToString
DdlRol.SelectedValue = ObjUsuario.CveRol.ToString
TxtCorreo.Text = ObjUsuario.Correo
TxtCodigoAcceso.Text = ObjUsuario.DtResultados.Rows(0)("CodigoAcceso").ToString()
Dim autoip As String = ObjUsuario.DtResultados.Rows(0)("AutorizadoxIP").ToString().ToUpper()
'chkSessionxEquipo.Checked = (autoip = "1" OrElse autoip = "TRUE")
'DdlSupervisa.SelectedValue = ObjUsuario.CveSupervisa.ToString
'DdlAutoriza.SelectedValue = ObjUsuario.CveAutoriza.ToString
ViewState("Password") = ObjUsuario.Contraseña
ViewState("CodigoAcceso") = ObjUsuario.DtResultados.Rows(0)("CodigoAcceso").ToString()
ViewState("CveEmpresa") = ObjUsuario.CveEmpresaPredeterminada
DdlEmpresa.SelectedValue = CveEmpresa.ToString
CargarRol()
DdlRol.SelectedValueExist(ObjUsuario.CveRol)
If DdlRol.SelectedValue.ToEntero <> ObjUsuario.CveRol Then
DdlRol.Items.Insert(1, New ListItem(GlobalDTRoles(DdlEmpresa.SelectedValue.ToEntero).FiltroPrimeroValor("Rol", $"CveRol = {ObjUsuario.CveRol}"), ObjUsuario.CveRol.ToString))
DdlRol.SelectedValueExist(ObjUsuario.CveRol)
End If
DdlEmpresaAsignaciones.SelectedValue = CveEmpresa.ToString
ChkEstatus.Checked = ObjUsuario.Estado
LtlFechaUltimoAcceso.Text = ObjUsuario.FechaUltimoAcceso.ToString
LtlFechaUltimoCambioContraseña.Text = ObjUsuario.FechaUltimoCambioContraseña.ToString
ChkCambiarContraseña.Checked = ObjUsuario.PolCambiarContraseña
ChkAsignarSubProyecto.Checked = ObjUsuario.AsignarAutomaticamenteSubProyecto
ChkAsignarOC.Checked = ObjUsuario.AsignarAutomaticamenteOC
CargaBitacora()
LblFechaCaptura.Text = ObjUsuario.Fecha.ToShortDateString
LblUsuarioCapturo.Text = ObjUsuario.UsuarioCreo
TxtDescuentoAutorizado.Text = ObjUsuario.DescuentoAutorizado.FormatoNumero
TxtLimiteAutorizado.Text = ObjUsuario.DtResultados.Rows(0)("LimiteCreditoAutorizado").ToString()
TxtPorcentajeMaximoAutorizacion.Text = ObjUsuario.DtResultados.Rows(0)("PorcentajeMaximoAutorizacion").ToString().ToDecimal().FormatoNumero(2)
TxtDiasVencidos.Text = ObjUsuario.DtResultados.Rows(0)("DiasMaximoAutorizacion").ToString()
Else
Alert("El Usuario Solicitado no existe, Revise su búsqueda.", TipoMensaje.MsgAdvertencia)
BtnGuardar.Enabled = False
End If
End If
UpEmpresaAsignaciones.Update()
ObjUsuario.Dispose()
End Sub
Public Sub CargaDatosAsignadosAUsuario()
If CveUsuario < 0 Then Exit Sub
If DtAsignacionesMultiEmpresa IsNot Nothing AndAlso DtAsignacionesMultiEmpresa.FiltraParametros(String.Format("CveEmpresa = {0}", DdlEmpresaAsignaciones.SelectedValue.ToEntero)).Rows.Count > 0 Then
Dim dr As DataRow() = DtAsignacionesMultiEmpresa.Select(String.Format("CveEmpresa = {0}", DdlEmpresaAsignaciones.SelectedValue.ToEntero))
ViewState("CveSubProyecto") = dr(0)("CveSucursal")
ViewState("CveAlmacenAsignado") = dr(0)("CveAlmacen")
ViewState("CveVendedorAsignado") = dr(0)("CveVendedor")
ViewState("CvePersonalAsignado") = dr(0)("CvePersonal")
ViewState("CveTipoDocumentoAsignado") = dr(0)("CveTipoDocumento")
Else
Dim ObjUsuario As New ClsSisUsuarios
If ObjUsuario.GetUsuariosDetalleAsignaciones(CveUsuario, DdlEmpresaAsignaciones.SelectedValue.ToEntero) Then
If ObjUsuario.DtResultados.Rows.Count > 0 Then
ViewState("CveSubProyecto") = If(ObjUsuario.CveSubProyecto > 0, ObjUsuario.CveSubProyecto, -1)
ViewState("CveAlmacenAsignado") = If(ObjUsuario.CveAlmacen > 0, ObjUsuario.CveAlmacen, -1)
ViewState("CveVendedorAsignado") = If(ObjUsuario.CveVendedor > 0, ObjUsuario.CveVendedor, -1)
ViewState("CvePersonalAsignado") = If(ObjUsuario.CvePersonal > 0, ObjUsuario.CvePersonal, -1)
ViewState("CveTipoDocumentoAsignado") = If(ObjUsuario.CveTipoDocumento <> "-1", ObjUsuario.CveTipoDocumento, "-1")
End If
End If
ObjUsuario.Dispose()
End If
UpEmpresaAsignaciones.Update()
End Sub
Public Sub CargarRol()
DdlRol.SelectedValue = "-1"
DdlRol.Items.Clear()
If UsuarioActual.CveRol <> 1 Then
Dim CveEmpresaselected As Integer = DdlEmpresa.SelectedValue.ToEntero
If CveEmpresaselected > 0 Then
If UsuarioControlado Then
DdlRol.DataSource = DTRolesControlado.FiltraParametros($"CveRol NOT IN (1) AND CveEmpresa = {CveEmpresaselected}")
Else
DdlRol.DataSource = GlobalDTRoles(CveEmpresaselected).FiltraParametros("CveRol NOT IN (1)", "Rol")
End If
End If
Else
If UsuarioControlado Then
DdlRol.DataSource = DTRolesControlado.FiltraParametros($" CveEmpresa = {DdlEmpresa.SelectedValue}")
Else
DdlRol.DataSource = GlobalDTRoles(DdlEmpresa.SelectedValue.ToEntero)
End If
End If
DdlRol.Items.Insert(0, New ListItem("Seleccione", "-1"))
If CveRol > 0 Then
If DdlRol.SelectedValue.ToEntero <> CveRol Then
DdlRol.Items.Insert(1, New ListItem(GlobalDTRoles(DdlEmpresa.SelectedValue.ToEntero).FiltroPrimeroValor("Rol", $"CveRol = {CveRol}"), CveRol.ToString))
End If
End If
DdlRol.DataBind()
DdlRol.SelectedValueExist(CveRol)
UpDatos.Update()
End Sub
Protected Sub DdlEmpresa_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlEmpresa.SelectedIndexChanged
CargarRol()
End Sub
Public Sub CargarEmpresa()
Dim ClsUsuarios As New ClsSisUsuarios
Dim Tipo As Integer = If(UsuarioActual.CveRol = 1, -1, UsuarioActual.CveUsuario)
If ClsUsuarios.GetEmpresasAcceso(Tipo, CveUsuario) Then
DtEmpresasUsuario = ClsUsuarios.DtResultados
DtEmpresasUsuario.Columns.Add("Accion", GetType(Integer))
For Each Dr As DataRow In DtEmpresasUsuario.Rows
If Dr("Accion").ToString = "" AndAlso Dr("CveEmpresaUsuario").ToString = "" Then Dr("Accion") = "3"
If CveUsuario = -1 AndAlso Dr("CveEmpresa").ToString.ToEntero = UsuarioActual.CveEmpresa Then Dr("Accion") = "1"
Next
Else
DtEmpresasUsuario = Nothing
End If
ClsUsuarios.Dispose()
End Sub
Public Sub CargarSubProyectos()
'DdlSubProyectos.Items.Clear()
'If DdlEmpresaAsignaciones.SelectedValue.ToEntero > 0 Then
' DdlSubProyectos.DataSource = GlobalDTSubProyectosUsuarios(CveUsuario, -1, CveEmpresa:=DdlEmpresaAsignaciones.SelectedValue.ToEntero, CveEstatus:=1).FiltraParametros("EsSucursal = 1")
'End If
'DdlSubProyectos.Items.Insert(0, New ListItem("Seleccione", "-1"))
'DdlSubProyectos.SelectedValue = "-1"
'If CveSubProyecto > 0 Then
' If DdlSubProyectos.SelectedValue.ToEntero <> CveSubProyecto Then
' DdlSubProyectos.Items.Insert(1, New ListItem(GlobalDTSubProyectos( DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltroPrimeroValor("SubProyecto", $"CveSubProyecto = {CveSubProyecto}"), CveSubProyecto.ToString))
' End If
'End If
'DdlSubProyectos.DataBind()
'DdlSubProyectos.SelectedValueExist(CveSubProyecto)
End Sub
Private Sub CargaPersonal()
Dim dt As DataTable = Nothing
'Dim RH As New ClsRH
'If RH.GetPersonal(-1, DdlEmpresaAsignaciones.SelectedValue.ToEntero) Then
' dt = RH.DtResultados
'End If
'RH.Dispose()
If DdlEmpresaAsignaciones.SelectedValue.ToEntero > 0 Then
dt = GlobalDTRHPersonal(DdlEmpresaAsignaciones.SelectedValue.ToEntero)
End If
DdlPersonal.Items.Clear()
DdlPersonal.DataSource = dt
DdlPersonal.DataBind()
DdlPersonal.Items.Insert(0, New ListItem("Seleccione", "-1"))
If CvePersonalAsignado > 0 Then DdlPersonal.SelectedValueExist(CvePersonalAsignado)
UpFiltrosAsignarPermiso.Update()
End Sub
Private Sub CargaVendedor()
DdlVendedor.Items.Clear()
If DdlEmpresaAsignaciones.SelectedValue.ToEntero > 0 Then
'DdlVendedor.DataSource = GlobalDTVendedores(DdlEmpresaAsignaciones.SelectedValue.ToEntero, VendedorTipo:=-1)
Dim ObjVendedores As New ClsVtaVendedores
If ObjVendedores.GetVendedores(DdlEmpresaAsignaciones.SelectedValue.ToEntero) Then
DdlVendedor.DataSource = ObjVendedores.DtResultados.FiltraParametros("CveEstatus = 1")
End If
ObjVendedores.Dispose()
End If
DdlVendedor.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlVendedor.SelectedValue = "-1"
DdlVendedor.DataBind()
If CveVendedorAsignado > 0 Then DdlVendedor.SelectedValueExist(CveVendedorAsignado)
End Sub
Public Sub CargaBitacora()
Dim ObjUsuario As New ClsSisUsuarios
If ObjUsuario.GetBitacora(CveUsuario, TxtFechaIBitacora.Text.ToDateTime(), TxtFechaFBitacora.Text.ToDateTime()) Then
GVBitacora.DataSource = ObjUsuario.DtResultados
Else
GVBitacora.DataSource = Nothing
End If
ObjUsuario.Dispose()
GVBitacora.DataBind()
End Sub
Private Sub CargaAlmacenes()
DdlAlmacenGeneral.Items.Clear()
DdlAlmacenGeneral.DataSource = DtAlmacenes.FiltraParametros(String.Format("CveEmpresa = {0} AND (isnull(Accion,0) < 2 OR Accion = 4)", DdlEmpresaAsignaciones.SelectedValue.ToEntero))
DdlAlmacenGeneral.DataBind()
DdlAlmacenGeneral.Items.Insert(0, New ListItem("Seleccione", "-1"))
If CveAlmacenAsignado > 0 Then
DdlAlmacenGeneral.SelectedValueExist(CveAlmacenAsignado)
End If
End Sub
Private Sub CargaTipoDocumeto()
DdlTipoDocumento.Items.Clear()
DdlTipoDocumento.DataSource = GlobalDTTiposDocumentos()
DdlTipoDocumento.DataBind()
DdlTipoDocumento.Items.Insert(0, New ListItem("Seleccione", "-1"))
If CveTipoDocumentoAsignado <> "-1" Then DdlTipoDocumento.SelectedValueExist(CveTipoDocumentoAsignado)
UpFiltrosAsignarPermiso.Update()
End Sub
#End Region
'Private Sub CargaSucursal()
' DtSubProyectos2 = GlobalDTSubProyectos(UsuarioActual.CveEmpresa).FiltraParametros("CveSubProyecto =" & DdlSubProyectos.SelectedValue.ToEntero)
' If DtSubProyectos2.Rows.Count > 0 Then
' Dim dr As DataRow
' dr = DtSubProyectos2(0)
' CveSucursal = dr("CveSucursal").ToString.ToEntero
' Else
' CveSucursal = -1
' End If
'End Sub
#Region " G U A R D A R - U P D A T E "
Private Function ValidaUsername(Username As String, Correo As String) As Boolean
Dim Retorno As Boolean = True
'If CveUsuario = -1 Then
' Retorno = GlobalDTUsuarios.COUNT("CveUsuario", $"Usuario IN ('{Username}','{Correo}') OR Correo = '{Correo}'") = 0
'Else
' Dim DtUsuarios As DataTable = GlobalDTUsuarios.FiltraParametros($"CveUsuario <> {UsuarioActual.CveUsuario}")
' Retorno = DtUsuarios.COUNT("CveUsuario", $"Usuario IN ('{Username}','{Correo}') OR Correo = '{Correo}'") = 0
'End If
Return Retorno
End Function
Protected Sub BtnGuardar_Click(sender As Object, e As System.EventArgs) Handles BtnGuardar.Click
'If Not ValidaUsername(TxtUsuario.Text.Trim, TxtCorreo.Text.Trim) Then
' Alert("Los datos ingresados ya existen en el sistema.Favor de verificar si existe el usuario", TipoMensaje.MsgInformacion)
' Return
'End If
Dim ObjUsuarios As New ClsSisUsuarios
Dim ObjSubProyectos As New ClsSubProyectos(ObjUsuarios.IniciaTransacSQL())
Dim ObjOC As New ClsOC(ObjUsuarios.IniciaTransacSQL())
Dim ObjOS As New ClsOS(ObjUsuarios.IniciaTransacSQL())
Dim Indicador As New ClsIndicadores(ObjUsuarios.IniciaTransacSQL())
Dim ObjBancos As New ClsBancos(ObjUsuarios.IniciaTransacSQL())
Dim ObjGenerales As New ClsGenerales(ObjUsuarios.IniciaTransacSQL)
Dim TieneError As Boolean = False
Dim EsNuevoUsuario As Boolean = False
Try
'Cargo la ultima empresa consultada en asignaciones
Dim DtValida As DataTable = DtAsignacionesMultiEmpresa.FiltraParametros(String.Format("CveEmpresa = {0}", CveEmpresaAnterior))
If DtValida.Rows.Count > 0 Then
Dim dr As DataRow() = DtAsignacionesMultiEmpresa.Select(String.Format("CveEmpresa = {0}", CveEmpresaAnterior))
dr(0)("CveEmpresa") = CveEmpresaAnterior
dr(0)("CvePersonal") = DdlPersonal.SelectedValue.ToEntero
dr(0)("CveVendedor") = DdlVendedor.SelectedValue.ToEntero
dr(0)("CveSucursal") = DdlSubProyectos.SelectedValue.ToEntero
dr(0)("CveAlmacen") = DdlAlmacenGeneral.SelectedValue.ToEntero
dr(0)("CveTipoDocumento") = DdlTipoDocumento.SelectedValue
dr(0).AcceptChanges()
Else
Dim Row As DataRow = Nothing
Row = DtAsignacionesMultiEmpresa.NewRow()
Row("CveEmpresa") = CveEmpresaAnterior
Row("CvePersonal") = DdlPersonal.SelectedValue.ToEntero
Row("CveVendedor") = DdlVendedor.SelectedValue.ToEntero
Row("CveSucursal") = DdlSubProyectos.SelectedValue.ToEntero
Row("CveAlmacen") = DdlAlmacenGeneral.SelectedValue.ToEntero
Row("CveTipoDocumento") = DdlTipoDocumento.SelectedValue
DtAsignacionesMultiEmpresa.Rows.Add(Row)
End If
Dim CodigoAcceso As String = If(String.IsNullOrEmpty(TxtCodigoAcceso.Text.Trim), "-1", TxtCodigoAcceso.Text.Trim)
'REGISTRA O ACTUALIZA LOS DATOS GENERALES DEL USUARIO
If CveUsuario = -1 Then
CveUsuario = ObjUsuarios.AddUsuario(TxtUsuario.Text.Trim, Encripta(ContraseñaPredeterminada), TxtNombre.Text.Trim, DdlRol.SelectedValue.ToEntero, TxtCorreo.Text.Trim, DdlPersonal.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, ChkCambiarContraseña.Checked, UsuarioActual.CveUsuario, DdlEmpresa.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, CveAlmacenAsignado:=DdlAlmacenGeneral.SelectedValue.ToEntero, AsignarSubProyecto:=ChkAsignarSubProyecto.Checked, AsignarOC:=ChkAsignarOC.Checked, DescuentoAutorizado:=TxtDescuentoAutorizado.Text.ToDouble, CodigoAcceso:=CodigoAcceso, LimiteCreditoAutorizado:=TxtLimiteAutorizado.Text.ToDecimal(), PorcentajeMaximoAutorizacion:=TxtPorcentajeMaximoAutorizacion.Text.ToDecimal(), DiasMaximoAutorizacion:=TxtDiasVencidos.Text.ToEntero())
EsNuevoUsuario = True
If CveUsuario = -1 Then
TieneError = True
End If
For Each Row As DataRow In DtAsignacionesMultiEmpresa.FiltraParametros("CveEmpresa > 0").Rows
If Not ObjUsuarios.AddUsuarioAsignar(Row("CvePersonal").ToString.ToEntero, Row("CveVendedor").ToString.ToEntero, Row("CveSucursal").ToString.ToEntero, Row("CveAlmacen").ToString.ToEntero, Row("CveTipoDocumento").ToString, Row("CveEmpresa").ToString.ToEntero, CveUsuario) Then
TieneError = True
End If
Next
Else
If Not ObjUsuarios.UpdateUsuario(TxtUsuario.Text.Trim, TxtNombre.Text.Trim, DdlRol.SelectedValue.ToEntero, TxtCorreo.Text.Trim, DdlPersonal.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, ChkCambiarContraseña.Checked, ChkEstatus.Checked, DdlEmpresa.SelectedValue.ToEntero, CveUsuario, DdlAlmacenGeneral.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, UsuarioActual.CveUsuario, AsignarSubProyecto:=ChkAsignarSubProyecto.Checked, AsignarOC:=ChkAsignarOC.Checked, DescuentoAutorizado:=TxtDescuentoAutorizado.Text.ToDouble, CodigoAcceso:=CodigoAcceso, LimiteCreditoAutorizado:=TxtLimiteAutorizado.Text.ToDecimal(), PorcentajeMaximoAutorizacion:=TxtPorcentajeMaximoAutorizacion.Text.ToDecimal(), DiasMaximoAutorizacion:=TxtDiasVencidos.Text.ToEntero()) Then
TieneError = True
End If
For Each Row As DataRow In DtAsignacionesMultiEmpresa.FiltraParametros("CveEmpresa > 0").Rows
If Not ObjUsuarios.UpdateUsuarioAsignar(Row("CvePersonal").ToString.ToEntero, Row("CveVendedor").ToString.ToEntero, Row("CveAlmacen").ToString.ToEntero, Row("CveSucursal").ToString.ToEntero, Row("CveEmpresa").ToString.ToEntero, Row("CveTipoDocumento").ToString, CveUsuario, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
TieneError = True
End If
Next
End If
'GUARDA ACCESO MODULOS
If Not TieneError Then
For Each Row As GridViewRow In GvModulosAcceso.Rows
'Nota, permitir, tiene 3 valores, ''(Vacio), no se ha estipulado, '0' que se denego, '1' permitido(aplicado solo cuando no viene del rol
If Row.DataKey("CveModuloAcceso") <> "" Then
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkDenegar").Checked OrElse Row.DataKey("Permitir") = "0" AndAlso Row.FCCheckBox("ChkDenegar").Checked = False Then
If Not ObjUsuarios.UpdateUsuariosModulos(CveUsuario, Row.DataKey("CveModulo").ToEntero, Not Row.FCCheckBox("ChkDenegar").Checked, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
Else
If Row.DataKey("Permitir").Contiene("", "0") AndAlso Row.FCCheckBox("ChkPermitir").Checked OrElse Row.DataKey("Permitir") = "1" AndAlso Row.FCCheckBox("ChkPermitir").Checked = False Then
If Not ObjUsuarios.UpdateUsuariosModulos(CveUsuario, Row.DataKey("CveModulo").ToEntero, Row.FCCheckBox("ChkPermitir").Checked, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
End If
Next
End If
'GUARDA PERMISO MODULOS
If Not TieneError Then
For Each Row As GridViewRow In GvModulosPermiso.Rows
If Row.DataKey("CveProcesoAcceso") <> "" Then
'checo si el permiso que tiene es del rol, de ser así, nada más actualizo los denegados
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkD").Checked OrElse Row.DataKey("Permitir") = "0" AndAlso Row.FCCheckBox("ChkD").Checked = False Then
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Not Row.FCCheckBox("ChkD").Checked, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
Else
'permisos que el rol, no le está otorgando, y serán únicos para el usuario
If Row.DataKey("Permitir") = "" AndAlso Row.FCCheckBox("ChkP").Checked OrElse Row.DataKey("Permitir") = "1" AndAlso Row.FCCheckBox("ChkP").Checked = False Then
If Not ObjUsuarios.UpdateUsuariosProcesos(CveUsuario, Row.DataKey("CveProceso").ToEntero, Row.FCCheckBox("ChkP").Checked, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
End If
''checo si el permiso que tiene es del rol, de ser así, nada más actualizo los denegados
'If Row.DataKey("CveProcesoAcceso") <> "" Then
' If Not ClsUsuarios.UpdateUsuariosProcesos(Row.DataKey("CveUsuario").ToEntero, Row.DataKey("CveProceso").ToEntero, Not Row.FCCheckBox("ChkD").Checked) Then
' TieneError = True
' Exit For
' End If
'Else
' 'permisos que el rol, no le está otorgando, y serán únicos para el usuario
' If Not ClsUsuarios.UpdateUsuariosProcesos(Row.DataKey("CveUsuario").ToEntero, Row.DataKey("CveProceso").ToEntero, Row.FCCheckBox("ChkP").Checked) Then
' TieneError = True
' Exit For
' End If
'End If
Next
End If
'Agregar Indicadores
If Not TieneError Then
For Each Row As GridViewRow In GvIndicadores.Rows
If Row.DataKey("CveIndicador") <> "" AndAlso Row.DataKey("CveUsuario") <> "" And Row.FCCheckBox("chkIndicador").Checked = False Then
If Not Indicador.RemoveIndicadoresUsuarios(Row.DataKey("CveIndicador").ToEntero, CveUsuario, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
If Row.DataKey("CveIndicador") <> "" AndAlso Row.DataKey("CveUsuario") = "" Then
If Row.FCCheckBox("chkIndicador").Checked Then
If Not Indicador.AddIndicadoresUsuarios(Row.DataKey("CveIndicador").ToEntero, CveUsuario, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
End If
Next
End If
'GUARDA ACCESO EMPRESAS
If Not TieneError Then
For Each dr As DataRow In DtEmpresasUsuario.FiltraParametros("Accion IN (1,2)").Rows
If dr("Accion").ToString = "1" Then
If Not ObjUsuarios.AddUsuariosEmpresas(CveUsuario, dr("CveEmpresa").ToString.ToEntero, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "2" Then
If Not ObjUsuarios.RemoveEmpresasAcceso(CveUsuario, dr("CveEmpresa").ToString.ToEntero, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
GlobalDTUsuarios(-1, dr("CveEmpresa").ToString.ToEntero) = Nothing
Next
End If
'GUARDA SUBPROYECTOS
If Not TieneError Then
For Each dr As DataRow In DtSubProyectos.FiltraParametros("Accion IN (1,2,4)").Rows
If DtEmpresasUsuario.FiltraParametros(String.Format("CveEmpresa = {0}", dr("CveEmpresa").ToString.ToEntero)).Rows.Count > 0 Then
If dr("Accion").ToString = "1" Then
If Not ObjUsuarios.AddSubProyectos(CveUsuario, dr("CveSubProyecto").ToString.ToEntero, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "2" Then
If ObjUsuarios.RemoveSubProyectos(CveUsuario, dr("CveSubProyecto").ToString.ToEntero, UsuarioActual.CveUsuario) Then
If Not ObjGenerales.AddHistorialBitacora(406, -1, -1, -1, -1, -1, -1, -1, "", dr("SubProyecto").ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, "-1", "-1", "-1", CveUsuarioTabla:=CveUsuario) Then
TieneError = True
Exit For
End If
Else
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "4" Then
If Not ObjUsuarios.UpdateSubProyectos(CveUsuario, dr("CveSubProyecto").ToString.ToEntero, dr("ViejoCveSubProyecto").ToString.ToEntero, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
End If
Next
End If
'GUARDA ESTATUS DE OC
If Not TieneError Then
If DTEstatusOC IsNot Nothing AndAlso DTEstatusOC.Rows.Count > 0 Then
For Each dr As DataRow In DTEstatusOC.FiltraParametros("Accion IN (1,2,4)").Rows
If DtEmpresasUsuario.FiltraParametros(String.Format("CveEmpresa = {0}", dr("CveEmpresa").ToString.ToEntero)).Rows.Count > 0 Then
If dr("Accion").ToString = "1" Then
If Not ObjUsuarios.AddEstatusOC(CveUsuario, dr("CveEstatus").ToString.ToEntero) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "2" Then
If Not ObjUsuarios.RemoveEstatusOC(CveUsuario, dr("CveEstatus").ToString.ToEntero) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "4" Then
If Not ObjUsuarios.UpdateEstatusOC(CveUsuario, dr("CveEstatus").ToString.ToEntero, dr("ViejoCveEstatus").ToString.ToEntero) Then
TieneError = True
Exit For
End If
End If
End If
Next
End If
End If
'GUARDA CLASIFICACIONES
If Not TieneError Then
If DtClasificaciones IsNot Nothing AndAlso DtClasificaciones.Rows.Count > 0 Then
For Each dr As DataRow In DtClasificaciones.FiltraParametros("Accion IN (1,2,4)").Rows
If DtEmpresasUsuario.FiltraParametros(String.Format("CveEmpresa = {0}", dr("CveEmpresa").ToString.ToEntero)).Rows.Count > 0 Then
If dr("Accion").ToString = "1" Then
If Not ObjUsuarios.AddUsuariosClasificaciones(CveUsuario, dr("CveClasificacion").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "2" Then
If Not ObjUsuarios.RemoveUsuariosClasificaciones(CveUsuario, dr("CveClasificacion").ToString.ToEntero, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
End If
Next
End If
End If
'GUARDA ALMACENES
If Not TieneError Then
For Each dr As DataRow In DtAlmacenes.FiltraParametros("Accion IN (1,2,4)").Rows
If DtEmpresasUsuario.FiltraParametros(String.Format("CveEmpresa = {0}", dr("CveEmpresa").ToString.ToEntero)).Rows.Count > 0 Then
If dr("Accion").ToString = "1" Then
If Not ObjUsuarios.AddAlmacen(CveUsuario, dr("CveAlmacen").ToString.ToEntero, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "2" Then
If Not ObjUsuarios.RemoveAlmacen(CveUsuario, dr("CveAlmacen").ToString.ToEntero, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "4" Then
If Not ObjUsuarios.UpdateAlmacen(CveUsuario, dr("CveAlmacen").ToString.ToEntero, dr("ViejoCveAlmacen").ToString.ToEntero, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
End If
Next
End If
'Guarda Estatus de Ordenes de Compra
If Not TieneError Then
GuardaEstatusProyectosREQ(ObjOC, TieneError)
GuardaEstatusProyectoOC(ObjOC, TieneError)
End If
''Guarda Estatus de Ordenes de Servicio
'If Not TieneError Then
' GuardaEstatusOS(ObjOS, TieneError)
'End If
'GUARDA CUENTAS BANCARIAS
If Not TieneError Then
For Each dr As DataRow In DtCuentasBancarias.FiltraParametros("Accion IN (1,2)").Rows
If DtEmpresasUsuario.FiltraParametros(String.Format("CveEmpresa = {0}", dr("CveEmpresa").ToString.ToEntero)).Rows.Count > 0 Then
If dr("Accion").ToString = "1" Then
If Not ObjBancos.AddBancosCuentasUsuarios(dr("CveCuenta").ToString.ToEntero, CveUsuario) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "2" Then
If Not ObjBancos.RemoveBancosCuentasUsuarios(dr("CveCuenta").ToString.ToEntero, CveUsuario) Then
TieneError = True
Exit For
End If
End If
End If
Next
End If
'GUARDAMOS RESTRICCIONES DE ACCESO
If Not TieneError Then
For Each dr As DataRow In DtRestricciones.FiltraParametros("Accion IN (1,2,4)").Rows
If dr("Accion").ToString = "1" Then
If Not ObjUsuarios.UsuariosRestriccionesAccesoAdd(CveUsuario, dr("IP").ToString, dr("MAC").ToString, dr("HI1").ToString, dr("HF1").ToString, dr("HI2").ToString, dr("HF2").ToString, dr("HI3").ToString, dr("HF3").ToString, dr("HI4").ToString, dr("HF4").ToString, dr("HI5").ToString, dr("HF5").ToString, dr("HI6").ToString, dr("HF6").ToString, dr("HI7").ToString, dr("HF7").ToString, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "2" Then
If Not ObjUsuarios.UsuariosRestriccionesAccesoRemove(dr("CveUsuarioRestriccionAcceso").ToString.ToEntero, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "4" Then
If Not ObjUsuarios.UsuariosRestriccionesAccesoUpdate(dr("CveUsuarioRestriccionAcceso").ToString.ToEntero, dr("IP").ToString, dr("MAC").ToString, dr("HI1").ToString, dr("HF1").ToString, dr("HI2").ToString, dr("HF2").ToString, dr("HI3").ToString, dr("HF3").ToString, dr("HI4").ToString, dr("HF4").ToString, dr("HI5").ToString, dr("HF5").ToString, dr("HI6").ToString, dr("HF6").ToString, dr("HI7").ToString, dr("HF7").ToString, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
Next
End If
ObjUsuarios.UsuariosRestriccioneXMacUpdate(CveUsuario)
'CLONAR USUARIO
If Not TieneError Then
If EsNuevoUsuario Then
If Not ClonarUsuario(DdlUsuarioClonar.SelectedValue.ToEntero, ObjUsuarios) Then
TieneError = True
End If
End If
End If
''''''''''''''''''''''''GUARDA ASIGNAR''''''''''''''''''''''''
'GUARDA ROLES
If Not TieneError Then
For Each dr As DataRow In DTRolesAsignar.FiltraParametros("Accion IN (1,2)").Rows
If DtEmpresasUsuario.FiltraParametros(String.Format("CveEmpresa = {0}", dr("CveEmpresa").ToString.ToEntero)).Rows.Count > 0 Then
If dr("Accion").ToString = "1" Then
If Not ObjUsuarios.AddRolesAsignar(CveUsuario, dr("CveRol").ToString.ToEntero) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "2" Then
If Not ObjUsuarios.RemoveRolesAsignar(CveUsuario, dr("CveRol").ToString.ToEntero) Then
TieneError = True
Exit For
End If
End If
End If
Next
End If
'GUARDA ALMACENES
If Not TieneError Then
For Each dr As DataRow In DtAlmacenesAsignar.FiltraParametros("Accion IN (1,2)").Rows
If DtEmpresasUsuario.FiltraParametros(String.Format("CveEmpresa = {0}", dr("CveEmpresa").ToString.ToEntero)).Rows.Count > 0 Then
If dr("Accion").ToString = "1" Then
If Not ObjUsuarios.AddAlmacenAsignar(CveUsuario, dr("CveAlmacen").ToString.ToEntero) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "2" Then
If Not ObjUsuarios.RemoveAlmacenAsignar(CveUsuario, dr("CveAlmacen").ToString.ToEntero) Then
TieneError = True
Exit For
End If
End If
End If
Next
End If
'GUARDA SUBPROYECTOS
If Not TieneError Then
For Each dr As DataRow In DtSubProyectosAsignar.FiltraParametros("Accion IN (1,2,4)").Rows
If DtEmpresasUsuario.FiltraParametros(String.Format("CveEmpresa = {0}", dr("CveEmpresa").ToString.ToEntero)).Rows.Count > 0 Then
If dr("Accion").ToString = "1" Then
If Not ObjUsuarios.AddSubProyectosAsignar(CveUsuario, dr("CveSubProyecto").ToString.ToEntero) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "2" Then
If Not ObjUsuarios.RemoveSubProyectosAsignar(CveUsuario, dr("CveSubProyecto").ToString.ToEntero) Then
TieneError = True
Exit For
End If
End If
End If
Next
End If
'GUARDA CUENTAS BANCARIAS
If Not TieneError Then
For Each dr As DataRow In DtCuentasBancariasAsignar.FiltraParametros("Accion IN (1,2)").Rows
If DtEmpresasUsuario.FiltraParametros(String.Format("CveEmpresa = {0}", dr("CveEmpresa").ToString.ToEntero)).Rows.Count > 0 Then
If dr("Accion").ToString = "1" Then
If Not ObjUsuarios.AddCuentasBancariasAsignar(CveUsuario, dr("CveCuenta").ToString.ToEntero) Then
TieneError = True
Exit For
End If
ElseIf dr("Accion").ToString = "2" Then
If Not ObjUsuarios.RemoveCuentasBancariasAsignar(CveUsuario, dr("CveCuenta").ToString.ToEntero) Then
TieneError = True
Exit For
End If
End If
End If
Next
End If
'GUARDA MODULOS
If Not TieneError Then
For Each Row As GridViewRow In GvModulosAsignar.Rows
If Row.DataKey("TienePermiso").ToEntero > 0 AndAlso Not Row.FCCheckBox("ChkP").Checked Then
If Not ObjUsuarios.RemoveModulosAsignar(CveUsuario, Row.DataKey("CveModulo").ToEntero) Then
TieneError = True
Exit For
End If
ElseIf Row.FCCheckBox("ChkP").Checked AndAlso Not Row.DataKey("TienePermiso").ToEntero > 0 Then
If Not ObjUsuarios.AddModulosAsignar(CveUsuario, Row.DataKey("CveModulo").ToEntero) Then
TieneError = True
Exit For
End If
End If
Next
End If
'GUARDA PERMISOS
If Not TieneError Then
For Each Row As GridViewRow In GvPermisosAsignar.Rows
If Row.DataKey("TienePermiso").ToEntero > 0 AndAlso Not Row.FCCheckBox("ChkP").Checked Then
If Not ObjUsuarios.RemovePermisosAsignar(CveUsuario, Row.DataKey("CvePermiso").ToEntero) Then
TieneError = True
Exit For
End If
ElseIf Row.FCCheckBox("ChkP").Checked AndAlso Not Row.DataKey("TienePermiso").ToEntero > 0 Then
If Not ObjUsuarios.AddPermisosAsignar(CveUsuario, Row.DataKey("CvePermiso").ToEntero) Then
TieneError = True
Exit For
End If
End If
Next
End If
'GUARDA INDICADORES
If Not TieneError Then
For Each Row As GridViewRow In GvIndicadoresAsignar.Rows
If Row.DataKey("TienePermiso").ToEntero > 0 AndAlso Not Row.FCCheckBox("ChkP").Checked Then
If Not ObjUsuarios.RemoveIndicadoresAsignar(CveUsuario, Row.DataKey("CveIndicador").ToEntero) Then
TieneError = True
Exit For
End If
ElseIf Row.FCCheckBox("ChkP").Checked AndAlso Not Row.DataKey("TienePermiso").ToEntero > 0 Then
If Not ObjUsuarios.AddIndicadoresAsignar(CveUsuario, Row.DataKey("CveIndicador").ToEntero) Then
TieneError = True
Exit For
End If
End If
Next
End If
'GUARDA EMPRESAS
If Not TieneError Then
For Each Row As GridViewRow In GvEmpresasAsignar.Rows
If Row.DataKey("TienePermiso").ToEntero > 0 AndAlso Not Row.FCCheckBox("ChkP").Checked Then
If Not ObjUsuarios.RemoveEmpresasAsignar(CveUsuario, Row.DataKey("CveEmpresa").ToEntero) Then
TieneError = True
Exit For
End If
ElseIf Row.FCCheckBox("ChkP").Checked AndAlso Not Row.DataKey("TienePermiso").ToEntero > 0 Then
If Not ObjUsuarios.AddEmpresasAsignar(CveUsuario, Row.DataKey("CveEmpresa").ToEntero) Then
TieneError = True
Exit For
End If
End If
Next
End If
'ELIMINA YA AGREGADOS EMPRESAS
If Not TieneError Then
For Each dr As DataRow In DTEmpresasAsignar.FiltraParametros("TienePermiso IN (-2)").Rows
If DtEmpresasUsuario.FiltraParametros(String.Format("CveEmpresa = {0}", dr("CveEmpresa").ToString.ToEntero)).Rows.Count > 0 Then
If Not ObjUsuarios.RemoveEmpresasAsignar(CveUsuario, dr("CveEmpresa").ToString.ToEntero) Then
TieneError = True
Exit For
End If
End If
Next
End If
Catch ex As Exception
TieneError = True
OnError("Ocurrió un error al guardar el usuario", ex)
End Try
If Not TieneError Then
If EsNuevoUsuario Then
EnviaCorreo()
End If
Alert("El Usuario se Guardó Correctamente", TipoMensaje.MsgInformacion, "document.location.href=""/Sistemas/Usuarios.aspx"";")
ObjUsuarios.Commit()
RecargaGlobales(TieneError, ObjSubProyectos, ObjBancos, ObjOC, ObjUsuarios)
Else
Alert("Ocurrió un error al registrar el Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
ObjUsuarios.RollBack()
End If
ObjUsuarios.Dispose()
ObjSubProyectos.Dispose()
ObjOC.Dispose()
ObjOS.Dispose()
Indicador.Dispose()
ObjBancos.Dispose()
End Sub
Private Sub RecargaGlobales(TieneError As Boolean, ObjSubProyectos As ClsSubProyectos, ObjBancos As ClsBancos, ObjOC As ClsOC, ObjUsuarios As ClsSisUsuarios)
'RECARGA GLOBAL SUBPROYECTOS
Dim tCveEmpresa As Integer = DdlEmpresaAsignaciones.SelectedValue.ToEntero
If Not TieneError Then
GlobalDTSubProyectosUsuarios(-1, -1, tCveEmpresa) = Nothing
'If ObjSubProyectos.GetSubProyectosUsuarios Then
' Application("GlobalDTSubProyectosUsuarios") = ObjSubProyectos.DtResultados
'Else
' Application("GlobalDTSubProyectosUsuarios") = Nothing
' TieneError = True
'End If
End If
If Not TieneError Then
GlobalDTProyectosUsuarios(-1, -1, tCveEmpresa, -1) = Nothing
'If ObjSubProyectos.GetSubProyectosUsuarios Then
' Application("GlobalDTProyectosUsuarios") = ObjSubProyectos.DtResultados.FiltraParametros("", "", {"Proyecto", "CveProyecto", "CveUsuario", "CveEmpresa", "CveEstatusProyecto"})
'Else
' Application("GlobalDTProyectosUsuarios") = Nothing
' TieneError = True
'End If
End If
'RECARGA GLOBAL BANCOS
'If ObjBancos.GetBancosCuentasUsuarios(-1) Then
GlobalDTBancosCuentas(-1, CveEmpresa:=tCveEmpresa) = Nothing 'ObjBancos.DtResultados
' End If
'RECARGA GLOBAL ESTATUS
GlobalDTOCEstatusUsuarios(tCveEmpresa) = Nothing
'If ObjOC.GetEstatusUsuarios(-1, -1, -1, -1, -1) Then Application("GlobalDTOCEstatusUsuarios") = ObjOC.DtResultados Else Application("GlobalDTOCEstatusUsuarios") = Nothing
'RECARGA GLOBAL ALMACEN
'If ObjUsuarios.GetAlmacen(-1, UsuarioActual.CveEmpresa) Then Application("GlobalDTAlmacenUsuarios") = ObjUsuarios.DtResultados Else Application("GlobalDTAlmacenUsuarios") = Nothing
GlobalDTAlmacenUsuarios(-1, tCveEmpresa) = Nothing
'RECARGA GLOBAL EMPRESAS USUARIOS
GlobalDTAlmacenUsuarios(-1, tCveEmpresa) = Nothing
GlobalDTUsuarioResponsable(tCveEmpresa) = Nothing
GlobalDTUsuarios(-1, tCveEmpresa) = Nothing
GlobalDTUsuarios(-1, tCveEmpresa) = Nothing
'si hay diferencia en la empresa asignada y la asociada.
If tCveEmpresa <> DdlEmpresa.SelectedValue.ToEntero Then GlobalDTUsuarios(-1, DdlEmpresa.SelectedValue.ToEntero) = Nothing
'If ObjUsuarios.GetUsuariosEmpresas(-1, UsuarioActual.CveEmpresa) Then
' Application("GlobalDTUsuarios") = ObjUsuarios.DtResultados
' Application("GlobalDTUsuarioResponsable") = ObjUsuarios.DtResultados.FiltraParametros("ProveedoresResponsables > 0")
'End If
End Sub
Private Sub EnviaCorreo()
Try
Dim Para As String = TxtCorreo.Text.Trim
Dim Asunto As String = "ALTA DE CUENTA"
Dim SBBody As New StringBuilder
'Linia de estilos
SBBody.Append("<style> .mailbody{ background-color:#EEF1F5; padding:15px; font-family :'Open Sans', sans-serif; } .mailcontent{ background-color:#fff; font-size: 14px; color: #333; padding:0px 15px ; } .mailtitle{padding:8px;color:#32C5D2; font-size: 18px;font-weight: 700!important;border-bottom:2px solid #EEF1F5;text-transform: uppercase;}.marco{border: 1px solid #869ab3;border-top: 0;background-color: #67809F; margin: 10px 15px 25px 15px;color: #fff;}.marco-title{padding: 10px 10px;text-transform: uppercase;font-weight: 700!important;}.marco-body{color:#333;background-color:#fff;}.nota{background: #E5E5E5;padding:15px;color:#333;} .logo { font-size:12px; font-style:italic; text-align:right; } .col1{width:180px;font-weight: 700!important;display:inline-block;} .col2{min-width:260px;display:inline-block;} </style>")
'incio Cuerpo del correo
SBBody.Append("<div Class='mailbody'>")
SBBody.Append("<div Class='mailcontent'>")
SBBody.Append("<div Class='mailtitle'>")
SBBody.Append("ALTA DE CUENTA")
SBBody.Append("</div>")
SBBody.Append("<br/>")
SBBody.AppendFormat("<b> Estimado / a {0}:</b><br/>", TxtNombre.Text.ToUpper)
SBBody.Append("El presente correo es para informarle que se le han asignado los siguentes datos para el acceso en el SISTEMA DE INFORMACIÓN GERENCIAL<br/><br/>")
SBBody.Append("<div Class='marco'>")
SBBody.Append("<div Class='marco-title'>Datos de usuario</div>")
SBBody.Append("<div Class='marco-body'>")
SBBody.Append("<div>")
SBBody.Append("<div class='col1'> Usuario</div>")
SBBody.AppendFormat("<div class='col2'>{0}</div>", TxtUsuario.Text.Trim)
SBBody.Append("</div>")
SBBody.Append("<div>")
SBBody.Append("<div class='col1'> Correo</div>")
SBBody.AppendFormat("<div class='col2'>{0}</div>", Para)
SBBody.Append("</div>")
SBBody.Append("<div>")
SBBody.Append("<div class='col1'> Contraseña(Temporal)</div>")
SBBody.AppendFormat("<div class='col2'>{0}</div>", ContraseñaPredeterminada)
SBBody.Append("</div>")
SBBody.Append("<div>")
SBBody.Append("<div class='col1'> Acceso </div>")
SBBody.AppendFormat("<div class='col2'><a href='{0}login.aspx'>sig.adssistemas.mx</a></div>", UrlSitio)
SBBody.Append("</div>")
SBBody.Append("</div>")
SBBody.Append("</div>")
SBBody.Append("<br/>")
SBBody.Append("Para Activar su cuenta debera cambiar su contraseña.<br/><br/>")
SBBody.Append("<div Class='nota'>")
SBBody.Append("Nota Favor de NO responder este correo. ")
SBBody.Append("</div><br/><br/>")
SBBody.AppendFormat("<div class='logo'><img src='{0}Imagenes/LogoSinFondo.png' style='width:30px;'/>ADSistemas </div>", UrlSitio)
SBBody.Append("</div>")
SBBody.Append("</div>")
'Termino Cuerpo del correo
Dim Hilo As New System.Threading.Thread(Sub() MandaCorreo(Asunto, Para, SBBody.ToString))
Hilo.Start()
Catch ex As Exception
OnError("Ocurrió error al mandar MAIL", ex)
End Try
End Sub
#End Region
#Region " E L I M I N A R - U S U A R I O "
Protected Sub BtnEliminar_Click(sender As Object, e As System.EventArgs) Handles BtnEliminar.Click
''DENTRO DEL PROCEDIMIENTO ELIMINA TODO LO RELACIONADO CON EL USUARIO (ALMACENES, SUBPROYECTOS, ACCESO A EMPRESAS...)
Dim ObjUsuario As New ClsSisUsuarios()
If ObjUsuario.RemoveUsuario(CveUsuario) Then
Alert("El Usuario se eliminó correctamente.", TipoMensaje.MsgInformacion, "window.location.href=""/Sistemas/Usuarios.aspx""")
Else
Alert("Ocurrió un error al eliminar el usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ObjUsuario.Dispose()
End Sub
#End Region
#Region " CONTRASEÑA "
Protected Sub LnkRestablecer_Click(sender As Object, e As EventArgs) Handles LnkRestablecer.Click
Dim ObjUsuario As New ClsSisUsuarios()
If ObjUsuario.UpdateUsuarioContrasenia(Encripta(ContraseñaPredeterminada), CveUsuario, CveEmpresa) Then
Alert("Contraseña Restablecida.<br> La nueva contraseña es: """ & ContraseñaPredeterminada & "", TipoMensaje.MsgInformacion)
End If
ObjUsuario.Dispose()
End Sub
Protected Sub LnkVerPass_Click(sender As Object, e As EventArgs) Handles LnkVerPass.Click
Alert(Extensiones.Decripta(Password))
End Sub
Protected Sub LnkVerCodigoAcceso_Click(sender As Object, e As EventArgs) Handles LnkVerCodigoAcceso.Click
Alert(CodigoAcceso)
End Sub
#End Region
#Region "TAB - ASIGNACIONES"
Protected Sub DdlEmpresaAsignaciones_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlEmpresaAsignaciones.SelectedIndexChanged
Dim DtValida As DataTable = DtAsignacionesMultiEmpresa.FiltraParametros(String.Format("CveEmpresa = {0}", CveEmpresaAnterior))
If DtValida.Rows.Count > 0 Then
Dim dr As DataRow() = DtAsignacionesMultiEmpresa.Select(String.Format("CveEmpresa = {0}", CveEmpresaAnterior))
dr(0)("CveEmpresa") = CveEmpresaAnterior
dr(0)("CvePersonal") = DdlPersonal.SelectedValue.ToEntero
dr(0)("CveVendedor") = DdlVendedor.SelectedValue.ToEntero
dr(0)("CveSucursal") = DdlSubProyectos.SelectedValue.ToEntero
dr(0)("CveAlmacen") = DdlAlmacenGeneral.SelectedValue.ToEntero
dr(0)("CveTipoDocumento") = DdlTipoDocumento.SelectedValue
dr(0).AcceptChanges()
Else
Dim Row As DataRow = Nothing
Row = DtAsignacionesMultiEmpresa.NewRow()
Row("CveEmpresa") = CveEmpresaAnterior
Row("CvePersonal") = DdlPersonal.SelectedValue.ToEntero
Row("CveVendedor") = DdlVendedor.SelectedValue.ToEntero
Row("CveSucursal") = DdlSubProyectos.SelectedValue.ToEntero
Row("CveAlmacen") = DdlAlmacenGeneral.SelectedValue.ToEntero
Row("CveTipoDocumento") = DdlTipoDocumento.SelectedValue
DtAsignacionesMultiEmpresa.Rows.Add(Row)
End If
CargaDatosAsignadosAUsuario()
CargaEmpresasAsignaciones()
CveEmpresaAnterior = DdlEmpresaAsignaciones.SelectedValue.ToEntero
CargaDtCuentasBancarias()
UpAsignaciones.Update()
End Sub
Private Sub CargaEmpresasAsignaciones()
CargarAlmacen()
CargaGvSubProyectos()
CargaProyectos()
CargaGVAlmacen()
CargarSubProyectos()
CargaVendedor()
CargaPersonal()
CargaDdlEstatusOC()
CargaEstatusOrdenesCompra()
CargaAlmacenes()
CargaTipoDocumeto()
'CargaGridEstatusUsuarioOC("Req")
' CargaGridEstatusUsuarioOC("OC")
CargaCuentasBancarias()
UpAsignaciones.Update()
End Sub
Private Sub CreaDtAsignacionesMultiEmpresa()
DtAsignacionesMultiEmpresa = New DataTable
DtAsignacionesMultiEmpresa.Columns.Add("CveEmpresa", GetType(Integer))
DtAsignacionesMultiEmpresa.Columns.Add("CvePersonal", GetType(Integer))
DtAsignacionesMultiEmpresa.Columns.Add("CveVendedor", GetType(Integer))
DtAsignacionesMultiEmpresa.Columns.Add("CveSucursal", GetType(Integer))
DtAsignacionesMultiEmpresa.Columns.Add("CveAlmacen", GetType(Integer))
DtAsignacionesMultiEmpresa.Columns.Add("CveTipoDocumento", GetType(String))
End Sub
#Region " PROYECTOS-SUBPROYECTOS "
Private Sub CargaProyectos()
DdlProyecto.Items.Clear()
DdlSubProyecto.Items.Clear()
If DdlEmpresaAsignaciones.SelectedValue.ToEntero > 0 Then
If UsuarioControlado Then
DdlProyecto.DataSource = GetProyectosSinGV(DtSubProyectosControlado.FiltraParametros($"CveEmpresa = {DdlEmpresaAsignaciones.SelectedValue}"))
Else
DdlProyecto.DataSource = GetProyectosSinGV(GlobalDTSubProyectos(DdlEmpresaAsignaciones.SelectedValue.ToEntero))
End If
End If
DdlProyecto.DataBind()
DdlProyecto.Items.Insert(0, New ListItem("Seleccione el Proyecto", "-1"))
End Sub
Private Function GetSubProyectosSinGV() As String
Dim SB As New StringBuilder
Dim prefix As String = ""
For Each item As GridViewRow In GvSubProyectos.Rows
SB.Append(prefix)
SB.Append(item.DataKey("CveSubProyecto"))
prefix = ","
Next
If SB.Length > 0 Then
Return $"CveSubProyecto NOT IN ({SB.ToString})"
Else
Return ""
End If
End Function
Private Function GetProyectosSinGV(DT As DataTable) As DataTable
Dim SB As New StringBuilder
Dim prefix As String = ""
For Each item As GridViewRow In GvSubProyectos.Rows
SB.Append(prefix)
SB.Append(item.DataKey("CveSubProyecto"))
prefix = ","
Next
If SB.Length > 0 Then
Return DT.FiltraParametros($"CveSubProyecto NOT IN ({SB.ToString})", "", {"CveProyecto", "Proyecto"})
Else
Return DT
End If
End Function
Private Sub SoloSubProyectos()
TdProyecto1.Visible = False
TdProyecto2.Visible = False
ChkAsIgnarProyecto.Visible = False
LtTituloSubProyecto.Text = "Proyecto"
If UsuarioControlado Then
DdlSubProyecto.DataSource = DtSubProyectosControlado.FiltraParametros($"CveEmpresa = {DdlEmpresaAsignaciones.SelectedValue}")
Else
DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
End If
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
UpAsignaciones.Update()
GvSubProyectos.Columns(0).Visible = False
End Sub
Protected Sub CboProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargaSubProyectos(DdlProyecto.SelectedValue.ToEntero, DdlEmpresaAsignaciones.SelectedValue.ToEntero())
End Sub
Private Sub CargaSubProyectos(Optional CveProyectoFiltrado As Integer = -1, Optional CveEmpresaFiltro As Integer = -1)
Dim CveEmpresaRef As Integer = UsuarioActual.CveEmpresa
If CveEmpresaFiltro > 0 Then
CveEmpresaRef = CveEmpresaFiltro
End If
DdlSubProyecto.Items.Clear()
If CveProyectoFiltrado > 0 Then
Dim SubProyectosSinGV As String = GetSubProyectosSinGV()
If UsuarioControlado Then
DdlSubProyecto.DataSource = DtSubProyectosControlado.FiltraParametros($"CveProyecto = {CveProyectoFiltrado} {If(SubProyectosSinGV.Length > 0, $"AND {SubProyectosSinGV}", "")}")
'NO SE PARA QUE SE USA - COMENTADO IPP 30 AGOSTO 2017
'If SubProyectosSinGV.Length > 0 Then
'Dim DTPSubProyectoFiltrado As DataTable = DtSubProyectosControlado.FiltraParametros($"CveProyecto = {CveProyectoFiltrado} AND {SubProyectosSinGV}")
'If DTPSubProyectoFiltrado.Rows.Count = 0 Then
'If CveProyectoFiltrado > 0 Then
' DdlSubProyecto.DataSource = DtSubProyectosControlado.FiltraParametros($"CveEmpresa = {DdlEmpresaAsignaciones.SelectedValue} AND CveProyecto <> {CveProyectoFiltrado}").FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
' DdlSubProyecto.DataBind()
'Else
' DdlSubProyecto.DataSource = DtSubProyectosControlado.FiltraParametros($"CveEmpresa = {DdlEmpresaAsignaciones.SelectedValue}").FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
' DdlSubProyecto.DataBind()
'End If
'End If
' DdlSubProyecto.DataSource = DTPSubProyectoFiltrado
'Else
' DdlSubProyecto.DataSource = DtSubProyectosControlado.FiltraParametros($"CveProyecto = {CveProyectoFiltrado}")
'End If
Else
'DdlSubProyecto.DataSource = GlobalDTSubProyectos(If(CveProyectoFiltrado > 0, CveProyectoFiltrado, DdlProyecto.SelectedValue.ToEntero)).FiltraParametros(If(SubProyectosSinGV.Length > 0, SubProyectosSinGV, ""))
DdlSubProyecto.DataSource = GlobalDTSubProyectos(CveEmpresaRef, CveProyecto:=If(CveProyectoFiltrado > 0, CveProyectoFiltrado, DdlProyecto.SelectedValue.ToEntero)).FiltraParametros(If(SubProyectosSinGV.Length > 0, SubProyectosSinGV, ""))
'NO SE PARA QUE SE USA - COMENTADO IPP 30 AGOSTO 2017
'If SubProyectosSinGV.Length > 0 Then
' Dim SubProyectoFiltrado As DataTable = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero).FiltraParametros(SubProyectosSinGV)
' DdlSubProyecto.DataSource = SubProyectoFiltrado
' If SubProyectoFiltrado.Rows.Count = 0 Then
' If CveProyectoFiltrado > 0 Then
' DdlSubProyecto.DataSource = GlobalDTProyectos(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltraParametros($"CveProyecto <> {CveProyectoFiltrado}").FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
' DdlSubProyecto.DataBind()
' Else
' DdlSubProyecto.DataSource = GlobalDTProyectos(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
' DdlSubProyecto.DataBind()
' End If
' End If
'Else
' DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero)
'End If
End If
End If
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione el SubProyecto", "-1"))
End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs)
DdlSubProyecto.Items.Clear()
If DdlProyecto.SelectedValue.ToEntero > 0 Then
DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero)
End If
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione el SubProyecto", "-1"))
End Sub
Protected Sub LBAgregarSubProyecto_Click(sender As Object, e As EventArgs)
Dim CveSubProyectoNuevo As String = DdlSubProyecto.SelectedValue
Dim DtValida As DataTable = DtSubProyectos.FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyecto.SelectedValue))
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr As DataRow() = DtSubProyectos.Select(String.Format("CveSubProyecto = {0}", DdlSubProyecto.SelectedValue))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr As DataRow() = DtSubProyectos.Select(String.Format("CveSubProyecto = {0}", DdlSubProyecto.SelectedValue))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
Else
Alert("El SubProyecto ya se encuentra agregado.", TipoMensaje.MsgAdvertencia)
End If
Else
Dim dr As DataRow = DtSubProyectos.NewRow
dr("CveProyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", DdlProyecto.SelectedValue)
dr("Proyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", DdlProyecto.SelectedItem.Text)
dr("CveSubProyecto") = DdlSubProyecto.SelectedValue
dr("SubProyecto") = DdlSubProyecto.SelectedItem.Text
dr("CveEmpresa") = DdlEmpresaAsignaciones.SelectedValue
dr("Accion") = 1
DtSubProyectos.Rows.Add(dr)
End If
Dim CveProyectoFiltrada As Integer = DdlProyecto.SelectedValue.ToEntero
CargaGvSubProyectos()
CargaSubProyectos(CveProyectoFiltrada)
'If CveUsuario > 0 Then
' Dim ObjOC As New ClsOC()
' Dim HuboError As Boolean = False
' ObjOC.IniciaTransacSQL()
' GuardaEstatusProyectosREQ(ObjOC, HuboError)
' GuardaEstatusProyectoOC(ObjOC, HuboError)
' If Not HuboError Then
' ObjOC.Commit()
' Else
' ObjOC.RollBack()
' End If
' ObjOC.Dispose()
'End If
CargaGridEstatusUsuarioOC("Req")
CargaGridEstatusUsuarioOC("OC")
CargaProyectos()
End Sub
Private Sub CargaDtSubProyectos()
Dim ClsUsuarios As New ClsSisUsuarios
If ClsUsuarios.GetSubProyectos(CveUsuario) Then
DtSubProyectos = ClsUsuarios.DtResultados
If Not CveUsuario > 0 Then
DtSubProyectos.Rows.Clear()
DtSubProyectos.AcceptChanges()
End If
Else
DtSubProyectos = Nothing
Alert("Ocurrió un Error al cargar los SubProyectos del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ClsUsuarios.Dispose()
If DtSubProyectos IsNot Nothing Then
DtSubProyectos.Columns.Add("ViejoCveSubProyecto", GetType(Integer))
DtSubProyectos.Columns.Add("Accion", GetType(Integer))
End If
CargaGvSubProyectos()
End Sub
Private Sub CargaGvSubProyectos()
GvSubProyectos.DataSource = DtSubProyectos.FiltraParametros(String.Format("CveEmpresa = {0} And (isnull(Accion, 0) < 2 Or Accion = 4)", DdlEmpresaAsignaciones.SelectedValue.ToEntero))
GvSubProyectos.DataBind()
DdlSubProyectos.Items.Clear()
DdlSubProyectos.DataSource = DtSubProyectos.FiltraParametros(String.Format("CveEmpresa = {0} AND EsSucursal = 1 And (isnull(Accion, 0) < 2 Or Accion = 4)", DdlEmpresaAsignaciones.SelectedValue.ToEntero))
DdlSubProyectos.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlSubProyectos.SelectedValue = "-1"
DdlSubProyectos.DataBind()
If DtSubProyectos.FiltraParametros(String.Format("CveEmpresa = {0} And CveSubProyecto = {1} And EsSucursal = 1 And (isnull(Accion, 0) < 2 Or Accion = 4)", DdlEmpresaAsignaciones.SelectedValue.ToEntero, CveSubProyecto)) IsNot Nothing Then
DdlSubProyectos.SelectedValueExist(CveSubProyecto)
End If
End Sub
Protected Sub ChkAsIgnarProyecto_CheckedChanged(sender As Object, e As EventArgs)
If ChkAsIgnarProyecto.Checked Then
If DdlProyecto.SelectedValue.ToEntero > 0 Then
For Each item As ListItem In DdlSubProyecto.Items
Dim CveSubProyectoNuevo As String = item.Value
If CveSubProyectoNuevo.ToEntero > 0 Then
Dim DtValida As DataTable = DtSubProyectos.FiltraParametros(String.Format("CveSubProyecto = {0}", CveSubProyectoNuevo))
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr As DataRow() = DtSubProyectos.Select(String.Format("CveSubProyecto = {0}", CveSubProyectoNuevo))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr As DataRow() = DtSubProyectos.Select(String.Format("CveSubProyecto = {0}", CveSubProyectoNuevo))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
End If
Else
Dim dr As DataRow = DtSubProyectos.NewRow
dr("CveProyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", DdlProyecto.SelectedValue)
dr("Proyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", DdlProyecto.SelectedItem.Text)
dr("CveSubProyecto") = CveSubProyectoNuevo
dr("SubProyecto") = item.Text
dr("CveEmpresa") = DdlEmpresaAsignaciones.SelectedValue
dr("Accion") = 1
DtSubProyectos.Rows.Add(dr)
End If
End If
Next
Dim CveProyectoFiltrada As Integer = DdlProyecto.SelectedValue.ToEntero
CargaGvSubProyectos()
CargaSubProyectos(CveProyectoFiltrada)
'If CveUsuario > 0 Then
' Dim ObjOC As New ClsOC()
' Dim HuboError As Boolean = False
' ObjOC.IniciaTransacSQL()
' GuardaEstatusProyectosREQ(ObjOC, HuboError)
' GuardaEstatusProyectoOC(ObjOC, HuboError)
' If Not HuboError Then
' ObjOC.Commit()
' Else
' ObjOC.RollBack()
' End If
' ObjOC.Dispose()
'End If
CargaGridEstatusUsuarioOC("Req")
CargaGridEstatusUsuarioOC("OC")
CargaProyectos()
Else
Alert("Tiene que seleccionar un proyecto", TipoMensaje.MsgAdvertencia)
End If
End If
ChkAsIgnarProyecto.Checked = False
End Sub
Protected Sub ChkAsignarAllProyectos_CheckedChanged(sender As Object, e As EventArgs)
If ChkAsignarAllProyectos.Checked Then
If TdProyecto2.Visible Then
Dim DtProyectos As New DataTable
DtProyectos.Columns.Add("CveProyecto")
For Each itemProyecto As ListItem In DdlProyecto.Items
If itemProyecto.Value.ToEntero > 0 Then
Dim CveProyectoNuevo As String = itemProyecto.Value
CargaSubProyectos(CveProyectoNuevo.ToEntero)
For Each item As ListItem In DdlSubProyecto.Items
Dim CveSubProyectoNuevo As String = item.Value
If CveSubProyectoNuevo.ToEntero > 0 Then
Dim DtValida As DataTable = DtSubProyectos.FiltraParametros(String.Format("CveSubProyecto = {0}", CveSubProyectoNuevo))
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr As DataRow() = DtSubProyectos.Select(String.Format("CveSubProyecto = {0}", CveSubProyectoNuevo))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr As DataRow() = DtSubProyectos.Select(String.Format("CveSubProyecto = {0}", CveSubProyectoNuevo))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
End If
Else
Dim dr As DataRow = DtSubProyectos.NewRow
dr("CveProyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", CveProyectoNuevo)
dr("Proyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", itemProyecto.Text)
dr("CveSubProyecto") = CveSubProyectoNuevo
dr("SubProyecto") = item.Text
dr("CveEmpresa") = DdlEmpresaAsignaciones.SelectedValue
dr("Accion") = 1
DtSubProyectos.Rows.Add(dr)
End If
End If
Next
Dim DrPro As DataRow
DrPro = DtProyectos.NewRow
DrPro("CveProyecto") = CveProyectoNuevo
DtProyectos.Rows.Add(DrPro)
DtProyectos.AcceptChanges()
End If
Next
For Each Dr As DataRow In DtProyectos.Rows
Dim CveProyectoFiltrada As Integer = Dr("CveProyecto").ToString.ToEntero
CargaGvSubProyectos()
CargaSubProyectos(CveProyectoFiltrada)
'If CveUsuario > 0 Then
' Dim ObjOC As New ClsOC()
' Dim HuboError As Boolean = False
' ObjOC.IniciaTransacSQL()
' GuardaEstatusProyectosREQ(ObjOC, HuboError)
' GuardaEstatusProyectoOC(ObjOC, HuboError)
' If Not HuboError Then
' ObjOC.Commit()
' Else
' ObjOC.RollBack()
' End If
' ObjOC.Dispose()
'End If
CargaGridEstatusUsuarioOC("Req")
CargaGridEstatusUsuarioOC("OC")
CargaProyectos()
Next
Else
For Each item As ListItem In DdlSubProyecto.Items
Dim CveSubProyectoNuevo As String = item.Value
If CveSubProyectoNuevo.ToEntero > 0 Then
Dim DrS As DataRow = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=item.Value.ToEntero)(0)
Dim DtValida As DataTable = DtSubProyectos.FiltraParametros(String.Format("CveSubProyecto = {0}", CveSubProyectoNuevo))
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr As DataRow() = DtSubProyectos.Select(String.Format("CveSubProyecto = {0}", CveSubProyectoNuevo))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr As DataRow() = DtSubProyectos.Select(String.Format("CveSubProyecto = {0}", CveSubProyectoNuevo))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
End If
Else
Dim dr As DataRow = DtSubProyectos.NewRow
dr("CveProyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", DrS("CveProyecto").ToString)
dr("Proyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", DrS("Proyecto"))
dr("CveSubProyecto") = CveSubProyectoNuevo
dr("SubProyecto") = item.Text
dr("CveEmpresa") = DdlEmpresaAsignaciones.SelectedValue
dr("Accion") = 1
DtSubProyectos.Rows.Add(dr)
End If
Dim CveProyectoFiltrada As Integer = -1
CargaGvSubProyectos()
CargaSubProyectos(CveProyectoFiltrada)
'If CveUsuario > 0 Then
' Dim ObjOC As New ClsOC()
' Dim HuboError As Boolean = False
' ObjOC.IniciaTransacSQL()
' GuardaEstatusProyectosREQ(ObjOC, HuboError)
' GuardaEstatusProyectoOC(ObjOC, HuboError)
' If Not HuboError Then
' ObjOC.Commit()
' Else
' ObjOC.RollBack()
' End If
' ObjOC.Dispose()
'End If
CargaGridEstatusUsuarioOC("Req")
CargaGridEstatusUsuarioOC("OC")
CargaProyectos()
End If
Next
End If
End If
ChkAsignarAllProyectos.Checked = False
End Sub
#Region "GV SUBPROYECTOS"
Protected Sub GvSubProyectos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvSubProyectos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.FCDropDownList("DdlSubProyecto") IsNot Nothing Then
e.Row.FCDropDownList("DdlProyecto").DataSource = GlobalDTProyectos(DdlEmpresaAsignaciones.SelectedValue.ToEntero)
e.Row.FCDropDownList("DdlProyecto").DataBind()
e.Row.FCDropDownList("DdlProyecto").SelectedValue = e.Row.DBCampo("CveProyecto")
e.Row.FCDropDownList("DdlSubProyecto").DataSource = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, GlobalDTSubProyectos(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"}), GlobalDTSubProyectos(e.Row.DBCampo("CveProyecto").ToEntero))
e.Row.FCDropDownList("DdlSubProyecto").DataBind()
e.Row.FCDropDownList("DdlSubProyecto").SelectedValue = e.Row.DBCampo("CveSubProyecto")
End If
End If
End Sub
Protected Sub GvSubProyectos_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvSubProyectos.RowDeleting
Dim Dr As DataRow() = DtSubProyectos.Select(String.Format("CveSubProyecto = {0}", GvSubProyectos.Rows(e.RowIndex).DataKey("CveSubProyecto")))
If Dr(0)("Accion").ToString = "1" Then
Dr(0)("Accion") = 3
Else
Dr(0)("Accion") = 2
End If
DtSubProyectos.AcceptChanges()
CargaGvSubProyectos()
CargaSubProyectos()
CargaProyectos()
CargaGridEstatusUsuarioOC("Req")
CargaGridEstatusUsuarioOC("OC")
End Sub
Protected Sub GvSubProyectos_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvSubProyectos.RowEditing
GvSubProyectos.EditIndex = e.NewEditIndex
CargaSubProyectos()
CargaGvSubProyectos()
End Sub
Protected Sub GvSubProyectos_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles GvSubProyectos.RowUpdating
If DtSubProyectos.Rows(e.RowIndex)("CveSubProyecto").ToString = GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedValue Then
'No hago nada nomas quito el modo edicion
GvSubProyectos.EditIndex = -1
Else
Dim DtValida As DataTable = DtSubProyectos.FiltraParametros(String.Format("CveSubProyecto = {0}", GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedValue))
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr As DataRow() = DtSubProyectos.Select(String.Format("CveSubProyecto = {0}", GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedValue))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
DtSubProyectos.Rows.RemoveAt(e.RowIndex)
GvSubProyectos.EditIndex = -1
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr As DataRow() = DtSubProyectos.Select(String.Format("CveSubProyecto = {0}", GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedValue))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
DtSubProyectos.Rows.RemoveAt(e.RowIndex)
GvSubProyectos.EditIndex = -1
Else
Alert("El SubProyecto ya se encuentra agregado.", TipoMensaje.MsgAdvertencia)
End If
Else
If DtSubProyectos.Rows(e.RowIndex)("Accion").ToString.ToEntero = 0 Then
DtSubProyectos.Rows(e.RowIndex)("CveProyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlProyecto").SelectedValue)
DtSubProyectos.Rows(e.RowIndex)("Proyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlProyecto").SelectedItem.Text)
DtSubProyectos.Rows(e.RowIndex)("ViejoCveSubProyecto") = DtSubProyectos.Rows(e.RowIndex)("CveSubProyecto")
DtSubProyectos.Rows(e.RowIndex)("CveSubProyecto") = GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedValue
DtSubProyectos.Rows(e.RowIndex)("SubProyecto") = GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedItem.Text
DtSubProyectos.Rows(e.RowIndex)("Accion") = 4
ElseIf DtSubProyectos.Rows(e.RowIndex)("Accion").ToString.ToEntero = 4 Or DtSubProyectos.Rows(e.RowIndex)("Accion").ToString.ToEntero = 1 Then
DtSubProyectos.Rows(e.RowIndex)("CveProyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlProyecto").SelectedValue)
DtSubProyectos.Rows(e.RowIndex)("Proyecto") = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero = 66, "-1", GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlProyecto").SelectedItem.Text)
DtSubProyectos.Rows(e.RowIndex)("CveSubProyecto") = GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedValue
DtSubProyectos.Rows(e.RowIndex)("SubProyecto") = GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedItem.Text
End If
GvSubProyectos.EditIndex = -1
End If
End If
CargaGvSubProyectos()
CargaProyectos()
CargaGridEstatusUsuarioOC("Req")
CargaGridEstatusUsuarioOC("OC")
'Dim ClsUsuarios As New ClsSisUsuarios
'If ClsUsuarios.UpdateSubProyectos(CveUsuario, GvSubProyectos.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero) Then
' Alert("El SubProyecto se actualizo correctamente", TipoMensaje.MsgInformacion)
' GvSubProyectos.EditIndex = -1
'Else
' Alert("Ocurrió un problema al actualizar el SubProyecto. Por favor vuelva a intentar", TipoMensaje.MsgError)
'End If
'ClsUsuarios.Dispose()
'CargaGvSubProyectos()
End Sub
Protected Sub GvSubProyectos_RowCancelingEdit(sender As Object, e As GridViewCancelEditEventArgs) Handles GvSubProyectos.RowCancelingEdit
GvSubProyectos.EditIndex = -1
CargaGvSubProyectos()
End Sub
#End Region
#End Region
#Region " ALMACENES "
Private Function GetAlmacenesSinGV() As String
Dim SB As New StringBuilder
Dim prefix As String = ""
For Each item As GridViewRow In GvAlmacenes.Rows
SB.Append(prefix)
SB.Append(item.DataKey("CveAlmacen"))
prefix = ","
Next
If SB.Length > 0 Then
Return $"CveAlmacen Not In ({SB.ToString})"
Else
Return ""
End If
End Function
Private Sub CargarAlmacen()
ddlAlmacen.Items.Clear()
Dim AlmacenesDdl As String = GetAlmacenesSinGV()
If DdlEmpresaAsignaciones.SelectedValue.ToEntero > 0 Then
If UsuarioControlado Then
If AlmacenesDdl.Length > 0 Then
ddlAlmacen.DataSource = DtAlmacenesControlado.FiltraParametros($"CveEmpresa = {DdlEmpresaAsignaciones.SelectedValue} And {AlmacenesDdl}")
Else
ddlAlmacen.DataSource = DtAlmacenesControlado.FiltraParametros($"CveEmpresa = {DdlEmpresaAsignaciones.SelectedValue}")
End If
Else
If AlmacenesDdl.Length > 0 Then
ddlAlmacen.DataSource = GlobalDTAlmacen(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltraParametros(AlmacenesDdl)
Else
ddlAlmacen.DataSource = GlobalDTAlmacen(DdlEmpresaAsignaciones.SelectedValue.ToEntero)
End If
End If
End If
ddlAlmacen.DataBind()
ddlAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1"))
ddlAlmacen.Items.Insert(1, New ListItem("Todos", "-2"))
UpDatos.Update()
End Sub
Protected Sub LBAgregarAlmacen_Click(sender As Object, e As EventArgs)
Dim DtValida As DataTable = DtAlmacenes.FiltraParametros(String.Format("CveAlmacen = {0}", ddlAlmacen.SelectedValue))
If ddlAlmacen.SelectedValue = "-2" Then
DtAlmacenes.Rows.Clear()
For Each Item As ListItem In ddlAlmacen.Items
Dim dr As DataRow = DtAlmacenes.NewRow
If Item.Value <> "-1" AndAlso Item.Value <> "-2" Then
dr("CveAlmacen") = Item.Value
dr("Almacen") = Item.Text
dr("CveEmpresa") = DdlEmpresaAsignaciones.SelectedValue
dr("Accion") = 1
DtAlmacenes.Rows.Add(dr)
End If
Next
Else
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr As DataRow() = DtAlmacenes.Select(String.Format("CveAlmacen = {0}", ddlAlmacen.SelectedValue))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr As DataRow() = DtAlmacenes.Select(String.Format("CveAlmacen = {0}", ddlAlmacen.SelectedValue))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
Else
Alert("El Almacen ya se encuentra agregado.", TipoMensaje.MsgAdvertencia)
End If
Else
Dim dr As DataRow = DtAlmacenes.NewRow
dr("CveAlmacen") = ddlAlmacen.SelectedValue
dr("Almacen") = ddlAlmacen.SelectedItem.Text
dr("CveEmpresa") = DdlEmpresaAsignaciones.SelectedValue
dr("Accion") = 1
DtAlmacenes.Rows.Add(dr)
End If
End If
CargaGVAlmacen()
CargaAlmacenes()
CargarAlmacen()
End Sub
Private Sub CargaDtAlmacen()
Dim ClsUsuarios As New ClsSisUsuarios
If ClsUsuarios.GetAlmacen(CveUsuario, UsuarioActual.CveEmpresa) Then
DtAlmacenes = ClsUsuarios.DtResultados.FiltraParametros(String.Format("CveUsuario = {0}", CveUsuario))
Else
DtAlmacenes = Nothing
Alert("Ocurrió un Error al cargar los Almacenes del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ClsUsuarios.Dispose()
DtAlmacenes.Columns.Add("ViejoCveAlmacen", GetType(Integer))
DtAlmacenes.Columns.Add("Accion", GetType(Integer))
CargaGVAlmacen()
End Sub
Private Sub CargaGVAlmacen()
GvAlmacenes.DataSource = DtAlmacenes.FiltraParametros(String.Format("CveEmpresa = {0} And (isnull(Accion,0) < 2 Or Accion = 4)", DdlEmpresaAsignaciones.SelectedValue.ToEntero))
GvAlmacenes.DataBind()
End Sub
#Region "GV ALMACENES"
Protected Sub GvAlmacenes_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvAlmacenes.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowState = DataControlRowState.Edit Then
e.Row.FCDropDownList("ddlAlmacen").DataSource = GlobalDTAlmacen(DdlEmpresaAsignaciones.SelectedValue.ToEntero)
e.Row.FCDropDownList("ddlAlmacen").DataBind()
e.Row.FCDropDownList("ddlAlmacen").SelectedValue = e.Row.DBCampo("CveAlmacen")
End If
End If
End Sub
Protected Sub GvAlmacenes_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvAlmacenes.RowDeleting
Dim Dr As DataRow() = DtAlmacenes.Select(String.Format("CveAlmacen = {0}", GvAlmacenes.Rows(e.RowIndex).DataKey("CveAlmacen")))
If Dr(0)("Accion").ToString = "1" Then
Dr(0)("Accion") = 3
Else
Dr(0)("Accion") = 2
End If
DtAlmacenes.AcceptChanges()
CargaGVAlmacen()
CargarAlmacen()
End Sub
Protected Sub GvAlmacenes_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvAlmacenes.RowEditing
GvAlmacenes.EditIndex = e.NewEditIndex
CargaGVAlmacen()
End Sub
Protected Sub GvAlmacenes_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles GvAlmacenes.RowUpdating
If DtAlmacenes.Rows(e.RowIndex)("CveAlmacen").ToString = GvAlmacenes.Rows(e.RowIndex).FCDropDownList("DdlAlmacen").SelectedValue Then
'No hago nada nomas quito el modo edicion
GvAlmacenes.EditIndex = -1
Else
Dim DtValida As DataTable = DtAlmacenes.FiltraParametros(String.Format("CveAlmacen = {0}", GvAlmacenes.Rows(e.RowIndex).FCDropDownList("DdlAlmacen").SelectedValue))
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr As DataRow() = DtAlmacenes.Select(String.Format("CveAlmacen = {0}", GvAlmacenes.Rows(e.RowIndex).FCDropDownList("DdlAlmacen").SelectedValue))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
DtAlmacenes.Rows.RemoveAt(e.RowIndex)
GvAlmacenes.EditIndex = -1
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr As DataRow() = DtAlmacenes.Select(String.Format("CveAlmacen = {0}", GvAlmacenes.Rows(e.RowIndex).FCDropDownList("DdlAlmacen").SelectedValue))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
DtAlmacenes.Rows.RemoveAt(e.RowIndex)
GvAlmacenes.EditIndex = -1
Else
Alert("El SubProyecto ya se encuentra agregado.", TipoMensaje.MsgAdvertencia)
End If
Else
If DtAlmacenes.Rows(e.RowIndex)("Accion").ToString.ToEntero = 0 Then
DtAlmacenes.Rows(e.RowIndex)("ViejoCveAlmacen") = DtAlmacenes.Rows(e.RowIndex)("CveAlmacen")
DtAlmacenes.Rows(e.RowIndex)("CveAlmacen") = GvAlmacenes.Rows(e.RowIndex).FCDropDownList("DdlAlmacen").SelectedValue
DtAlmacenes.Rows(e.RowIndex)("Almacen") = GvAlmacenes.Rows(e.RowIndex).FCDropDownList("DdlAlmacen").SelectedItem.Text
DtAlmacenes.Rows(e.RowIndex)("Accion") = 4
ElseIf DtAlmacenes.Rows(e.RowIndex)("Accion").ToString.ToEntero = 4 Or DtAlmacenes.Rows(e.RowIndex)("Accion").ToString.ToEntero = 1 Then
DtAlmacenes.Rows(e.RowIndex)("CveAlmacen") = GvAlmacenes.Rows(e.RowIndex).FCDropDownList("DdlAlmacen").SelectedValue
DtAlmacenes.Rows(e.RowIndex)("Almacen") = GvAlmacenes.Rows(e.RowIndex).FCDropDownList("DdlAlmacen").SelectedItem.Text
End If
GvAlmacenes.EditIndex = -1
End If
End If
CargaGVAlmacen()
CargarAlmacen()
'Dim ClsUsuarios As New ClsSisUsuarios
'If ClsUsuarios.UpdateAlmacen(CveUsuario, GvAlmacenes.Rows(e.RowIndex).FCDropDownList("DdlAlmacen").SelectedValue.ToEntero) Then
' Alert("El Almacen se actualizo correctamente", TipoMensaje.MsgInformacion)
' GvAlmacenes.EditIndex = -1
'Else
' Alert("Ocurrió un problema al actualizar el Almacen. Por favor vuelva a intentar", TipoMensaje.MsgError)
'End If
'ClsUsuarios.Dispose()
'CargaGVAlmacen()
End Sub
Protected Sub GvAlmacenes_RowCancelingEdit(sender As Object, e As GridViewCancelEditEventArgs) Handles GvAlmacenes.RowCancelingEdit
GvAlmacenes.EditIndex = -1
CargaGVAlmacen()
End Sub
#End Region
#End Region
#Region " CUENTAS BANCARIAS "
Private Sub CargaCuentasBancarias()
DdlCuentasBancarias.Items.Clear()
If DdlEmpresaAsignaciones.SelectedValue.ToEntero > 0 Then
If UsuarioControlado Then
DdlCuentasBancarias.DataSource = DtCuentasBancariasControlado.FiltraParametros($"CveEmpresa = {DdlEmpresaAsignaciones.SelectedValue}")
Else
DdlCuentasBancarias.DataSource = GlobalDTBancosCuentas(-1, -1, -1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros($"CveEmpresa = {DdlEmpresaAsignaciones.SelectedValue}", "", {"CveCuenta", "NumCuentaMoneda"})
End If
End If
DdlCuentasBancarias.DataBind()
DdlCuentasBancarias.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
Private Sub CargaDtCuentasBancarias()
DtCuentasBancarias = GlobalDTBancosCuentas(CveUsuario, -1, -1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros($"CveEmpresa = {DdlEmpresaAsignaciones.SelectedValue}")
If Not CveUsuario > 0 Then
DtCuentasBancarias.Rows.Clear()
DtCuentasBancarias.AcceptChanges()
End If
DtCuentasBancarias.Columns.Add("Accion", GetType(Integer))
CargaGvCuentasBancarias()
End Sub
Private Sub CargaGvCuentasBancarias()
GVCuentasBancarias.DataSource = DtCuentasBancarias.FiltraParametros(String.Format("CveEmpresa = {0} And (isnull(Accion,0) < 2 Or Accion = 4)", DdlEmpresaAsignaciones.SelectedValue.ToEntero))
GVCuentasBancarias.DataBind()
End Sub
Protected Sub LBAgregarCuentaBancaria_Click(sender As Object, e As EventArgs)
Dim DtValida As DataTable = DtCuentasBancarias.FiltraParametros(String.Format("CveCuenta = {0}", DdlCuentasBancarias.SelectedValue))
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr As DataRow() = DtCuentasBancarias.Select(String.Format("CveCuenta = {0}", DdlCuentasBancarias.SelectedValue))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr As DataRow() = DtCuentasBancarias.Select(String.Format("CveCuenta = {0}", DdlCuentasBancarias.SelectedValue))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
Else
Alert("La cuenta bancaria ya se encuentra agregada.", TipoMensaje.MsgAdvertencia)
End If
Else
Dim dr As DataRow = DtCuentasBancarias.NewRow
dr("CveCuenta") = DdlCuentasBancarias.SelectedValue
dr("NumCuenta") = DdlCuentasBancarias.SelectedItem.Text
dr("CveEmpresa") = DdlEmpresaAsignaciones.SelectedValue
dr("Accion") = 1
DtCuentasBancarias.Rows.Add(dr)
End If
CargaGvCuentasBancarias()
End Sub
Protected Sub GVCuentasBancarias_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GVCuentasBancarias.RowDeleting
Dim Dr As DataRow() = DtCuentasBancarias.Select(String.Format("CveCuenta = {0}", GVCuentasBancarias.Rows(e.RowIndex).DataKey("CveCuenta")))
If Dr(0)("Accion").ToString = "1" Then
Dr(0)("Accion") = 3
Else
Dr(0)("Accion") = 2
End If
DtCuentasBancarias.AcceptChanges()
CargaGvCuentasBancarias()
End Sub
#End Region
#Region " ESTATUS DE ÓRDENES DE COMPRA"
Private Sub CargaEstatusOrdenesCompra()
' Exit Sub
CreaGridEstatusUsuarioOC("Req")
CreaGridEstatusUsuarioOC("OC")
CargaGridEstatusUsuarioOC("Req")
CargaGridEstatusUsuarioOC("OC")
End Sub
Private Sub CreaGridEstatusUsuarioOC(Tipo As String)
Dim i As Integer = 2, x As Integer = 2
Dim ColumnasOC As Integer = GvEstatusUsuariosOC.Columns.Count
Dim ColumnasReq As Integer = GvEstatusUsuariosREQ.Columns.Count
Dim dtTemp As New DataTable
dtTemp = GlobalDTOCEstatus(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltraParametros($"Tipo = '{Tipo}' ", "Orden")
If Tipo = "Req" Then
For x = 2 To GvEstatusUsuariosREQ.Columns.Count - 1
GvEstatusUsuariosREQ.Columns(x).HeaderText = ""
GvEstatusUsuariosREQ.Columns(x).FooterText = ""
GvEstatusUsuariosREQ.Columns(x).Visible = False
Next
End If
x = 2
If Tipo = "OC" Then
For x = 2 To GvEstatusUsuariosOC.Columns.Count - 1
GvEstatusUsuariosOC.Columns(x).HeaderText = ""
GvEstatusUsuariosOC.Columns(x).FooterText = ""
GvEstatusUsuariosOC.Columns(x).Visible = False
Next
End If
For Each Row As DataRow In GlobalDTOCEstatus(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltraParametros($"Tipo = '{Tipo}' ", "Orden").Rows
If Tipo = "OC" AndAlso i < ColumnasOC Then
GvEstatusUsuariosOC.Columns(i).HeaderText = Row("Estatus").ToString.ToUpper
GvEstatusUsuariosOC.Columns(i).FooterText = Row("CveEstatus").ToString
GvEstatusUsuariosOC.Columns(i).Visible = True
End If
If Tipo = "Req" AndAlso i < ColumnasReq Then
GvEstatusUsuariosREQ.Columns(i).HeaderText = Row("Estatus").ToString.ToUpper
GvEstatusUsuariosREQ.Columns(i).FooterText = Row("CveEstatus").ToString
GvEstatusUsuariosREQ.Columns(i).Visible = True
End If
i += 1
Next
End Sub
Protected Sub CargaGridEstatusUsuarioOC(Tipo As String)
Dim ObjOC As New ClsOC
'Verifica si es usuario nuevo
Dim ClaveEmpresa As Integer = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero > 0, DdlEmpresaAsignaciones.SelectedValue.ToEntero, UsuarioActual.CveEmpresa)
If CveUsuario > 0 Then
If ObjOC.GetEstatusUsuarios(CveUsuario, -1, -1, -1, ClaveEmpresa) Then
DTEstatusSubProyectos = ObjOC.DtResultados
End If
Else
If ObjOC.GetEstatusUsuarioTemporal(CveUsuario, -1, -1, ClaveEmpresa) Then
DTEstatusSubProyectos = ObjOC.DtResultados
End If
End If
Dim sb As New StringBuilder
If GvSubProyectos.DataKeys.Count > 0 Then
For Each Key As DataKey In GvSubProyectos.DataKeys
sb.AppendFormat("{0},", Key.Value)
Next
sb.Remove(sb.Length - 1, 1)
Else
sb.Append("0")
End If
Dim TmpDtSubProyectos As DataTable = GlobalDTSubProyectos(ClaveEmpresa).FiltraParametros($"CveSubProyecto In ({sb.ToString})", "Proyecto", {"CveProyecto", "Proyecto", "CveSubProyecto", "SubProyecto"})
If Tipo = "OC" Then
GvEstatusUsuariosOC.DataSource = TmpDtSubProyectos
GvEstatusUsuariosOC.DataBind()
Else
GvEstatusUsuariosREQ.DataSource = TmpDtSubProyectos
GvEstatusUsuariosREQ.DataBind()
End If
ObjOC.Dispose()
UpAsignaciones.Update()
End Sub
Private Sub GuardaEstatusProyectosREQ(ByRef ObjOC As ClsOC, ByRef HuboErrores As Boolean)
Dim ObjGenerales As New ClsGenerales(ObjOC.IniciaTransacSQL)
For Each Row As GridViewRow In GvEstatusUsuariosREQ.Rows
Dim CveSubProyecto As Integer = Row.DataKey("CveSubProyecto").ToEntero
Dim CveProyecto As Integer = Row.DataKey("CveProyecto").ToEntero
Dim SubProyecto As String = Row.DataKey("SubProyecto")
Dim r As Integer = 1
For i As Integer = 2 To Row.Cells.Count - 1
Dim CveEstatus As Integer = If(IsNumeric(GvEstatusUsuariosREQ.Columns(i).FooterText), GvEstatusUsuariosREQ.Columns(i).FooterText.ToEntero, 0)
Dim EstatusReqStr As String = DTOCEstatus.FiltroPrimeroValor("Estatus", $"CveEmpresa = {UsuarioActual.CveEmpresa} and CveEstatus = {CveEstatus}").ToString
If CveEstatus > -1 Then
If Row.FCCheckBox("chkEstatus" + r.ToString).Checked = False And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero > 0 Then
'Eliminar el registro existente
If Not ObjOC.RemoveEstatusUsuarios(Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero, UsuarioActual.CveUsuario) Then
HuboErrores = True
Exit For
End If
If Not ObjGenerales.AddHistorialBitacora(410, -1, -1, -1, -1, -1, -1, -1, "", $"{SubProyecto} {EstatusReqStr}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, "-1", "-1", "-1", CveUsuarioTabla:=CveUsuario) Then
HuboErrores = True
Exit For
End If
ElseIf Row.FCCheckBox("chkEstatus" + r.ToString).Checked = True And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero = -1 Then
If Not ObjOC.AddEstatusUsuarios(CveEstatus, CveSubProyecto, CveUsuario, True, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
HuboErrores = True
Exit For
End If
If Not ObjGenerales.AddHistorialBitacora(409, -1, -1, -1, -1, -1, -1, -1, $"{SubProyecto} {EstatusReqStr}", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, "-1", "-1", "-1", CveUsuarioTabla:=CveUsuario) Then
HuboErrores = True
Exit For
End If
End If
r += 1
End If
Next
Next
End Sub
Private Sub GuardaEstatusProyectoOC(ByRef ObjOC As ClsOC, ByRef HuboErrores As Boolean)
Dim ObjGenerales As New ClsGenerales(ObjOC.IniciaTransacSQL)
For Each Row As GridViewRow In GvEstatusUsuariosOC.Rows
Dim CveSubProyecto As Integer = Row.DataKey("CveSubProyecto").ToEntero
Dim CveProyecto As Integer = Row.DataKey("CveProyecto").ToEntero
Dim SubProyecto As String = Row.DataKey("SubProyecto")
Dim r As Integer = 1
For i As Integer = 0 To Row.Cells.Count - 1
Dim CveEstatus As Integer = If(IsNumeric(GvEstatusUsuariosOC.Columns(i).FooterText), GvEstatusUsuariosOC.Columns(i).FooterText.ToEntero, -1)
Dim EstatusOCStr As String = DTOCEstatus.FiltroPrimeroValor("Estatus", $"CveEmpresa = {UsuarioActual.CveEmpresa} and CveEstatus = {CveEstatus}").ToString
If CveEstatus > -1 Then
If Row.FCCheckBox("chkEstatus" + r.ToString).Checked = False And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero > 0 Then
'Eliminar el registro existente
If Not ObjOC.RemoveEstatusUsuarios(Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero, UsuarioActual.CveUsuario) Then
HuboErrores = True
Exit For
End If
If Not ObjGenerales.AddHistorialBitacora(408, -1, -1, -1, -1, -1, -1, -1, "", $"{SubProyecto} {EstatusOCStr}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, "-1", "-1", "-1", CveUsuarioTabla:=CveUsuario) Then
HuboErrores = True
Exit For
End If
ElseIf Row.FCCheckBox("chkEstatus" + r.ToString).Checked = True And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero = -1 Then
If Not ObjOC.AddEstatusUsuarios(CveEstatus, CveSubProyecto, CveUsuario, True, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
HuboErrores = True
Exit For
End If
If Not ObjGenerales.AddHistorialBitacora(407, -1, -1, -1, -1, -1, -1, -1, $"{SubProyecto} {EstatusOCStr}", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, "-1", "-1", "-1", CveUsuarioTabla:=CveUsuario) Then
HuboErrores = True
Exit For
End If
End If
r += 1
End If
Next
Next
End Sub
Protected Sub IbOpciones_Click(sender As Object, e As EventArgs)
Dim imgBtn As LinkButton = DirectCast(sender, System.Web.UI.WebControls.LinkButton)
Dim ObjOC As New ClsOC()
Dim CveEstatus As Integer = imgBtn.CommandArgument.ToEntero
Dim Row As GridViewRow = DirectCast(imgBtn.Parent.Parent, GridViewRow) 'Es el Row donde se encuenta el boton
If CveEstatus > -1 Then
Dim CveSubProyecto As Integer = Row.DataKey("CveSubProyecto").ToEntero
chkMostrarLimites.Style("display") = If(GlobalDTOCEstatus(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltroPrimeroValor("TipoTermino", $"CveEstatusSiguiente = {CveEstatus}").ToString.ToEntero = 3, "none", "inline")
If ObjOC.GetEstatusUsuarios(-1, CveEstatus, CveSubProyecto, -1, UsuarioActual.CveEmpresa) Then
ddlSuperior.DataSource = ObjOC.DtResultados.FiltraParametros("", "Nombre DESC", {"CveUsuario", "Nombre", "CveSubProyecto"})
ddlSuperior.DataBind()
ddlSuperior.Items.Insert(0, New ListItem("Todos los Superiores", "-1"))
End If
Try
ddlSuperior.SelectedValue = hdnCveSuperior.Value
Catch ex As Exception
End Try
tblSuperior.Visible = True
Else
tblSuperior.Visible = False
End If
UPSuperior.Update()
UpAsignaciones.Update()
ObjOC.Dispose()
RegistraScript("$('#ImgAddOpc').click();chkMostrarLimitesCambio();")
End Sub
Protected Sub BtnGuardarSuperior_Click(sender As Object, e As EventArgs) Handles BtnGuardarSuperior.Click
Dim ObjOC As New ClsOC
Dim LimiteInferior As Decimal = If(chkMostrarLimites.Checked = False Or txtLimiteInferior.Text.Trim = "" Or txtLimiteInferior.Text.ToDecimal <= 0, -1, txtLimiteInferior.Text.Trim.ToDecimal)
Dim LimiteSuperior As Decimal = If(chkMostrarLimites.Checked = False Or txtLimiteSuperior.Text.Trim = "" Or txtLimiteSuperior.Text.ToDecimal <= 0, -1, txtLimiteSuperior.Text.Trim.ToDecimal)
Dim CveSuperior As Integer = If(tblSuperior.Visible = True, ddlSuperior.SelectedValue.ToEntero, -1)
Dim CveSubProyecto As Integer = CType(ddlSuperior.DataSource, DataTable).FiltroPrimeroValor("CveSubProyecto", $"CveUsuario={CveSuperior}").ToEntero
Dim CveEstatusUsuario As Integer = hdnCveEstatusUsuarios.Value.ToEntero
If Me.CveUsuario > 0 Then
If CveEstatusUsuario = -1 Then
If ObjOC.AddEstatusUsuarios(CveEstatusUsuario, CveSubProyecto, hdnCveUsuario.Value.ToEntero, True, CveSuperior, LimiteSuperior, LimiteInferior, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
RegistraScript($"{IDCellYellow.Value}.style.background-color='yellow'")
End If
Else
ObjOC.UpdateEstatusUsuarios(CveEstatusUsuario, CveSuperior, LimiteSuperior, LimiteInferior)
End If
End If
ObjOC.Dispose()
If tabEstatusUsuarios.ActiveTabIndex = 0 Then
CargaGridEstatusUsuarioOC("Req")
Else
CargaGridEstatusUsuarioOC("OC")
End If
End Sub
#Region "GRIDVIEW"
Protected Sub GvEstatusUsuariosREQ_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstatusUsuariosREQ.RowDataBound
If e.Row.RowType = DataControlRowType.Header Then
For i As Integer = 2 To GvEstatusUsuariosREQ.Columns.Count - 1
Dim CveEstatus As Integer = GvEstatusUsuariosREQ.Columns(i).FooterText.ToEntero
Dim idIndex As Integer = i - 1
If CveEstatus > -1 Then
e.Row.FCLabel($"LblTituloEstatusREQ{idIndex}").Text = GvEstatusUsuariosREQ.Columns(i).HeaderText
End If
Next
End If
If e.Row.RowType = DataControlRowType.DataRow Then
Dim tmpT As DataTable = DTEstatusSubProyectos.FiltraParametros(String.Format("CveSubProyecto = {0}", e.Row.DBCampo("CveSubProyecto").ToString))
For i As Integer = 2 To GvEstatusUsuariosREQ.Columns.Count - 1
Dim CveEstatus As Integer = GvEstatusUsuariosREQ.Columns(i).FooterText.ToEntero
Dim idIndex As Integer = i - 1
If CveEstatus > -1 Then
Dim chkEstatus As CheckBox = e.Row.FCCheckBox($"chkEstatus{idIndex}")
Dim ibOpciones As LinkButton = e.Row.FCLinkButton($"ibOpciones{idIndex}")
Dim ImgClasificaciones As LinkButton = e.Row.FCLinkButton($"ImgClasificaciones{idIndex}")
Dim hdnCveEstatusUsuarios As HiddenField = e.Row.FCHiddenField($"hdnCveEstatusUsuarios{idIndex}")
Dim lblSuperior As Label = e.Row.FCLabel($"lblSuperior{idIndex}")
Dim lblLimites As Label = e.Row.FCLabel($"lblLimites{idIndex}")
chkEstatus.CssClass = $"chkEstatusREQ{idIndex}"
Dim dtTemp As New DataTable
Dim existenPermisosActuales As Boolean
dtTemp = GlobalDTOCEstatus(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltraParametros($"CveEstatus = {CveEstatus}")
If dtTemp.Rows.Count > 0 Then
existenPermisosActuales = True
ibOpciones.CommandArgument = GlobalDTOCEstatus(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltraParametros($"CveEstatus = {CveEstatus}").Rows(0)("CveEstatusSiguiente").ToString
Else
existenPermisosActuales = False
End If
Dim RowESP As DataRowCollection = tmpT.FiltraParametros($"CveEstatus = {CveEstatus}").Rows
Dim CveEstatusUsuarios As Integer = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("CveEstatusUsuarios")), RowESP(0)("CveEstatusUsuarios").ToString.ToEntero, -1)
Dim LimiteInferior As Decimal = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("LimiteInferior")), RowESP(0)("LimiteInferior").ToString.ToDecimal, -1)
Dim LimiteSuperior As Decimal = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("LimiteSuperior")), RowESP(0)("LimiteSuperior").ToString.ToDecimal, -1)
Dim CveSuperior As Integer = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("CveSuperior")), RowESP(0)("CveSuperior").ToString.ToEntero, -1)
Dim CveUsuario As Integer = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("CveUsuario")), RowESP(0)("CveUsuario").ToString.ToEntero, -1)
Dim TipoTermino As Integer = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("TipoTermino")), RowESP(0)("TipoTermino").ToString.ToEntero, -1) ' 0. supervisada, 1. autorizada, 2. rechazada
If existenPermisosActuales Then
If RowESP.Count > 0 Then
chkEstatus.Checked = True
chkEstatus.Attributes.Add("onclick", String.Format("javascript:chk1Change(this, '{0}');", ibOpciones.ClientID))
hdnCveEstatusUsuarios.Value = RowESP(0)("CveEstatusUsuarios").ToString
ibOpciones.Style.Add("display", "inline")
ImgClasificaciones.Style.Add("display", "inline")
ImgClasificaciones.CommandArgument = CveEstatusUsuarios.ToString
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.Append("hdnCveEstatus.value = '-1';")
script.Append("hdnCveUsuario.value = '-1';")
script.AppendFormat("hdnCveSuperior.value = '{0}'; ", CveSuperior)
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0 Or TipoTermino.Contiene(0, 1, 2), "true", "false"))
script.AppendFormat("$get('DivLimites').style.display = '{0}';", If(LimiteInferior > 0 Or LimiteSuperior > 0, "inline", "none"))
script.AppendFormat("txtLimiteInferior.value = '{0}'; ", If(LimiteInferior > 0, LimiteInferior.FormatoNumero, ""))
script.AppendFormat("txtLimiteSuperior.value = '{0}'; ", If(LimiteSuperior > 0, LimiteSuperior.FormatoNumero, ""))
ibOpciones.Attributes.Add("onclick", script.ToString)
lblSuperior.Text = RowESP(0)("Superior").ToString
If LimiteSuperior = -1 And LimiteInferior = -1 Then
'Sin Limite
ElseIf LimiteSuperior > 0 And LimiteInferior = -1 Then
'Solo Limite Superior
lblLimites.Text = String.Format("Hasta {0}", LimiteSuperior.ToString("N"))
ElseIf LimiteInferior > 0 And LimiteSuperior = -1 Then
'Solo limite Inferior
lblLimites.Text = String.Format("Desde {0}", LimiteInferior.ToString("N"))
Else
'Con Limites
lblLimites.Text = String.Format("{0} - {1}", LimiteInferior.ToString("N"), LimiteSuperior.ToString("N"))
End If
e.Row.Cells(i).BackColor = Drawing.Color.LightGoldenrodYellow
If DTEstatusSubProyectos.FiltraParametros(String.Format("CveEstatusSiguiente = {0} AND CveSuperior = {1}", CveEstatus, CveUsuario)).Rows.Count > 0 Then
chkEstatus.Attributes.Add("onclick", "javascript:var retorno = true; if (this.checked == false) retorno = confirm('Estas seguro????'); return retorno;")
End If
Else
chkEstatus.Checked = False
hdnCveEstatusUsuarios.Value = "-1"
ibOpciones.Style.Add("display", "none")
ImgClasificaciones.Style.Add("display", "none")
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.AppendFormat("hdnCveEstatus.value = '{0}';", CveEstatus)
script.AppendFormat("hdnCveUsuario.value = '{0}';", e.Row.DBCampo("CveSubProyecto").ToString)
script.AppendFormat("hdnCveSuperior.value = '-1'; ")
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0, "true", "false"))
script.AppendFormat("txtLimiteInferior.value = '0.00'; ")
script.AppendFormat("txtLimiteSuperior.value = '0.00'; ")
ibOpciones.Attributes.Add("onclick", script.ToString)
End If
Else
chkEstatus.Checked = False
hdnCveEstatusUsuarios.Value = "-1"
ibOpciones.Style.Add("display", "none")
ImgClasificaciones.Style.Add("display", "none")
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.AppendFormat("hdnCveEstatus.value = '{0}';", CveEstatus)
script.AppendFormat("hdnCveUsuario.value = '{0}';", e.Row.DBCampo("CveSubProyecto").ToString)
script.AppendFormat("hdnCveSuperior.value = '-1'; ")
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0, "true", "false"))
script.AppendFormat("txtLimiteInferior.value = '0.00'; ")
script.AppendFormat("txtLimiteSuperior.value = '0.00'; ")
ibOpciones.Attributes.Add("onclick", script.ToString)
End If
'VALIDA LOS ESTATUS QUE TIENE EL USUARIO
If DTEstatusOCAsignar IsNot Nothing AndAlso DTEstatusOCAsignar.Rows.Count > 0 Then
Dim dtReq As DataTable = DTEstatusOCAsignar.FiltraParametros("Tipo='Req'")
Dim DtValida As DataTable = dtReq.FiltraParametros($"CveEstatus={CveEstatus}")
Dim Habilitado As Boolean = (DtValida IsNot Nothing AndAlso DtValida.Rows.Count = 1)
chkEstatus.Enabled = Habilitado
ibOpciones.Enabled = Habilitado
ImgClasificaciones.Enabled = Habilitado
End If
End If
Next
End If
End Sub
Protected Sub GvEstatusUsuariosOC_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstatusUsuariosOC.RowDataBound
If e.Row.RowType = DataControlRowType.Header Then
For i As Integer = 2 To GvEstatusUsuariosOC.Columns.Count - 1
Dim CveEstatus As Integer = GvEstatusUsuariosOC.Columns(i).FooterText.ToEntero
Dim idIndex As Integer = i - 1
If CveEstatus > -1 Then
e.Row.FCLabel($"LblTituloEstatus{idIndex}").Text = GvEstatusUsuariosOC.Columns(i).HeaderText
End If
Next
End If
If e.Row.RowType = DataControlRowType.DataRow Then
Dim tmpT As DataTable = DTEstatusSubProyectos.FiltraParametros(String.Format("CveSubProyecto = {0}", e.Row.DBCampo("CveSubProyecto").ToString))
For i As Integer = 2 To GvEstatusUsuariosOC.Columns.Count - 1
Dim CveEstatus As Integer = GvEstatusUsuariosOC.Columns(i).FooterText.ToEntero
Dim idIndex As Integer = i - 1
If CveEstatus > -1 Then
Dim chkEstatus As CheckBox = e.Row.FCCheckBox($"chkEstatus{idIndex}")
Dim ibOpciones As LinkButton = e.Row.FCLinkButton($"ibOpciones{idIndex}")
Dim ImgClasificaciones As LinkButton = e.Row.FCLinkButton($"ImgClasificaciones{idIndex}")
Dim hdnCveEstatusUsuarios As HiddenField = e.Row.FCHiddenField($"hdnCveEstatusUsuarios{idIndex}")
Dim lblSuperior As Label = e.Row.FCLabel($"lblSuperior{idIndex}")
Dim lblLimites As Label = e.Row.FCLabel($"lblLimites{idIndex}")
chkEstatus.CssClass = $"chkEstatus{idIndex}"
Dim dtTemp As New DataTable
Dim existenPermisosActuales As Boolean
dtTemp = GlobalDTOCEstatus(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltraParametros($"CveEstatus = {CveEstatus}")
If dtTemp.Rows.Count > 0 Then
existenPermisosActuales = True
ibOpciones.CommandArgument = GlobalDTOCEstatus(DdlEmpresaAsignaciones.SelectedValue.ToEntero).FiltraParametros($"CveEstatus = {CveEstatus}").Rows(0)("CveEstatusSiguiente").ToString
Else
existenPermisosActuales = False
End If
Dim RowESP As DataRowCollection = tmpT.FiltraParametros($"CveEstatus = {CveEstatus}").Rows
Dim CveEstatusUsuarios As Integer = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("CveEstatusUsuarios")), RowESP(0)("CveEstatusUsuarios").ToString.ToEntero, -1)
Dim LimiteInferior As Decimal = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("LimiteInferior")), RowESP(0)("LimiteInferior").ToString.ToDecimal, -1)
Dim LimiteSuperior As Decimal = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("LimiteSuperior")), RowESP(0)("LimiteSuperior").ToString.ToDecimal, -1)
Dim CveSuperior As Integer = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("CveSuperior")), RowESP(0)("CveSuperior").ToString.ToEntero, -1)
Dim CveUsuario As Integer = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("CveUsuario")), RowESP(0)("CveUsuario").ToString.ToEntero, -1)
Dim TipoTermino As Integer = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("TipoTermino")), RowESP(0)("TipoTermino").ToString.ToEntero, -1) ' 0. supervisada, 1. autorizada, 2. rechazada
If existenPermisosActuales Then
If RowESP.Count > 0 Then
chkEstatus.Checked = True
chkEstatus.Attributes.Add("onclick", String.Format("javascript:chk1Change(this, '{0}');", ibOpciones.ClientID))
hdnCveEstatusUsuarios.Value = RowESP(0)("CveEstatusUsuarios").ToString
ibOpciones.Style.Add("display", "inline")
ImgClasificaciones.Style.Add("display", "inline")
ImgClasificaciones.CommandArgument = CveEstatusUsuarios.ToString
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.Append("hdnCveEstatus.value = '-1';")
script.Append("hdnCveUsuario.value = '-1';")
script.AppendFormat("hdnCveSuperior.value = '{0}'; ", CveSuperior)
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0 Or TipoTermino.Contiene(0, 1, 2), "true", "false"))
script.AppendFormat("$get('DivLimites').style.display = '{0}';", If(LimiteInferior > 0 Or LimiteSuperior > 0, "inline", "none"))
script.AppendFormat("txtLimiteInferior.value = '{0}'; ", If(LimiteInferior > 0, LimiteInferior.FormatoNumero, ""))
script.AppendFormat("txtLimiteSuperior.value = '{0}'; ", If(LimiteSuperior > 0, LimiteSuperior.FormatoNumero, ""))
ibOpciones.Attributes.Add("onclick", script.ToString)
lblSuperior.Text = RowESP(0)("Superior").ToString
If LimiteSuperior = -1 And LimiteInferior = -1 Then
'Sin Limite
ElseIf LimiteSuperior > 0 And LimiteInferior = -1 Then
'Solo Limite Superior
lblLimites.Text = String.Format("Hasta {0}", LimiteSuperior.ToString("N"))
ElseIf LimiteInferior > 0 And LimiteSuperior = -1 Then
'Solo limite Inferior
lblLimites.Text = String.Format("Desde {0}", LimiteInferior.ToString("N"))
Else
'Con Limites
lblLimites.Text = String.Format("{0} - {1}", LimiteInferior.ToString("N"), LimiteSuperior.ToString("N"))
End If
e.Row.Cells(i).BackColor = Drawing.Color.LightGoldenrodYellow
If DTEstatusSubProyectos.FiltraParametros(String.Format("CveEstatusSiguiente = {0} AND CveSuperior = {1}", CveEstatus, CveUsuario)).Rows.Count > 0 Then
chkEstatus.Attributes.Add("onclick", "javascript:var retorno = true; if (this.checked == false) retorno = confirm('Estas seguro????'); return retorno;")
End If
Else
chkEstatus.Checked = False
hdnCveEstatusUsuarios.Value = "-1"
ibOpciones.Style.Add("display", "none")
ImgClasificaciones.Style.Add("display", "none")
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.AppendFormat("hdnCveEstatus.value = '{0}';", CveEstatus)
script.AppendFormat("hdnCveUsuario.value = '{0}';", e.Row.DBCampo("CveSubProyecto").ToString)
script.AppendFormat("hdnCveSuperior.value = '-1'; ")
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0, "true", "false"))
script.AppendFormat("txtLimiteInferior.value = '0.00'; ")
script.AppendFormat("txtLimiteSuperior.value = '0.00'; ")
ibOpciones.Attributes.Add("onclick", script.ToString)
End If
Else
chkEstatus.Checked = False
hdnCveEstatusUsuarios.Value = "-1"
ibOpciones.Style.Add("display", "none")
ImgClasificaciones.Style.Add("display", "none")
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.AppendFormat("hdnCveEstatus.value = '{0}';", CveEstatus)
script.AppendFormat("hdnCveUsuario.value = '{0}';", e.Row.DBCampo("CveSubProyecto").ToString)
script.AppendFormat("hdnCveSuperior.value = '-1'; ")
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0, "true", "false"))
script.AppendFormat("txtLimiteInferior.value = '0.00'; ")
script.AppendFormat("txtLimiteSuperior.value = '0.00'; ")
ibOpciones.Attributes.Add("onclick", script.ToString)
End If
'VALIDA LOS ESTATUS QUE TIENE EL USUARIO
If DTEstatusOCAsignar IsNot Nothing AndAlso DTEstatusOCAsignar.Rows.Count > 0 Then
Dim dtOC As DataTable = DTEstatusOCAsignar.FiltraParametros("Tipo='OC'")
Dim DtValida As DataTable = dtOC.FiltraParametros($"CveEstatus={CveEstatus}")
Dim Habilitado As Boolean = (DtValida IsNot Nothing AndAlso DtValida.Rows.Count = 1)
chkEstatus.Enabled = Habilitado
ibOpciones.Enabled = Habilitado
ImgClasificaciones.Enabled = Habilitado
End If
End If
Next
End If
End Sub
#End Region
#End Region
#Region "ESTATUS DE ORDENES DE SERVICIO"
Private Sub CargaEstatusOS()
CreaGridEstatusOS()
CargaGridEstatusUsuarioOS()
End Sub
Private Sub CreaGridEstatusOS()
Dim ObjOS As New ClsOS
Dim i As Integer = 2, x As Integer = 2
Dim ColumnasOS As Integer = GvOS.Columns.Count
DTEstatusOS = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa)
For x = 2 To GvOS.Columns.Count - 1
GvOS.Columns(x).HeaderText = ""
GvOS.Columns(x).FooterText = ""
GvOS.Columns(x).Visible = False
Next
For Each Row As DataRow In DTEstatusOS.Rows
If i < ColumnasOS Then
GvOS.Columns(i).HeaderText = Row("EstatusOrdenServicio").ToString.ToUpper
GvOS.Columns(i).FooterText = Row("CveEstatusOrdenServicio").ToString
GvOS.Columns(i).Visible = True
End If
i += 1
Next
End Sub
Protected Sub CargaGridEstatusUsuarioOS()
Dim ObjOS As New ClsOS
'Verifica si es usuario nuevo
Dim ClaveEmpresa As Integer = If(DdlEmpresaAsignaciones.SelectedValue.ToEntero > 0, DdlEmpresaAsignaciones.SelectedValue.ToEntero, UsuarioActual.CveEmpresa)
If CveUsuario > 0 Then
If ObjOS.GetEstatusUsuarios(CveUsuario, ClaveEmpresa) Then
DTEstatusUsuarioOS = ObjOS.DtResultados
End If
Else
End If
Dim sb As New StringBuilder
If GvSubProyectos.DataKeys.Count > 0 Then
For Each Key As DataKey In GvSubProyectos.DataKeys
sb.AppendFormat("{0},", Key.Value)
Next
sb.Remove(sb.Length - 1, 1)
Else
sb.Append("0")
End If
Dim TmpDtSubProyectos As DataTable = GlobalDTSubProyectos(ClaveEmpresa).FiltraParametros($"CveSubProyecto In ({sb.ToString})", "Proyecto", {"CveProyecto", "Proyecto", "CveSubProyecto", "SubProyecto"})
GvOS.DataSource = TmpDtSubProyectos
GvOS.DataBind()
ObjOS.Dispose()
UpAsignaciones.Update()
End Sub
Private Sub GvOS_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvOS.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim tmpT As DataTable = DTEstatusUsuarioOS.FiltraParametros(String.Format("CveSubProyecto = {0}", e.Row.DBCampo("CveSubProyecto").ToString))
For i As Integer = 2 To GvOS.Columns.Count - 1
Dim CveEstatus As Integer = GvOS.Columns(i).FooterText.ToEntero
Dim idIndex As Integer = i - 1
If CveEstatus > 0 Then
Dim chkEstatus As CheckBox = e.Row.FCCheckBox($"chkEstatus{idIndex}")
Dim hdnCveEstatusUsuarios As HiddenField = e.Row.FCHiddenField($"hdnCveEstatusUsuarios{idIndex}")
Dim dtTemp As New DataTable
Dim existenPermisosActuales As Boolean
dtTemp = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltraParametros($"CveEstatusOrdenServicio = {CveEstatus}")
If dtTemp.Rows.Count > 0 Then
existenPermisosActuales = True
Else
existenPermisosActuales = False
End If
Dim RowESP As DataRowCollection = tmpT.FiltraParametros($"CveEstatusOrdenServicio = {CveEstatus}").Rows
Dim CveEstatusUsuarios As Integer = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("CveEstatusUsuario")), RowESP(0)("CveEstatusUsuario").ToString.ToEntero, -1)
Dim CveUsuario As Integer = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("CveUsuario")), RowESP(0)("CveUsuario").ToString.ToEntero, -1)
Dim TipoEstatus As Integer = If(RowESP.Count > 0 AndAlso Not IsDBNull(RowESP(0)("TipoEstatus")), RowESP(0)("TipoEstatus").ToString.ToEntero, -1)
If existenPermisosActuales Then
If RowESP.Count > 0 Then
chkEstatus.Checked = True
'chkEstatus.Attributes.Add("onclick", String.Format("javascript:chk1Change(this, '{0}');", ibOpciones.ClientID))
hdnCveEstatusUsuarios.Value = RowESP(0)("CveEstatusUsuario").ToString
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.Append("hdnCveEstatus.value = '-1';")
script.Append("hdnCveUsuario.value = '-1';")
Else
chkEstatus.Checked = False
hdnCveEstatusUsuarios.Value = "-1"
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.AppendFormat("hdnCveEstatus.value = '{0}';", CveEstatus)
script.AppendFormat("hdnCveUsuario.value = '{0}';", e.Row.DBCampo("CveSubProyecto").ToString)
End If
Else
chkEstatus.Checked = False
hdnCveEstatusUsuarios.Value = "-1"
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.AppendFormat("hdnCveEstatus.value = '{0}';", CveEstatus)
script.AppendFormat("hdnCveUsuario.value = '{0}';", e.Row.DBCampo("CveSubProyecto").ToString)
End If
End If
Next
End If
End Sub
Private Sub GuardaEstatusOS(ByRef ObjOS As ClsOS, ByRef HuboErrores As Boolean)
For Each Row As GridViewRow In GvOS.Rows
Dim CveSubProyecto As Integer = Row.DataKey("CveSubProyecto").ToEntero
Dim CveProyecto As Integer = Row.DataKey("CveProyecto").ToEntero
Dim r As Integer = 1
For i As Integer = 0 To Row.Cells.Count - 1
Dim CveEstatus As Integer = If(IsNumeric(GvOS.Columns(i).FooterText), GvOS.Columns(i).FooterText.ToEntero, 0)
If CveEstatus > 0 Then
If Row.FCCheckBox("chkEstatus" + r.ToString).Checked = False And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero > 0 Then
'Eliminar el registro existente
If Not ObjOS.RemoveEstatusUsuarios(Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero, -1, -1) Then
HuboErrores = True
Exit For
End If
ElseIf Row.FCCheckBox("chkEstatus" + r.ToString).Checked = True And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero = -1 Then
If Not ObjOS.AddEstatusUsuarios(CveEstatus, CveUsuario, CveSubProyecto, UsuarioActual.CveUsuario) Then
HuboErrores = True
Exit For
End If
End If
r += 1
End If
Next
Next
End Sub
#End Region
#Region " ESTATUS ORDENES DE COMPRA - CLASIFICACIONES USUARIO OC "
Private Sub InicializaEstasClasificacionesOC()
End Sub
Protected Sub ImgClasificaciones_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DivClasificacionesOC').modal('show')")
CveEstatusUsuarioOC = CType(sender, LinkButton).CommandArgument.ToEntero
DdlClasificacionesOC.DataSource = GlobalDTClasificaciones(DdlEmpresaAsignaciones.SelectedValue.ToEntero)
DdlClasificacionesOC.DataBind()
DdlClasificacionesOC.Items.Insert(0, New ListItem("Seleccione", "-1"))
TxtLimiteInferiorClasificacionOC.Text = ""
TxtLimiteSuperiorClasificacionOC.Text = ""
UpOCClasificaciones.Update()
CargaGVOCClasificaciones()
End Sub
Private Sub CargaGVOCClasificaciones()
Dim ObjOC As New ClsOC
If ObjOC.GetEstatusUsuariosClasificaciones(CveEstatusUsuarioOC, -1, -1, -1, DdlEmpresaAsignaciones.SelectedValue.ToEntero) Then
GVOCClasificaciones.DataSource = ObjOC.DtResultados
End If
ObjOC.Dispose()
GVOCClasificaciones.DataBind()
UpOCClasificaciones.Update()
End Sub
Protected Sub LbAgregarClasificacionOC_Click(sender As Object, e As EventArgs)
Dim CveClasificacion As Integer = DdlClasificacionesOC.SelectedValue.ToEntero
Dim LimiteInferior As Decimal = TxtLimiteInferiorClasificacionOC.Text.ToDecimal
Dim LimiteSuperior As Decimal = TxtLimiteSuperiorClasificacionOC.Text.ToDecimal
Dim CveSuperior As Integer = -1
Dim CveEstatusUsuario As Integer = CveEstatusUsuarioOC
If CveClasificacion > 0 Then
Dim ObjOC As New ClsOC
ObjOC.AddEstatusUsuariosClasificaciones(CveEstatusUsuario, CveClasificacion, CveSuperior, LimiteInferior, LimiteSuperior, UsuarioActual.CveUsuario)
ObjOC.Dispose()
CargaGVOCClasificaciones()
Else
Alert("Debe seleccionar una clasificación", TipoMensaje.MsgAdvertencia)
End If
End Sub
Protected Sub GVOCClasificaciones_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GVOCClasificaciones.RowDeleting
Dim Gvr As GridViewRow = GVOCClasificaciones.Rows(e.RowIndex)
Dim ObjOC As New ClsOC
If ObjOC.RemoveEstatusUsuariosClasificaciones(Gvr.DataKey("CveEstatusUsuariosClasificacion").ToString.ToEntero) Then
End If
ObjOC.Dispose()
CargaGVOCClasificaciones()
End Sub
#End Region
#End Region
#Region "TAB - ACCESO MODULOS"
Public Sub CargaModulosAcceso()
Dim ObjPermisos As New ClsSisUsuarios
If ObjPermisos.GetUsuariosModulos(CveUsuario, UsuarioActual.CveEmpresa, If(UsuarioControlado, UsuarioActual.CveUsuario, -1)) Then
DTModulos = ObjPermisos.DtResultados.FiltraParametros("Liga <> '' AND CvePlataforma IN (1,4) ")
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
RegistraScript("OrdenarGV();")
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
Private Sub GuardaModulosAcceso()
Dim ClsUsuarios As New ClsSisUsuarios
ClsUsuarios.IniciaTransacSQL()
Dim TieneError As Boolean = False
For Each Row As GridViewRow In GvModulosAcceso.Rows
'checo si el permiso que tiene es del rol, de ser así, nada más actualizo los denegados
If Row.DataKey("CveModuloAcceso") <> "" Then
If Not ClsUsuarios.UpdateUsuariosModulos(Row.DataKey("CveUsuario").ToEntero, Row.DataKey("CveModulo").ToEntero, Not Row.FCCheckBox("ChkDenegar").Checked, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
Else
'permisos que el rol, no le está otorgando, y serán únicos para el usuario
If Not ClsUsuarios.UpdateUsuariosModulos(Row.DataKey("CveUsuario").ToEntero, Row.DataKey("CveModulo").ToEntero, Row.FCCheckBox("ChkPermitir").Checked, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
Next
If TieneError Then
ClsUsuarios.RollBack()
Alert("Ocurrió un error al guardar los permisos", TipoMensaje.MsgError)
Else
ClsUsuarios.Commit()
Alert("La información se ha guardado correctamente", TipoMensaje.MsgInformacion)
End If
ClsUsuarios.Dispose()
End Sub
Private Sub EliminarModulosAcceso()
Dim ObjUsuario As New ClsSisUsuarios()
If ObjUsuario.RemoveUsuariosModulos(CveUsuario, UsuarioActual.CveUsuario) Then
Alert("Los Permisos se eliminaron correctamente.", TipoMensaje.MsgInformacion, "window.location.href=""/Sistemas/Usuarios.aspx""")
End If
ObjUsuario.Dispose()
End Sub
#End Region
#Region "TAB - PERMISO MODULOS"
Public Sub CargaModulosPermisos()
Dim ObjProcesos As New ClsSisUsuarios
If ObjProcesos.GetUsuariosProcesos(CveUsuario, If(UsuarioControlado, UsuarioActual.CveUsuario, -1)) Then
DTModulos = ObjProcesos.DtResultados
Else
GvModulosPermiso.DataSource = Nothing
End If
ObjProcesos.Dispose()
If ViewState("Orden").ToString() <> String.Empty Then
CargaGridModulosPermisos(ViewState("Orden").ToString())
Else
CargaGridModulosPermisos("")
End If
End Sub
Private Sub CargaGridModulosPermisos(ByVal Orden As String)
If Orden <> String.Empty Then
Dim DV As New DataView(DTModulos, "", Orden, DataViewRowState.CurrentRows)
GvModulosPermiso.DataSource = DV.ToTable()
DV.Dispose()
Else
GvModulosPermiso.DataSource = DTModulos
End If
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
Private Sub GuardaModulosPermiso()
Dim ClsUsuarios As New ClsSisUsuarios
ClsUsuarios.IniciaTransacSQL()
Dim TieneError As Boolean = False
For Each Row As GridViewRow In GvModulosPermiso.Rows
'checo si el permiso que tiene es del rol, de ser así, nada más actualizo los denegados
If Row.DataKey("CveProcesoAcceso") <> "" Then
If Not ClsUsuarios.UpdateUsuariosProcesos(Row.DataKey("CveUsuario").ToEntero, Row.DataKey("CveProceso").ToEntero, Not Row.FCCheckBox("ChkD").Checked, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
Else
'permisos que el rol, no le está otorgando, y serán únicos para el usuario
If Not ClsUsuarios.UpdateUsuariosProcesos(Row.DataKey("CveUsuario").ToEntero, Row.DataKey("CveProceso").ToEntero, Row.FCCheckBox("ChkP").Checked, UsuarioActual.CveUsuario) Then
TieneError = True
Exit For
End If
End If
Next
If TieneError Then
Alert("Ocurrió un error al guardar los permisos", TipoMensaje.MsgError)
ClsUsuarios.RollBack()
Else
Alert("La información se ha guardado", TipoMensaje.MsgInformacion)
ClsUsuarios.Commit()
End If
ClsUsuarios.Dispose()
End Sub
Private Sub EliminarProcesos()
Dim ObjUsuario As New ClsSisUsuarios()
If ObjUsuario.RemoveUsuariosProcesos(CveUsuario, UsuarioActual.CveUsuario) Then
Alert("Los Procesos se eliminaron correctamente.", TipoMensaje.MsgInformacion, "window.location.href=""/Sistemas/Usuarios.aspx""")
End If
ObjUsuario.Dispose()
End Sub
#End Region
#Region "TAB - ACCESO EMPRESAS"
Private Sub CargaEmpresas()
Dim ClsUsuarios As New ClsSisUsuarios
'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 As Integer = If(UsuarioActual.CveRol = 1, -1, UsuarioActual.CveUsuario)
If ClsUsuarios.GetEmpresasAcceso(Tipo, CveUsuario) Then
DtEmpresas = ClsUsuarios.DtResultados
If DtEmpresas.Rows.Count > 1 Then
TabAccesoEmpresas.Visible = True
'For Each Dr As DataRow In DtEmpresas.Rows
' If CveUsuario = -1 AndAlso Dr("CveEmpresa").ToString.ToEntero = UsuarioActual.CveEmpresa Then Dr("CveEmpresaUsuario") = UsuarioActual.CveEmpresa
'Next
Else
TabAccesoEmpresas.Visible = False
End If
Else
DtEmpresas = Nothing
End If
ClsUsuarios.Dispose()
CargaGridPermisosEmpresa()
End Sub
Private Sub CargaGridPermisosEmpresa()
GvPermisosEmpresa.DataSource = DtEmpresas
GvPermisosEmpresa.DataBind()
UpDatos.Update()
End Sub
Protected Sub GvPermisosEmpresa_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvPermisosEmpresa.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
' ANTERIOR - COMENTADO ISRAEL PIÑA - 11 ENERO 2016
'Dim DT As DataTable = DtEmpresasUsuario.FiltraParametros(String.Format("isnull(Accion,0) < 2 AND CveEmpresa = {0}", e.Row.DBCampo("CveEmpresa").ToEntero))
'If DT IsNot Nothing AndAlso DT.Rows.Count > 0 Then
' e.Row.FCCheckBox("ChkPermitirEmpresa").Checked = True
'End If
If e.Row.DBCampo("CveEmpresaUsuario").ToString <> "" Then
e.Row.FCCheckBox("ChkPermitirEmpresa").Checked = True
End If
End If
End Sub
Private Sub GuardarAccesoEmpresas()
Dim ClsUsuarios As New ClsSisUsuarios
ClsUsuarios.IniciaTransacSQL()
Dim ErrorEmpresa As Boolean = False
Dim TienePermiso As Boolean = False
For Each gvr As GridViewRow In GvPermisosEmpresa.Rows
TienePermiso = If(gvr.FCHiddenField("HdnPermiso").Value.ToEntero > 0, True, False)
If TienePermiso <> gvr.FCCheckBox("ChkPermitirEmpresa").Checked Then
'Si tenia permiso se elimina
If TienePermiso Then
If Not ClsUsuarios.RemoveEmpresasAcceso(CveUsuario, gvr.DataKey("CveEmpresa").ToEntero, UsuarioActual.CveUsuario) Then
ErrorEmpresa = True
Exit For
End If
'si no tenia permiso se agrega
Else
If Not ClsUsuarios.AddUsuariosEmpresas(CveUsuario, gvr.DataKey("CveEmpresa").ToEntero, UsuarioActual.CveUsuario) Then
ErrorEmpresa = True
Exit For
End If
End If
End If
Next
If Not ErrorEmpresa Then
Alert("Los cambios en 'Acceso Empresas' Se realizaron con exito", TipoMensaje.MsgInformacion)
ClsUsuarios.Commit()
Else
Alert("Ocurrió un error al guardar Los cambios en 'Acceso Empresas'", TipoMensaje.MsgError)
ClsUsuarios.RollBack()
End If
ClsUsuarios.Dispose()
End Sub
Private Sub EliminarEmpresa()
Dim ObjUsuario As New ClsSisUsuarios()
If ObjUsuario.RemoveUsuariosEmpresas(CveUsuario, UsuarioActual.CveUsuario) Then
Alert("Las Empresas se eliminaron correctamente.", TipoMensaje.MsgInformacion, "window.location.href=""/Sistemas/Usuarios.aspx""")
End If
ObjUsuario.Dispose()
End Sub
Protected Sub ChkPermitirEmpresa_CheckedChanged(sender As Object, e As EventArgs)
Dim check As CheckBox = CType(sender, CheckBox)
Dim pCveEmpresa As String = CType(check.NamingContainer, GridViewRow).FCHiddenField("HdnCveEmpresa").Value
Dim pEmpresa As String = CType(check.NamingContainer, GridViewRow).FCHiddenField("HdnEmpresa").Value
If check.Checked Then
If DtEmpresasUsuario.FiltraParametros(String.Format("CveEmpresa = {0}", pCveEmpresa)).Rows.Count > 0 Then
Dim dr As DataRow = DtEmpresasUsuario.Select(String.Format("CveEmpresa = {0}", pCveEmpresa))(0)
If dr("Accion").ToString = "2" Then
dr("Accion") = 0
ElseIf dr("Accion").ToString = "" Or dr("Accion").ToString = "3" Then
dr("Accion") = 1
End If
dr.AcceptChanges()
Else
Dim dr As DataRow = DtEmpresasUsuario.NewRow
dr("CveEmpresa") = pCveEmpresa
dr("Empresa") = pEmpresa
dr("Accion") = 1
DtEmpresasUsuario.Rows.Add(dr)
End If
Else
Dim dr As DataRow = DtEmpresasUsuario.Select(String.Format("CveEmpresa = {0}", pCveEmpresa))(0)
If dr("Accion").ToString = "1" Then
dr("Accion") = 3
End If
If dr("Accion").ToString = "" Then
dr("Accion") = 2
End If
dr.AcceptChanges()
End If
'EMPRESAS ASIGNAR
If DTEmpresasAsignar.FiltraParametros(String.Format("CveEmpresa = {0} AND TienePermiso = -1", pCveEmpresa)).Rows.Count > 0 Then
Dim Dr1 As DataRow() = DTEmpresasAsignar.Select($"CveEmpresa = {pCveEmpresa}")
DTEmpresasAsignar.Rows.Remove(Dr1(0))
ElseIf DTEmpresasAsignar.FiltraParametros(String.Format("CveEmpresa = {0} AND TienePermiso = 2", pCveEmpresa)).Rows.Count > 0 Then
Dim Dr1 As DataRow() = DTEmpresasAsignar.Select($"CveEmpresa = {pCveEmpresa} AND TienePermiso = 2")
Dr1(0)("TienePermiso") = -2
Else
Dim Dr1 As DataRow = DTEmpresasAsignar.NewRow
Dr1("CveEmpresa") = pCveEmpresa
Dr1("Empresa") = pEmpresa
Dr1("TienePermiso") = -1
DTEmpresasAsignar.Rows.Add(Dr1)
End If
DTEmpresasAsignar.AcceptChanges()
CargaEmpresasAcceso()
UpDatos.Update()
End Sub
Private Sub CargaEmpresasAcceso()
DdlEmpresa.Items.Clear()
DdlEmpresa.DataSource = DtEmpresasUsuario.FiltraParametros(String.Format("isnull(Accion,0) < 2"))
DdlEmpresa.DataBind()
DdlEmpresa.Items.Insert(0, New ListItem("Seleccione", "-1"))
If CveUsuario = -1 Then
DdlEmpresa.SelectedValueExist(UsuarioActual.CveEmpresa.ToString)
Else
DdlEmpresa.SelectedValueExist(CveEmpresa.ToString)
End If
UpEmpresa.Update()
DdlEmpresaAsignaciones.Items.Clear()
DdlEmpresaAsignaciones.DataSource = DtEmpresasUsuario.FiltraParametros(String.Format("isnull(Accion,0) < 2"))
DdlEmpresaAsignaciones.DataBind()
DdlEmpresaAsignaciones.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlEmpresaAsignaciones.SelectedValueExist(CveEmpresa.ToString)
UpEmpresaAsignaciones.Update()
CargaEmpresasAsignaciones()
DdlSubProyectos.SelectedValueExist(CveSubProyecto)
DdlEmpresaAsignarPermiso.Items.Clear()
DdlEmpresaAsignarPermiso.DataSource = DTEmpresasAsignar.FiltraParametros(String.Format("ISNULL(TienePermiso,0) > 0"))
DdlEmpresaAsignarPermiso.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlEmpresaAsignarPermiso.DataBind()
DdlEmpresaAsignarPermiso.SelectedValueExist(CveEmpresa.ToString)
UpFiltrosAsignarPermiso.Update()
CargaGvEmpresasAsignar()
CargaAsignaciones()
End Sub
Private Sub LnkRenviaCorreo_Click(sender As Object, e As EventArgs) Handles LnkRenviaCorreo.Click
EnviaCorreo()
Alert("Correo enviado con exito.", TipoMensaje.MsgInformacion)
End Sub
#End Region
#Region "TAB - RESTRICCIONES ACCESO "
Private Sub InicializaRestricciones()
CargaDtRestricciones()
End Sub
Protected Sub LbAgregarModal_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DivAgregarRestricción').modal('show')")
CveRestriccion = -1
TxtIP.Text = ""
TxtMAC.Text = ""
ChkAplicaRestriccion.Checked = False
DivRestricciones.Visible = False
TxtHoraInicio0.Text = "00:00"
TxtHoraInicio1.Text = "00:00"
TxtHoraInicio2.Text = "00:00"
TxtHoraInicio3.Text = "00:00"
TxtHoraInicio4.Text = "00:00"
TxtHoraInicio5.Text = "00:00"
TxtHoraInicio6.Text = "00:00"
TxtHoraInicio7.Text = "00:00"
TxtHoraFin0.Text = "23:59"
TxtHoraFin1.Text = "23:59"
TxtHoraFin2.Text = "23:59"
TxtHoraFin3.Text = "23:59"
TxtHoraFin4.Text = "23:59"
TxtHoraFin5.Text = "23:59"
TxtHoraFin6.Text = "23:59"
TxtHoraFin7.Text = "23:59"
ChkTodos.Checked = False
ChkLunes.Checked = False
ChkMartes.Checked = False
ChkMiercoles.Checked = False
ChkJueves.Checked = False
ChkViernes.Checked = False
ChkSabado.Checked = False
ChkDomingo.Checked = False
ChkTodos_CheckedChanged(ChkTodos, EventArgs.Empty)
BtnAgregarRestriccion.Text = "Agregar Restricción"
UpAgregarRestriccion.Update()
End Sub
Private Sub CargaDtRestricciones()
Dim ClsUsuarios As New ClsSisUsuarios
If ClsUsuarios.UsuariosRestriccionesAccesoGet(CveUsuario, -1) Then
DtRestricciones = ClsUsuarios.DtResultados
Else
DtRestricciones = Nothing
Alert("Ocurrió un error al cargar las restricciones de acceso del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ClsUsuarios.Dispose()
DtRestricciones.Columns.Add("Accion", GetType(Integer))
CargaGvRestricciones()
End Sub
Private Sub CargaGvRestricciones()
GvRestricciones.DataSource = DtRestricciones.FiltraParametros("isnull(Accion,0) < 2 OR Accion = 4")
GvRestricciones.DataBind()
UpAccesos.Update()
End Sub
Protected Sub ChkAplicaRestriccion_CheckedChanged(sender As Object, e As EventArgs)
DivRestricciones.Visible = ChkAplicaRestriccion.Checked
End Sub
Protected Sub ChkTodos_CheckedChanged(sender As Object, e As EventArgs)
DivHI0.Visible = ChkTodos.Checked
DivHF0.Visible = ChkTodos.Checked
ChkLunes.Checked = ChkTodos.Checked
ChkLunes_CheckedChanged(ChkLunes, EventArgs.Empty)
ChkMartes.Checked = ChkTodos.Checked
ChkMartes_CheckedChanged(ChkMartes, EventArgs.Empty)
ChkMiercoles.Checked = ChkTodos.Checked
ChkMiercoles_CheckedChanged(ChkMiercoles, EventArgs.Empty)
ChkJueves.Checked = ChkTodos.Checked
ChkJueves_CheckedChanged(ChkJueves, EventArgs.Empty)
ChkViernes.Checked = ChkTodos.Checked
ChkViernes_CheckedChanged(ChkViernes, EventArgs.Empty)
ChkSabado.Checked = ChkTodos.Checked
ChkSabado_CheckedChanged(ChkSabado, EventArgs.Empty)
ChkDomingo.Checked = ChkTodos.Checked
ChkDomingo_CheckedChanged(ChkDomingo, EventArgs.Empty)
End Sub
Protected Sub ChkLunes_CheckedChanged(sender As Object, e As EventArgs)
DivHI1.Visible = ChkLunes.Checked
DivHF1.Visible = ChkLunes.Checked
End Sub
Protected Sub ChkMartes_CheckedChanged(sender As Object, e As EventArgs)
DivHI2.Visible = ChkMartes.Checked
DivHF2.Visible = ChkMartes.Checked
End Sub
Protected Sub ChkMiercoles_CheckedChanged(sender As Object, e As EventArgs)
DivHI3.Visible = ChkMiercoles.Checked
DivHF3.Visible = ChkMiercoles.Checked
End Sub
Protected Sub ChkJueves_CheckedChanged(sender As Object, e As EventArgs)
DivHI4.Visible = ChkJueves.Checked
DivHF4.Visible = ChkJueves.Checked
End Sub
Protected Sub ChkViernes_CheckedChanged(sender As Object, e As EventArgs)
DivHI5.Visible = ChkViernes.Checked
DivHF5.Visible = ChkViernes.Checked
End Sub
Protected Sub ChkSabado_CheckedChanged(sender As Object, e As EventArgs)
DivHI6.Visible = ChkSabado.Checked
DivHF6.Visible = ChkSabado.Checked
End Sub
Protected Sub ChkDomingo_CheckedChanged(sender As Object, e As EventArgs)
DivHI7.Visible = ChkDomingo.Checked
DivHF7.Visible = ChkDomingo.Checked
End Sub
Protected Sub BtnAgregarRestriccion_Click(sender As Object, e As EventArgs)
Dim Row As DataRow = Nothing
If CveRestriccion > 0 Then
Row = DtRestricciones.Select($"CveUsuarioRestriccionAcceso = {CveRestriccion}")(0)
Row("Accion") = If(AccionRestriccion = 0, 4, 1)
Else
Row = DtRestricciones.NewRow
Row("Accion") = 1
Row("CveUsuarioRestriccionAcceso") = DtRestricciones.MAX("CveUsuarioRestriccionAcceso").ToEntero + 1
End If
Row("IP") = TxtIP.Text.Trim
Row("MAC") = TxtMAC.Text.Trim
Dim HI1 As String = "", HF1 As String = "", HI2 As String = "", HF2 As String = "", HI3 As String = "", HF3 As String = "", HI4 As String = "", HF4 As String = "", HI5 As String = "", HF5 As String = "", HI6 As String = "", HF6 As String = "", HI7 As String = "", HF7 As String = ""
If ChkAplicaRestriccion.Checked Then
Row("AplicaRestriccion") = 1
If ChkLunes.Checked Then
Row("AplicaLunes") = 1
Row("AplicaRestriccionTexto") = "L"
HI1 = TxtHoraInicio1.Text
HF1 = TxtHoraFin1.Text
End If
If ChkMartes.Checked Then
Row("AplicaMartes") = 1
Row("AplicaRestriccionTexto") = $"{Row("AplicaRestriccionTexto")} Ma"
HI2 = TxtHoraInicio2.Text
HF2 = TxtHoraFin2.Text
End If
If ChkMiercoles.Checked Then
Row("AplicaMiercoles") = 1
Row("AplicaRestriccionTexto") = $"{Row("AplicaRestriccionTexto")} Mi"
HI3 = TxtHoraInicio3.Text
HF3 = TxtHoraFin3.Text
End If
If ChkJueves.Checked Then
Row("AplicaJueves") = 1
Row("AplicaRestriccionTexto") = $"{Row("AplicaRestriccionTexto")} J"
HI4 = TxtHoraInicio4.Text
HF4 = TxtHoraFin4.Text
End If
If ChkViernes.Checked Then
Row("AplicaViernes") = 1
Row("AplicaRestriccionTexto") = $"{Row("AplicaRestriccionTexto")} V"
HI5 = TxtHoraInicio5.Text
HF5 = TxtHoraFin5.Text
End If
If ChkSabado.Checked Then
Row("AplicaSabado") = 1
Row("AplicaRestriccionTexto") = $"{Row("AplicaRestriccionTexto")} S"
HI6 = TxtHoraInicio6.Text
HF6 = TxtHoraFin6.Text
End If
If ChkDomingo.Checked Then
Row("AplicaDomingo") = 1
Row("AplicaRestriccionTexto") = $"{Row("AplicaRestriccionTexto")} D"
HI7 = TxtHoraInicio7.Text
HF7 = TxtHoraFin7.Text
End If
End If
Row("AplicaRestriccionTexto") = If(Row("AplicaRestriccionTexto").ToString = "", "No", Row("AplicaRestriccionTexto"))
Row("HI1") = HI1
Row("HF1") = HF1
Row("HI2") = HI2
Row("HF2") = HF2
Row("HI3") = HI3
Row("HF3") = HF3
Row("HI4") = HI4
Row("HF4") = HF4
Row("HI5") = HI5
Row("HF5") = HF5
Row("HI6") = HI6
Row("HF6") = HF6
Row("HI7") = HI7
Row("HF7") = HF7
If CveRestriccion > 0 Then
DtRestricciones.AcceptChanges()
Else
DtRestricciones.Rows.Add(Row)
End If
CargaGvRestricciones()
RegistraScript("$('#DivAgregarRestricción').modal('hide')")
End Sub
#Region " GV "
Private Sub GvRestricciones_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GvRestricciones.RowCommand
If e.CommandName = "Editar" Then
Dim Gvr As GridViewRow = GvRestricciones.Rows(e.CommandArgument.ToString.ToEntero)
CveRestriccion = Gvr.DataKey("CveUsuarioRestriccionAcceso").ToString.ToEntero
AccionRestriccion = Gvr.DataKey("Accion").ToString.ToEntero
TxtIP.Text = Gvr.DataKey("IP").ToString
TxtMAC.Text = Gvr.DataKey("MAC").ToString
ChkTodos.Checked = False
ChkLunes.Checked = False
ChkMartes.Checked = False
ChkMiercoles.Checked = False
ChkJueves.Checked = False
ChkViernes.Checked = False
ChkSabado.Checked = False
ChkDomingo.Checked = False
ChkTodos_CheckedChanged(ChkTodos, EventArgs.Empty)
TxtHoraInicio0.Text = "00:00"
TxtHoraFin0.Text = "00:00"
If Gvr.DataKey("AplicaRestriccion").ToString.ToEntero = 1 Then
ChkAplicaRestriccion.Checked = True
DivRestricciones.Visible = True
If Gvr.DataKey("AplicaLunes").ToString.ToEntero = 1 Then
ChkLunes.Checked = True
TxtHoraInicio1.Text = Gvr.DataKey("HI1").ToString
TxtHoraFin1.Text = Gvr.DataKey("HF1").ToString
ChkLunes_CheckedChanged(ChkLunes, EventArgs.Empty)
End If
If Gvr.DataKey("AplicaMartes").ToString.ToEntero = 1 Then
ChkMartes.Checked = True
TxtHoraInicio2.Text = Gvr.DataKey("HI2").ToString
TxtHoraFin2.Text = Gvr.DataKey("HF2").ToString
ChkMartes_CheckedChanged(ChkMartes, EventArgs.Empty)
End If
If Gvr.DataKey("AplicaMiercoles").ToString.ToEntero = 1 Then
ChkMiercoles.Checked = True
TxtHoraInicio3.Text = Gvr.DataKey("HI3").ToString
TxtHoraFin3.Text = Gvr.DataKey("HF3").ToString
ChkMiercoles_CheckedChanged(ChkMiercoles, EventArgs.Empty)
End If
If Gvr.DataKey("AplicaJueves").ToString.ToEntero = 1 Then
ChkJueves.Checked = True
TxtHoraInicio4.Text = Gvr.DataKey("HI4").ToString
TxtHoraFin4.Text = Gvr.DataKey("HF4").ToString
ChkJueves_CheckedChanged(ChkJueves, EventArgs.Empty)
End If
If Gvr.DataKey("AplicaViernes").ToString.ToEntero = 1 Then
ChkViernes.Checked = True
TxtHoraInicio5.Text = Gvr.DataKey("HI5").ToString
TxtHoraFin5.Text = Gvr.DataKey("HF5").ToString
ChkViernes_CheckedChanged(ChkViernes, EventArgs.Empty)
End If
If Gvr.DataKey("AplicaSabado").ToString.ToEntero = 1 Then
ChkSabado.Checked = True
TxtHoraInicio6.Text = Gvr.DataKey("HI6").ToString
TxtHoraFin6.Text = Gvr.DataKey("HF6").ToString
ChkSabado_CheckedChanged(ChkSabado, EventArgs.Empty)
End If
If Gvr.DataKey("AplicaDomingo").ToString.ToEntero = 1 Then
ChkDomingo.Checked = True
TxtHoraInicio7.Text = Gvr.DataKey("HI7").ToString
TxtHoraFin7.Text = Gvr.DataKey("HF7").ToString
ChkDomingo_CheckedChanged(ChkDomingo, EventArgs.Empty)
End If
End If
BtnAgregarRestriccion.Text = "Actualizar Restricción"
RegistraScript("$('#DivAgregarRestricción').modal('show')")
UpAgregarRestriccion.Update()
GvRestricciones.EditIndex = -1
End If
End Sub
Protected Sub GvRestricciones_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvRestricciones.RowDeleting
Dim DbRow As DataRow = DtRestricciones.Rows(e.RowIndex)
If DbRow("Accion").ToString = "1" Then
DbRow("Accion") = 3
Else
DbRow("Accion") = 2
End If
CargaGvRestricciones()
End Sub
#End Region
#End Region
#Region "TAB - INDICADORES"
Public Sub CargaGridIndicadores()
Dim Objeto As New ClsIndicadores
If Objeto.GetIndicadoresUsers(CveUsuario, If(UsuarioControlado, UsuarioActual.CveUsuario, -1)) Then
GvIndicadores.DataSource = Objeto.DtResultados
End If
GvIndicadores.DataBind()
Objeto.Dispose()
End Sub
Private Sub GvIndicadores_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvIndicadores.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("CveUsuario") <> "" Then
e.Row.FCCheckBox("chkIndicador").Checked = True
End If
End If
End Sub
#End Region
#Region " CLONAR USUARIO "
Private Sub InicializaClonarUsuario()
DdlUsuarioClonar.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("", DistinctColumns:={"CveUsuario", "Usuario"})
DdlUsuarioClonar.DataBind()
DdlUsuarioClonar.Items.Insert(0, New ListItem("Seleccione", "-1"))
If CveUsuario < 0 Then
BtnClonar.Visible = False
DivAdvertencia.Visible = True
End If
UpClonarUsuario.Update()
End Sub
Protected Sub DdlUsuarioClonar_SelectedIndexChanged(sender As Object, e As EventArgs)
DivClonarEmpresas.Visible = False
DivClonarModulos.Visible = False
DivClonarPermisos.Visible = False
DivClonarProyectos.Visible = False
DivClonarAlmacenes.Visible = False
DivClonarOC.Visible = False
DivClonarOS.Visible = False
ChkEmpresas.Checked = False
ChkModulos.Checked = False
ChkPermisos.Checked = False
ChkProyectos.Checked = False
ChkAlmacenes.Checked = False
ChkEstatusOC.Checked = False
ChkEstatusOS.Checked = False
If DdlUsuarioClonar.SelectedValue.ToEntero > 0 Then
Dim ObjUsuarios As New ClsSisUsuarios
If ObjUsuarios.ClonarUsuarioCriterios(DdlUsuarioClonar.SelectedValue.ToEntero) Then
Dim Dr As DataRow = FiltroPrimero(ObjUsuarios.DtResultados, "")
If Dr("UsuarioEmpresas").ToString.ToEntero > 0 Then DivClonarEmpresas.Visible = True
If Dr("UsuariosModulos").ToString.ToEntero > 0 Then DivClonarModulos.Visible = True
If Dr("UsuariosProcesos").ToString.ToEntero > 0 Then DivClonarPermisos.Visible = True
If Dr("UsuariosSubProyectos").ToString.ToEntero > 0 Then DivClonarProyectos.Visible = True
If Dr("UsuariosAlmacenes").ToString.ToEntero > 0 Then DivClonarAlmacenes.Visible = True
If Dr("UsuariosOC").ToString.ToEntero > 0 Then DivClonarOC.Visible = True
If Dr("UsuariosOS").ToString.ToEntero > 0 Then DivClonarOS.Visible = True
End If
ObjUsuarios.Dispose()
LblClonarMensaje.Text = $"En el usuario {TxtUsuario.Text} se reemplazará la información del usuario {DdlUsuarioClonar.SelectedItem.Text} con las siguientes secciones que seleccione."
Else
LblClonarMensaje.Text = ""
End If
UpClonarUsuario.Update()
End Sub
Protected Sub BtnClonar_Click(sender As Object, e As EventArgs)
Dim ObjUsuarios As New ClsSisUsuarios
ClonarUsuario(DdlUsuarioClonar.SelectedValue.ToEntero, ObjUsuarios)
ObjUsuarios.Dispose()
End Sub
Private Function ClonarUsuario(CveUsuarioClonado As Integer, ObjUsuarios As ClsSisUsuarios) As Boolean
Dim Retorno As Boolean = False
If CveUsuarioClonado > 0 Then
If ObjUsuarios.ClonarUsuario(CveUsuario, CveUsuarioClonado, ChkEmpresas.Checked, ChkModulos.Checked, ChkPermisos.Checked, ChkProyectos.Checked, ChkAlmacenes.Checked, ChkEstatusOC.Checked, ChkEstatusOS.Checked, UsuarioActual.CveUsuario) Then
Alert("El usuario fue clonado con exito.", TipoMensaje.MsgInformacion, "document.location.href=""/Sistemas/Usuarios.aspx"";")
Retorno = True
Else
Alert("Ocurrió un error al clonar al usuario. Por favor vuelva a intentar.", TipoMensaje.MsgError)
End If
Else
Retorno = True
End If
'RECARGAMOS PARA VER CAMBIOS
'CargaDatos()
Return Retorno
End Function
#End Region
#Region " MANDA CORREO "
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.MandaCorreo(ClsPaginas.EmpresaNotificaciones, Para, Asunto, "", "", Nothing, Body)
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body)
End Sub
#End Region
#Region " ASIGNACIONES DE PERMISOS "
Protected Sub DdlEmpresaAsignarPermiso_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlEmpresaAsignarPermiso.SelectedIndexChanged
CargaAsignaciones()
End Sub
Private Sub CargaAsignaciones()
CargarAlmacenAsignar()
CargaGVAlmacenAsignar()
CargarProyectosAsignar()
CargarGvSubProyectosAsignar()
CargaCuentasBancariasAsignar()
CargaGvCuentasBancariasAsignar()
CargarRolesAsignar()
CargaGVRolesAsignar()
CargaDTModulosAsignar()
CargaGvPermisosAsignar()
CargaDtEstatusOC()
CargaGvEstatusOC()
End Sub
#Region " EMPRESAS "
Public Sub CargaDTEmpresasAsignar()
Dim ObjPermisos As New ClsSisUsuarios
If ObjPermisos.GetEmpresasAsignar(CveUsuario) Then
DTEmpresasAsignar = ObjPermisos.DtResultados
Else
DTEmpresasAsignar = Nothing
End If
ObjPermisos.Dispose()
CargaGvEmpresasAsignar()
DdlEmpresaAsignarPermiso.Items.Clear()
DdlEmpresaAsignarPermiso.DataSource = DTEmpresasAsignar.FiltraParametros(String.Format("ISNULL(TienePermiso,0) > 0"))
DdlEmpresaAsignarPermiso.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlEmpresaAsignarPermiso.DataBind()
DdlEmpresaAsignarPermiso.SelectedValueExist(CveEmpresa.ToString)
UpFiltrosAsignarPermiso.Update()
End Sub
Private Sub CargaGvEmpresasAsignar()
GvEmpresasAsignar.DataSource = DTEmpresasAsignar.FiltraParametros(String.Format("ISNULL(TienePermiso,0) > -2"))
GvEmpresasAsignar.DataBind()
UpEmpresasAsignar.Update()
End Sub
Protected Sub GvEmpresasAsignar_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEmpresasAsignar.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("TienePermiso").ToEntero > 0 Then
e.Row.Cells(1).CssClass = "bg-yellow"
e.Row.FCCheckBox("ChkP").Checked = True
End If
End If
End Sub
Protected Sub ChkPermitirEmpresaAsignar_CheckedChanged(sender As Object, e As EventArgs)
Dim check As CheckBox = CType(sender, CheckBox)
Dim pCveEmpresa As String = CType(check.NamingContainer, GridViewRow).FCHiddenField("HdnCveEmpresa").Value
Dim pEmpresa As String = CType(check.NamingContainer, GridViewRow).FCHiddenField("HdnEmpresa").Value
Dim Dr As DataRow() = DTEmpresasAsignar.Select($"CveEmpresa = {pCveEmpresa}")
If check.Checked Then
Dr(0)("TienePermiso") = 2
Else
Dr(0)("TienePermiso") = -1
End If
DTEmpresasAsignar.AcceptChanges()
DdlEmpresaAsignarPermiso.Items.Clear()
DdlEmpresaAsignarPermiso.DataSource = DTEmpresasAsignar.FiltraParametros(String.Format("ISNULL(TienePermiso,0) > 0"))
DdlEmpresaAsignarPermiso.DataBind()
DdlEmpresaAsignarPermiso.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlEmpresaAsignarPermiso.SelectedValueExist(CveEmpresa.ToString)
UpFiltrosAsignarPermiso.Update()
CargaAsignaciones()
End Sub
#End Region
#Region " ROLES "
Private Sub CargaDtRolesAsignar()
Dim ClsUsuarios As New ClsSisUsuarios
If ClsUsuarios.GetRolesAsignar(CveUsuario) Then
DTRolesAsignar = ClsUsuarios.DtResultados
Else
DTRolesAsignar = Nothing
Alert("Ocurrió un error al cargar los Roles del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ClsUsuarios.Dispose()
DTRolesAsignar.Columns.Add("Accion", GetType(Integer))
CargaGVRolesAsignar()
End Sub
Private Sub CargarRolesAsignar()
DdlRolAsignar.Items.Clear()
If DdlEmpresaAsignarPermiso.SelectedValue.ToEntero > 0 Then
DdlRolAsignar.DataSource = GlobalDTRoles(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero)
End If
DdlRolAsignar.DataBind()
DdlRolAsignar.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlRolAsignar.Items.Insert(1, New ListItem("Todos", "-2"))
End Sub
Private Sub CargaGVRolesAsignar()
GvRolesAsignar.DataSource = DTRolesAsignar.FiltraParametros(String.Format("CveEmpresa = {0} AND (isnull(Accion,0) < 2 OR Accion = 4)", DdlEmpresaAsignarPermiso.SelectedValue.ToEntero))
GvRolesAsignar.DataBind()
UpRolesAsignar.Update()
End Sub
Protected Sub LBAgregarRolesAsignar_Click(sender As Object, e As EventArgs)
Dim DtValida As DataTable = DTRolesAsignar.FiltraParametros(String.Format("CveRol = {0}", DdlRolAsignar.SelectedValue))
If DdlRolAsignar.SelectedValue = "-2" Then
DTRolesAsignar.Rows.Clear()
For Each Item As ListItem In DdlRolAsignar.Items
Dim dr As DataRow = DTRolesAsignar.NewRow
If Item.Value <> "-1" AndAlso Item.Value <> "-2" Then
dr("CveRol") = Item.Value
dr("Rol") = Item.Text
dr("CveEmpresa") = DdlEmpresaAsignarPermiso.SelectedValue
dr("Accion") = 1
DTRolesAsignar.Rows.Add(dr)
End If
Next
Else
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr As DataRow() = DTRolesAsignar.Select(String.Format("CveRol = {0}", DdlRolAsignar.SelectedValue))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr As DataRow() = DTRolesAsignar.Select(String.Format("CveRol = {0}", DdlRolAsignar.SelectedValue))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
Else
Alert("El Roles ya se encuentra agregado.", TipoMensaje.MsgAdvertencia)
End If
Else
Dim dr As DataRow = DTRolesAsignar.NewRow
dr("CveRol") = DdlRolAsignar.SelectedValue
dr("Rol") = DdlRolAsignar.SelectedItem.Text
dr("CveEmpresa") = DdlEmpresaAsignarPermiso.SelectedValue
dr("Accion") = 1
DTRolesAsignar.Rows.Add(dr)
End If
End If
CargaGVRolesAsignar()
End Sub
Protected Sub GvRolesAsignar_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvRolesAsignar.RowDeleting
Dim Dr As DataRow() = DTRolesAsignar.Select(String.Format("CveRol = {0}", GvRolesAsignar.Rows(e.RowIndex).DataKey("CveRol")))
If Dr(0)("Accion").ToString = "1" Then
Dr(0)("Accion") = 3
Else
Dr(0)("Accion") = 2
End If
DTRolesAsignar.AcceptChanges()
CargaGVRolesAsignar()
End Sub
#End Region
#Region " ALMACENES "
Private Sub CargaDtAlmacenAsignar()
Dim ClsUsuarios As New ClsSisUsuarios
If ClsUsuarios.GetAlmacenAsignar(CveUsuario) Then
DtAlmacenesAsignar = ClsUsuarios.DtResultados
Else
DtAlmacenesAsignar = Nothing
Alert("Ocurrió un error al cargar los Almacenes del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ClsUsuarios.Dispose()
DtAlmacenesAsignar.Columns.Add("Accion", GetType(Integer))
CargaGVAlmacenAsignar()
End Sub
Private Sub CargarAlmacenAsignar()
DdlAlmacenAsignar.Items.Clear()
If DdlEmpresaAsignarPermiso.SelectedValue.ToEntero > 0 Then
DdlAlmacenAsignar.DataSource = GlobalDTAlmacen(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero)
End If
DdlAlmacenAsignar.DataBind()
DdlAlmacenAsignar.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlAlmacenAsignar.Items.Insert(1, New ListItem("Todos", "-2"))
End Sub
Private Sub CargaGVAlmacenAsignar()
GVAlmacenesAsignar.DataSource = DtAlmacenesAsignar.FiltraParametros(String.Format("CveEmpresa = {0} AND (isnull(Accion,0) < 2 OR Accion = 4)", DdlEmpresaAsignarPermiso.SelectedValue.ToEntero))
GVAlmacenesAsignar.DataBind()
UpAlmacenesAsignar.Update()
End Sub
Protected Sub LBAgregarAlmacenAsignar_Click(sender As Object, e As EventArgs)
Dim DtValida As DataTable = DtAlmacenesAsignar.FiltraParametros(String.Format("CveAlmacen = {0}", DdlAlmacenAsignar.SelectedValue))
If DdlAlmacenAsignar.SelectedValue = "-2" Then
DtAlmacenesAsignar.Rows.Clear()
For Each Item As ListItem In DdlAlmacenAsignar.Items
Dim dr As DataRow = DtAlmacenesAsignar.NewRow
If Item.Value <> "-1" AndAlso Item.Value <> "-2" Then
dr("CveAlmacen") = Item.Value
dr("Almacen") = Item.Text
dr("CveEmpresa") = DdlEmpresaAsignarPermiso.SelectedValue
dr("Accion") = 1
DtAlmacenesAsignar.Rows.Add(dr)
End If
Next
Else
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr As DataRow() = DtAlmacenesAsignar.Select(String.Format("CveAlmacen = {0}", DdlAlmacenAsignar.SelectedValue))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr As DataRow() = DtAlmacenesAsignar.Select(String.Format("CveAlmacen = {0}", DdlAlmacenAsignar.SelectedValue))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
Else
Alert("El Almacen ya se encuentra agregado.", TipoMensaje.MsgAdvertencia)
End If
Else
Dim dr As DataRow = DtAlmacenesAsignar.NewRow
dr("CveAlmacen") = DdlAlmacenAsignar.SelectedValue
dr("Almacen") = DdlAlmacenAsignar.SelectedItem.Text
dr("CveEmpresa") = DdlEmpresaAsignarPermiso.SelectedValue
dr("Accion") = 1
DtAlmacenesAsignar.Rows.Add(dr)
End If
End If
CargaGVAlmacenAsignar()
End Sub
Protected Sub GvAlmacenesAsignar_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GVAlmacenesAsignar.RowDeleting
Dim Dr As DataRow() = DtAlmacenesAsignar.Select(String.Format("CveAlmacen = {0}", GVAlmacenesAsignar.Rows(e.RowIndex).DataKey("CveAlmacen")))
If Dr(0)("Accion").ToString = "1" Then
Dr(0)("Accion") = 3
Else
Dr(0)("Accion") = 2
End If
DtAlmacenesAsignar.AcceptChanges()
CargaGVAlmacenAsignar()
End Sub
#End Region
#Region " PROYECTOS-SUBPROYECTOS "
Private Sub CargaDtSubProyectosAsignar()
Dim ClsUsuarios As New ClsSisUsuarios
If ClsUsuarios.GetSubProyectosAsignar(CveUsuario) Then
DtSubProyectosAsignar = ClsUsuarios.DtResultados
Else
DtSubProyectosAsignar = Nothing
Alert("Ocurrió un error al cargar los SubProyectos del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ClsUsuarios.Dispose()
If DtSubProyectosAsignar IsNot Nothing Then
DtSubProyectosAsignar.Columns.Add("ViejoCveSubProyecto", GetType(Integer))
DtSubProyectosAsignar.Columns.Add("Accion", GetType(Integer))
End If
CargarGvSubProyectosAsignar()
End Sub
Private Sub CargarProyectosAsignar()
DdlProyectoAsignar.Items.Clear()
DdlSubProyectoAsignar.Items.Clear()
If DdlEmpresaAsignarPermiso.SelectedValue.ToEntero > 0 Then
Dim dt = GlobalDTProyectos(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero)
DdlProyectoAsignar.DataSource = dt
End If
DdlProyectoAsignar.DataBind()
DdlProyectoAsignar.Items.Insert(0, New ListItem("Seleccione el Proyecto", "-1"))
'CARGA SOLO PROYECTO (SUBRPOYECTOS)
If DdlEmpresaAsignarPermiso.SelectedValue.ToEntero = 66 Then
SoloSubProyectosAsignar()
End If
End Sub
Private Sub CargarGvSubProyectosAsignar()
If DdlEmpresaAsignarPermiso.SelectedValue.ToEntero > 0 Then
GVSubProyectosAsignar.DataSource = DtSubProyectosAsignar.FiltraParametros(String.Format("CveEmpresa = {0} AND (isnull(Accion,0) < 2 OR Accion = 4)", DdlEmpresaAsignarPermiso.SelectedValue.ToEntero))
End If
GVSubProyectosAsignar.DataBind()
UpSubProyectosAsignar.Update()
End Sub
Private Sub CargaSubProyectosAsignar()
DdlSubProyectoAsignar.Items.Clear()
If DdlProyectoAsignar.SelectedValue.ToEntero > 0 Then
DdlSubProyectoAsignar.DataSource = GlobalDTSubProyectos(DdlProyectoAsignar.SelectedValue.ToEntero)
End If
DdlSubProyectoAsignar.DataBind()
DdlSubProyectoAsignar.Items.Insert(0, New ListItem("Seleccione el SubProyecto", "-1"))
End Sub
Protected Sub CboProyectoAsignar_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyectoAsignar.SelectedIndexChanged
CargaSubProyectosAsignar()
End Sub
Private Sub SoloSubProyectosAsignar()
DdlProyecto.Visible = False
DdlSubProyectoAsignar.DataSource = GlobalDTSubProyectos(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero).FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
DdlSubProyectoAsignar.DataBind()
DdlSubProyectoAsignar.Items.Insert(0, New ListItem("Seleccione", "-1"))
GVSubProyectosAsignar.Columns(0).Visible = False
End Sub
Protected Sub LBAgregarSubProyectoAsignar_Click(sender As Object, e As EventArgs)
Dim DtValida As DataTable = DtSubProyectosAsignar.FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyectoAsignar.SelectedValue))
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr = DtSubProyectosAsignar.Select(String.Format("CveSubProyecto = {0}", DdlSubProyectoAsignar.SelectedValue))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr = DtSubProyectosAsignar.Select(String.Format("CveSubProyecto = {0}", DdlSubProyectoAsignar.SelectedValue))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
Else
Alert("El SubProyecto ya se encuentra agregado.", TipoMensaje.MsgAdvertencia)
End If
Else
Dim dr = DtSubProyectosAsignar.NewRow
dr("CveProyecto") = If(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero = 66, "-1", DdlProyectoAsignar.SelectedValue)
dr("Proyecto") = If(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero = 66, "-1", DdlProyectoAsignar.SelectedItem.Text)
dr("CveSubProyecto") = DdlSubProyectoAsignar.SelectedValue
dr("SubProyecto") = DdlSubProyectoAsignar.SelectedItem.Text
dr("CveEmpresa") = DdlEmpresaAsignarPermiso.SelectedValue
dr("Accion") = 1
DtSubProyectosAsignar.Rows.Add(dr)
End If
CargarGvSubProyectosAsignar()
End Sub
Protected Sub GvSubProyectosAsignar_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GVSubProyectosAsignar.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.FCLiteral("LtSubProyecto").Visible = DdlProyectoAsignar.Visible
End If
End Sub
Protected Sub GvSubProyectosAsignar_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GVSubProyectosAsignar.RowDeleting
Dim Dr = DtSubProyectosAsignar.Select(String.Format("CveSubProyecto = {0}", GVSubProyectosAsignar.Rows(e.RowIndex).DataKey("CveSubProyecto")))
If Dr(0)("Accion").ToString = "1" Then
Dr(0)("Accion") = 3
Else
Dr(0)("Accion") = 2
End If
DtSubProyectosAsignar.AcceptChanges()
CargarGvSubProyectosAsignar()
End Sub
#End Region
#Region " CUENTAS BANCARIAS "
Private Sub CargaCuentasBancariasAsignar()
DdlCuentasBancariasAsignar.Items.Clear()
If DdlEmpresaAsignaciones.SelectedValue.ToEntero > 0 Then
DdlCuentasBancariasAsignar.DataSource = GlobalDTBancosCuentas(-1, -1, -1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros($"CveEmpresa = {DdlEmpresaAsignarPermiso.SelectedValue}", "", {"CveCuenta", "NumCuenta"})
End If
DdlCuentasBancariasAsignar.DataBind()
DdlCuentasBancariasAsignar.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlCuentasBancariasAsignar.Items.Insert(1, New ListItem("Todos", "-2"))
End Sub
Private Sub CargaDtCuentasBancariasAsignar()
Dim ClsUsuarios As New ClsSisUsuarios
If ClsUsuarios.GetCuentasBancariasAsignar(CveUsuario) Then
DtCuentasBancariasAsignar = ClsUsuarios.DtResultados
Else
DtCuentasBancariasAsignar = Nothing
Alert("Ocurrió un error al cargar los SubProyectos del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ClsUsuarios.Dispose()
DtCuentasBancariasAsignar.Columns.Add("Accion", GetType(Integer))
CargaGvCuentasBancariasAsignar()
End Sub
Private Sub CargaGvCuentasBancariasAsignar()
GVCuentasBancariasAsignar.DataSource = DtCuentasBancariasAsignar.FiltraParametros(String.Format("CveEmpresa = {0} AND (isnull(Accion,0) < 2 OR Accion = 4)", DdlEmpresaAsignarPermiso.SelectedValue.ToEntero))
GVCuentasBancariasAsignar.DataBind()
UpCuentasBancariasAsignar.Update()
End Sub
Protected Sub LBAgregarCuentaBancariaAsignar_Click(sender As Object, e As EventArgs)
Dim DtValida As DataTable = DtCuentasBancariasAsignar.FiltraParametros(String.Format("CveCuenta = {0}", DdlCuentasBancariasAsignar.SelectedValue))
If DdlCuentasBancariasAsignar.SelectedValue = "-2" Then
DtCuentasBancariasAsignar.Rows.Clear()
For Each Item As ListItem In DdlCuentasBancariasAsignar.Items
Dim dr = DtCuentasBancariasAsignar.NewRow
If Item.Value <> "-1" AndAlso Item.Value <> "-2" Then
dr("CveCuenta") = Item.Value
dr("NumCuenta") = Item.Text
dr("CveEmpresa") = DdlEmpresaAsignarPermiso.SelectedValue
dr("Accion") = 1
DtCuentasBancariasAsignar.Rows.Add(dr)
End If
Next
Else
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr = DtCuentasBancariasAsignar.Select(String.Format("CveCuenta = {0}", DdlCuentasBancariasAsignar.SelectedValue))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr = DtCuentasBancariasAsignar.Select(String.Format("CveCuenta = {0}", DdlCuentasBancariasAsignar.SelectedValue))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
Else
Alert("La cuenta bancaria ya se encuentra agregada.", TipoMensaje.MsgAdvertencia)
End If
Else
Dim dr = DtCuentasBancariasAsignar.NewRow
dr("CveCuenta") = DdlCuentasBancariasAsignar.SelectedValue
dr("NumCuenta") = DdlCuentasBancariasAsignar.SelectedItem.Text
dr("CveEmpresa") = DdlEmpresaAsignarPermiso.SelectedValue
dr("Accion") = 1
DtCuentasBancariasAsignar.Rows.Add(dr)
End If
End If
CargaGvCuentasBancariasAsignar()
End Sub
Protected Sub GVCuentasBancariasAsignar_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GVCuentasBancariasAsignar.RowDeleting
Dim Dr = DtCuentasBancariasAsignar.Select(String.Format("CveCuenta = {0}", GVCuentasBancariasAsignar.Rows(e.RowIndex).DataKey("CveCuenta")))
If Dr(0)("Accion").ToString = "1" Then
Dr(0)("Accion") = 3
Else
Dr(0)("Accion") = 2
End If
DtCuentasBancariasAsignar.AcceptChanges()
CargaGvCuentasBancariasAsignar()
End Sub
#End Region
#Region " MODULOS "
Public Sub CargaDTModulosAsignar()
Dim ObjPermisos As New ClsSisUsuarios
If ObjPermisos.GetModulosAsignar(CveUsuario, DdlEmpresaAsignarPermiso.SelectedValue.ToEntero) Then
DTModulosAsignar = ObjPermisos.DtResultados
Else
DTModulosAsignar = Nothing
End If
ObjPermisos.Dispose()
CargaGvModulosAsignar()
End Sub
Private Sub CargaGvModulosAsignar()
GvModulosAsignar.DataSource = DTModulosAsignar
GvModulosAsignar.DataBind()
If (GvModulosAsignar.Rows.Count > 0) Then
GvModulosAsignar.UseAccessibleHeader = True
GvModulosAsignar.HeaderRow.TableSection = TableRowSection.TableHeader
RegistraScript("OrdenarGVModulosAsignar();")
End If
UpModulosAsignar.Update()
End Sub
Protected Sub GvModulosAsignar_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvModulosAsignar.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("TienePermiso").ToEntero > 0 Then
e.Row.Cells(3).CssClass = "bg-yellow"
e.Row.FCCheckBox("ChkP").Checked = True
End If
End If
End Sub
#End Region
#Region " PERMISOS "
Public Sub CargaDTPermisosAsignar()
Dim ObjPermisos As New ClsSisUsuarios
If ObjPermisos.GetPermisosAsignar(CveUsuario, UsuarioActual.CveEmpresa) Then
DTPermisosAsignar = ObjPermisos.DtResultados
Else
DTPermisosAsignar = Nothing
End If
ObjPermisos.Dispose()
CargaGvPermisosAsignar()
End Sub
Private Sub CargaGvPermisosAsignar()
GvPermisosAsignar.DataSource = DTPermisosAsignar
GvPermisosAsignar.DataBind()
If (GvPermisosAsignar.Rows.Count > 0) Then
GvPermisosAsignar.UseAccessibleHeader = True
GvPermisosAsignar.HeaderRow.TableSection = TableRowSection.TableHeader
RegistraScript("OrdenarGVPermisosAsignar();")
End If
UpPermisosAsignar.Update()
End Sub
Protected Sub GvPermisosAsignar_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvPermisosAsignar.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("TienePermiso").ToEntero > 0 Then
e.Row.Cells(3).CssClass = "bg-yellow"
e.Row.FCCheckBox("ChkP").Checked = True
End If
End If
End Sub
#End Region
#Region " INDICADORES "
Public Sub CargaDTIndicadoresAsignar()
Dim ObjIndicadores As New ClsSisUsuarios
If ObjIndicadores.GetIndicadoresAsignar(CveUsuario, UsuarioActual.CveEmpresa) Then
DTIndicadoresAsignar = ObjIndicadores.DtResultados
Else
DTIndicadoresAsignar = Nothing
End If
ObjIndicadores.Dispose()
CargaGvIndicadoresAsignar()
End Sub
Private Sub CargaGvIndicadoresAsignar()
GvIndicadoresAsignar.DataSource = DTIndicadoresAsignar
GvIndicadoresAsignar.DataBind()
UpIndicadoresAsignar.Update()
End Sub
Protected Sub GvIndicadoresAsignar_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvIndicadoresAsignar.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("TienePermiso").ToEntero > 0 Then
e.Row.Cells(1).CssClass = "bg-yellow"
e.Row.FCCheckBox("ChkP").Checked = True
End If
End If
End Sub
#End Region
#End Region
#Region " USUARIO CONTROLADO "
Private Sub InicializaUsuarioControlado()
Dim ClsUsuarios As New ClsSisUsuarios
TabAsignar.Visible = False
If ClsUsuarios.GetAlmacenAsignar(UsuarioActual.CveUsuario) Then
DtAlmacenesControlado = ClsUsuarios.DtResultados
Else
DtAlmacenesControlado = Nothing
Alert("Ocurrió un error al cargar los Almacenes controlados del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
If ClsUsuarios.GetSubProyectosAsignar(UsuarioActual.CveUsuario) Then
DtSubProyectosControlado = ClsUsuarios.DtResultados
Else
DtSubProyectosControlado = Nothing
Alert("Ocurrió un error al cargar los SubProyectos controlados del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
If ClsUsuarios.GetCuentasBancariasAsignar(UsuarioActual.CveUsuario) Then
DtCuentasBancariasControlado = ClsUsuarios.DtResultados
Else
DtCuentasBancariasControlado = Nothing
Alert("Ocurrió un error al cargar las Cuentas Bancarias controladas del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
If ClsUsuarios.GetModulosAsignar(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
DTModulosControlado = ClsUsuarios.DtResultados
Else
Alert("Ocurrió un error al cargar los Modulos controlados del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
DTModulosControlado = Nothing
End If
If ClsUsuarios.GetPermisosAsignar(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
DTPermisosControlado = ClsUsuarios.DtResultados
Else
Alert("Ocurrió un error al cargar los Permisos controlados del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
DTPermisosControlado = Nothing
End If
If ClsUsuarios.GetRolesAsignar(UsuarioActual.CveUsuario) Then
DTRolesControlado = ClsUsuarios.DtResultados
Else
Alert("Ocurrió un error al cargar los Permisos controlados del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
DTRolesControlado = Nothing
End If
ClsUsuarios.Dispose()
End Sub
#End Region
#Region "C O N T O L E S DE U S U A R I O S"
#Region "ESTATUS DE ÓRDENES DE COMPRA"
Private Sub CargaDtEstatusOCPermisos()
Dim ClsUsuarios As New ClsSisUsuarios
If ClsUsuarios.GetEstatusOC(UsuarioActual.CveUsuario) Then
DTEstatusOCAsignar = ClsUsuarios.DtResultados
Else
DTEstatusOCAsignar = Nothing
Alert("Ocurrió un error al cargar los Estatus de OC del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ClsUsuarios.Dispose()
If DTEstatusOCAsignar IsNot Nothing Then
If Not DTEstatusOCAsignar.Columns.Contains("ViejoCveEstatus") Then
DTEstatusOCAsignar.Columns.Add("ViejoCveEstatus", GetType(Integer))
End If
If Not DTEstatusOCAsignar.Columns.Contains("Accion") Then
DTEstatusOCAsignar.Columns.Add("Accion", GetType(Integer))
End If
End If
End Sub
Private Sub CargaDtEstatusOC()
Dim ClsUsuarios As New ClsSisUsuarios
If ClsUsuarios.GetEstatusOC(CveUsuario) Then
DTEstatusOC = ClsUsuarios.DtResultados
Else
DTEstatusOCAsignar = Nothing
Alert("Ocurrió un error al cargar los Estatus de OC del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ClsUsuarios.Dispose()
If DTEstatusOC IsNot Nothing Then
If Not DTEstatusOC.Columns.Contains("ViejoCveEstatus") Then
DTEstatusOC.Columns.Add("ViejoCveEstatus", GetType(Integer))
End If
If Not DTEstatusOC.Columns.Contains("Accion") Then
DTEstatusOC.Columns.Add("Accion", GetType(Integer))
End If
End If
End Sub
Private Sub CargaDdlEstatusOC()
DdlEstatusOC.Items.Clear()
If DdlEmpresaAsignarPermiso.SelectedValue.ToEntero > 0 Then
DdlEstatusOC.DataSource = GlobalDTOCEstatus(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero).FiltraParametros($"Tipo='{DdlTipoEstatus.SelectedValue}'")
End If
DdlEstatusOC.DataBind()
End Sub
Protected Sub DdlTipoEstatus_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoEstatus.SelectedIndexChanged
If DdlEmpresaAsignarPermiso.SelectedValue.ToEntero > 0 Then
CargaDdlEstatusOC()
Else
Alert("No hay una empresa asignada.Favor de seleccionar una", TipoMensaje.MsgAdvertencia)
End If
UpCUEstatusOC.Update()
End Sub
Protected Sub LnkAgregarOC_Click(sender As Object, e As EventArgs) Handles LnkAgregarOC.Click
If DdlEmpresaAsignarPermiso.SelectedValue.ToEntero > 0 Then
Dim CveEstatus As Integer = DdlEstatusOC.SelectedValue.ToEntero
Dim DtValida As DataTable = DTEstatusOC.FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus))
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr = DTEstatusOC.Select(String.Format("CveEstatus = {0}", CveEstatus))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr = DTEstatusOC.Select(String.Format("CveEstatus = {0}", CveEstatus))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
Else
Alert("El Estatus ya se encuentra agregado.", TipoMensaje.MsgAdvertencia)
End If
Else
Dim DrEstatus As DataRow = GlobalDTOCEstatus(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero).FiltroPrimero(String.Format("CveEstatus={0}", CveEstatus))
If DrEstatus IsNot Nothing Then
Dim Estatus As String = DrEstatus("Estatus").ToString
Dim Tipo As String = DrEstatus("Tipo").ToString
Dim Dr As DataRow = DTEstatusOC.NewRow
Dr("CveEstatus") = CveEstatus
Dr("CveUsuario") = CveUsuario
Dr("Tipo") = Tipo
Dr("Estatus") = Estatus
Dr("Accion") = 1
Dr("CveEmpresa") = DdlEmpresaAsignarPermiso.SelectedValue.ToEntero
DTEstatusOC.Rows.Add(Dr)
DTEstatusOC.AcceptChanges()
CargaGvEstatusOC()
End If
End If
Else
Alert("No hay una empresa asignada.Favor de seleccionar una", TipoMensaje.MsgAdvertencia)
End If
UpCUEstatusOC.Update()
End Sub
Private Sub CargaGvEstatusOC()
GvEstatusOC.DataSource = DTEstatusOC.FiltraParametros("(isnull(Accion,0) < 2 OR Accion = 4)")
GvEstatusOC.DataBind()
End Sub
Private Sub CreaDTEstatusOC()
Dim dt As New DataTable
dt.Columns.Add("CveEstatus", GetType(Integer))
dt.Columns.Add("Estatus", GetType(String))
dt.Columns.Add("Tipo", GetType(String))
dt.Columns.Add("CveUsuario", GetType(Integer))
dt.Columns.Add("ViejoCveEstatus", GetType(Integer))
dt.Columns.Add("Accion", GetType(Integer))
dt.Columns.Add("CveEmpresa", GetType(Integer))
dt.AcceptChanges()
DTEstatusOC = dt
DTEstatusOCAsignar = dt
End Sub
#End Region
#Region "GV ESTATUS DE OC"
Protected Sub GvEstatusOC_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstatusOC.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
'Carga los dropdown list de edicion
If e.Row.FCDropDownList("DdlEstatusOC") IsNot Nothing Then
e.Row.FCDropDownList("DdlTipoEstatus").SelectedValue = e.Row.DBCampo("Tipo")
e.Row.FCDropDownList("DdlEstatusOC").DataSource = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros($"Tipo='{e.Row.DBCampo("Tipo")}'")
e.Row.FCDropDownList("DdlEstatusOC").DataBind()
e.Row.FCDropDownList("DdlEstatusOC").SelectedValue = e.Row.DBCampo("CveEstatus")
End If
'Asigna un nombre al tipo de estatus
If e.Row.FCLiteral("LtTipo") IsNot Nothing Then
If e.Row.DBCampo("Tipo") = "Req" Then e.Row.FCLiteral("LtTipo").Text = "Requisición"
If e.Row.DBCampo("Tipo") = "OC" Then e.Row.FCLiteral("LtTipo").Text = "Órden de Compra"
End If
End If
End Sub
Protected Sub GvEstatusOC_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvEstatusOC.RowDeleting
Dim Dr = DTEstatusOC.Select(String.Format("CveEstatus = {0}", GvEstatusOC.Rows(e.RowIndex).DataKey("CveEstatus")))
If Dr(0)("Accion").ToString = "1" Then
Dr(0)("Accion") = 3
Else
Dr(0)("Accion") = 2
End If
DTEstatusOC.AcceptChanges()
CargaGvEstatusOC()
End Sub
Protected Sub GvEstatusOC_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvEstatusOC.RowEditing
GvEstatusOC.EditIndex = e.NewEditIndex
CargaGvEstatusOC()
End Sub
Protected Sub GvEstatusOC_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles GvEstatusOC.RowUpdating
If DTEstatusOC.Rows(e.RowIndex)("CveEstatus").ToString = GvEstatusOC.Rows(e.RowIndex).FCDropDownList("DdlEstatusOC").SelectedValue Then
'No hago nada nomas quito el modo edicion
GvEstatusOC.EditIndex = -1
Else
Dim DtValida As DataTable = DTEstatusOC.FiltraParametros(String.Format("CveEstatus = {0}", GvEstatusOC.Rows(e.RowIndex).FCDropDownList("DdlEstatusOC").SelectedValue))
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr = DTEstatusOC.Select(String.Format("CveEstatus = {0}", GvEstatusOC.Rows(e.RowIndex).FCDropDownList("DdlEstatusOC").SelectedValue))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
DTEstatusOC.Rows.RemoveAt(e.RowIndex)
GvEstatusOC.EditIndex = -1
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr = DTEstatusOC.Select(String.Format("CveEstatus = {0}", GvEstatusOC.Rows(e.RowIndex).FCDropDownList("DdlEstatusOC").SelectedValue))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
DTEstatusOC.Rows.RemoveAt(e.RowIndex)
GvEstatusOC.EditIndex = -1
Else
Alert("El Estatus ya se encuentra agregado.", TipoMensaje.MsgAdvertencia)
End If
Else
If DTEstatusOC.Rows(e.RowIndex)("Accion").ToString.ToEntero = 0 Then
DTEstatusOC.Rows(e.RowIndex)("ViejoCveEstatus") = DTEstatusOC.Rows(e.RowIndex)("CveEstatus")
DTEstatusOC.Rows(e.RowIndex)("CveEstatus") = If(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero = 66, "-1", GvEstatusOC.Rows(e.RowIndex).FCDropDownList("DdlEstatusOC").SelectedValue)
DTEstatusOC.Rows(e.RowIndex)("Estatus") = If(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero = 66, "-1", GvEstatusOC.Rows(e.RowIndex).FCDropDownList("DdlEstatusOC").SelectedItem.Text)
DTEstatusOC.Rows(e.RowIndex)("Tipo") = GvEstatusOC.Rows(e.RowIndex).FCDropDownList("DdlTipoEstatus").SelectedValue
DTEstatusOC.Rows(e.RowIndex)("Accion") = 4
DTEstatusOC.Rows(e.RowIndex).AcceptChanges()
ElseIf DTEstatusOC.Rows(e.RowIndex)("Accion").ToString.ToEntero = 4 Or DTEstatusOC.Rows(e.RowIndex)("Accion").ToString.ToEntero = 1 Then
DTEstatusOC.Rows(e.RowIndex)("ViejoCveEstatus") = DTEstatusOC.Rows(e.RowIndex)("CveEstatus")
DTEstatusOC.Rows(e.RowIndex)("CveEstatus") = If(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero = 66, "-1", GvEstatusOC.Rows(e.RowIndex).FCDropDownList("DdlEstatusOC").SelectedValue)
DTEstatusOC.Rows(e.RowIndex)("Estatus") = If(DdlEmpresaAsignarPermiso.SelectedValue.ToEntero = 66, "-1", GvEstatusOC.Rows(e.RowIndex).FCDropDownList("DdlEstatusOC").SelectedItem.Text)
DTEstatusOC.Rows(e.RowIndex)("Tipo") = GvEstatusOC.Rows(e.RowIndex).FCDropDownList("DdlTipoEstatus").SelectedValue
DTEstatusOC.Rows(e.RowIndex).AcceptChanges()
End If
DTEstatusOC.AcceptChanges()
GvEstatusOC.EditIndex = -1
End If
End If
CargaGvEstatusOC()
End Sub
Protected Sub GvEstatusOC_RowCancelingEdit(sender As Object, e As GridViewCancelEditEventArgs) Handles GvEstatusOC.RowCancelingEdit
GvEstatusOC.EditIndex = -1
CargaGvEstatusOC()
End Sub
Protected Sub DdlTipoEstatus_SelectedIndexChanged1(sender As Object, e As EventArgs)
Dim pDdlTipoEstatus As DropDownList = CType(sender, DropDownList)
Dim pDdlEstatus As DropDownList = CType(pDdlTipoEstatus.NamingContainer, GridViewRow).FCDropDownList("DdlEstatusOC")
pDdlEstatus.Items.Clear()
pDdlEstatus.DataSource = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros($"Tipo='{pDdlTipoEstatus.SelectedValue}'")
pDdlEstatus.DataBind()
End Sub
Private Sub ValidaAccesoEstatusOC()
'Requisiciones
Dim dtReq = DTEstatusOC.FiltraParametros("Tipo='Req'")
For i = 2 To GvEstatusUsuariosREQ.Columns.Count - 1
If GvEstatusUsuariosREQ.Columns(i).FooterText <> String.Empty Then
Dim CveEstatus As Integer = GvEstatusUsuariosREQ.Columns(i).FooterText.ToEntero
Dim DtValida As DataTable = dtReq.FiltraParametros($"CveEstatus={CveEstatus}")
GvEstatusUsuariosREQ.Columns(i).Visible = (DtValida IsNot Nothing AndAlso DtValida.Rows.Count = 1)
End If
Next
'Ordenes de compra
Dim dtOC = DTEstatusOC.FiltraParametros("Tipo='OC'")
For i = 2 To GvEstatusUsuariosOC.Columns.Count - 1
If GvEstatusUsuariosOC.Columns(i).FooterText <> String.Empty Then
Dim CveEstatus As Integer = GvEstatusUsuariosOC.Columns(i).FooterText.ToEntero
Dim DtValida As DataTable = dtOC.FiltraParametros($"CveEstatus={CveEstatus}")
GvEstatusUsuariosOC.Columns(i).Visible = (DtValida IsNot Nothing AndAlso DtValida.Rows.Count = 1)
End If
Next
End Sub
#End Region
#End Region
Protected Sub LnkAgregarClasificacion_Click(sender As Object, e As EventArgs)
If DtClasificaciones IsNot Nothing Then
Dim CveClasificacion As Integer = DdlClasificacion.SelectedValue.ToEntero
Dim DtValida As DataTable = DtClasificaciones.FiltraParametros(String.Format("CveClasificacion = {0}", CveClasificacion))
If DtValida.Rows.Count > 0 Then
If DtValida.Rows(0)("Accion").ToString = "2" Then
Dim dr = DtClasificaciones.Select(String.Format("CveClasificacion = {0}", CveClasificacion))
dr(0)("Accion") = 0
dr(0).AcceptChanges()
ElseIf DtValida.Rows(0)("Accion").ToString = "3" Then
Dim dr = DtClasificaciones.Select(String.Format("CveClasificacion = {0}", CveClasificacion))
dr(0)("Accion") = 1
dr(0).AcceptChanges()
Else
Alert("La clasificación ya se encuentra agregada.", TipoMensaje.MsgAdvertencia)
End If
Else
Dim DrClasificacion As DataRow = GlobalDTClasificaciones(CveEmpresa:=CveEmpresa).FiltroPrimero(String.Format("CveClasificacion={0}", CveClasificacion))
If DrClasificacion IsNot Nothing Then
Dim Dr As DataRow = DtClasificaciones.NewRow
Dr("CveClasificacion") = CveClasificacion
Dr("Clasificacion") = DrClasificacion("Clasificacion").ToString
Dr("Accion") = 1
Dr("CveEmpresa") = CveEmpresa
DtClasificaciones.Rows.Add(Dr)
DtClasificaciones.AcceptChanges()
CargaGvClasificaciones()
End If
End If
End If
CargaDdlClasificaciones()
End Sub
Protected Sub CargaGvClasificaciones()
GvClasificacion.DataSource = DtClasificaciones.FiltraParametros("(isnull(Accion,0) < 2 OR Accion = 4)")
GvClasificacion.DataBind()
End Sub
Protected Sub CargaDdlClasificaciones()
Dim ClasificacionesSinGV As String = GetClasificacionesSinGV()
DdlClasificacion.Items.Clear()
If ClasificacionesSinGV.Length > 0 Then
DdlClasificacion.DataSource = GlobalDTClasificaciones(CveEmpresa:=CveEmpresa).FiltraParametros(ClasificacionesSinGV)
Else
DdlClasificacion.DataSource = GlobalDTClasificaciones(CveEmpresa:=CveEmpresa)
End If
DdlClasificacion.DataBind()
UpDatos.Update()
End Sub
Private Function GetClasificacionesSinGV() As String
Dim SB As New StringBuilder
Dim prefix As String = ""
For Each item As GridViewRow In GvClasificacion.Rows
SB.Append(prefix)
SB.Append(item.DataKey("CveClasificacion"))
prefix = ","
Next
If SB.Length > 0 Then
Return $"CveClasificacion NOT IN ({SB.ToString})"
Else
Return ""
End If
End Function
Protected Sub CargaClasificaciones()
If UsuarioActual.CveRol = 1 Then
DivClasificaciones.Visible = True
Dim ObjUsuarios As New ClsSisUsuarios
If ObjUsuarios.GetUsuariosClasificaciones(CveUsuario, -1, CveEmpresa) Then
DtClasificaciones = ObjUsuarios.DtResultados
End If
ObjUsuarios.Dispose()
If DtClasificaciones IsNot Nothing Then
If Not DtClasificaciones.Columns.Contains("Accion") Then
DtClasificaciones.Columns.Add("Accion", GetType(Integer))
End If
End If
GvClasificacion.DataSource = DtClasificaciones
GvClasificacion.DataBind()
End If
End Sub
Protected Sub GvClasificacion_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvClasificacion.RowDeleting
Dim Dr = DtClasificaciones.Select(String.Format("CveClasificacion = {0}", GvClasificacion.Rows(e.RowIndex).DataKey("CveClasificacion")))
If Dr(0)("Accion").ToString = "1" Then
Dr(0)("Accion") = 3
Else
Dr(0)("Accion") = 2
End If
DtClasificaciones.AcceptChanges()
CargaGvClasificaciones()
CargaDdlClasificaciones()
End Sub
Private Sub CargaGvBitacora()
If CveUsuario > 0 Then
Dim ObjGral As New ClsGenerales()
If ObjGral.GetHistorialBitacora(-1, -1, -1, -1, -1, -1, -1, -1, CveUsuario:=CveUsuario) Then ' UsuarioActual.CveEmpresa, se manda empresa -1
GvBitacoraHistorial.DataSource = ObjGral.DtResultados
ObjGral.Dispose()
End If
GvBitacoraHistorial.DataBind()
UpBitacora.Update()
End If
End Sub
Private Sub CargaComboSubProyecto()
Dim ClsUsuarios As New ClsSisUsuarios
If ClsUsuarios.GetSubProyectos(CveUsuario) Then
DtSubProyectos3 = ClsUsuarios.DtResultados
Else
DtSubProyectos = Nothing
Alert("Ocurrió un Error al cargar los SubProyectos del Usuario. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ClsUsuarios.Dispose()
If DtSubProyectos3 IsNot Nothing Then
DtSubProyectos3.Columns.Add("ViejoCveSubProyecto", GetType(Integer))
DtSubProyectos3.Columns.Add("Accion", GetType(Integer))
End If
End Sub
#Region "USUARIO RESPONSABLE"
Protected Sub BtnUpdateUsuarioResponsable_Click(sender As Object, e As EventArgs)
Dim ObjUsuarios As New ClsSisUsuarios
If ObjUsuarios.UpdateUsuarioResponsableMasivo(CveUsuario, DdlUsuarioResponsable.SelectedValue.ToEntero) Then
Alert("Actualizado Correctamente")
RegistraScript("$('#DivUpdateUsuarioResponsable').modal('hide')")
End If
ObjUsuarios.Dispose()
End Sub
#End Region
Protected Sub LnkAutorizarEquipo_Click(sender As Object, e As EventArgs)
'CveUsuario
Dim AdsCodex As String = Encripta(String.Format("{0}_{1}_{2}", CveUsuario, NowADS().Ticks, UsuarioActual.CveUsuario))
Using objuser As New ClsSisUsuarios()
If objuser.UsuariosGetTokenXEquipo(CveUsuario, UsuarioActual.CveUsuario, AdsCodex) Then
RegistraScript(String.Format("localStorage.setItem('AdsCodex', '{0}');", AdsCodex), "adstokenx")
End If
End Using
Alert("El usuario se ha autorizado en el equipo")
End Sub
Protected Sub BtnCerrarSession_Click(sender As Object, e As EventArgs)
'ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.CerrarSession, CveUsuario:=CveUsuario)
Dim objlist As List(Of ADSSession.ADSSessionObj) = DirectCast(ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.getListasession, CveUsuario:=CveUsuario), List(Of ADSSession.ADSSessionObj))
For Each user As ADSSession.ADSSessionObj In objlist
If CveUsuario = user.CveUsuario Then 'AndAlso (CveEmpresa = -1 OrElse CveEmpresa = user.CveEmpresa) Then
Dim taspsig As String = user.ASPSIG '"94C6AC57E8599390A4B7B8AB41FEABEF466D9B31120BE06D78110E66265F1ACC5616297BF3B88EDCEE71EBCFE35484308F62C8017EAC29FB3F0FB45CEC09E8F03DFBB4A4DD890D45755B7A30185C6D01F20AEFA74BE3A25FD12D536B20DCB8D9940A3D95"
Dim tsessionID As String = user.SessionID
Dim url = System.Configuration.ConfigurationManager.AppSettings("urlcerrarSession").ToString()
Dim cookie As String = String.Format("ASP.NET_SessionId={0};.ASPXSIG={1}", tsessionID, taspsig)
sendURL(url, cookie)
End If
Next
Alert("Sessión Cerrada")
End Sub
Private Shared Function sendURL(ByVal URL As String, ByVal Optional Cookie As String = "", ByVal Optional maxTimeMilliseconds As Integer = 120000) As String
Dim resultado As String = ""
Try
Dim request As Net.HttpWebRequest = CType(Net.HttpWebRequest.Create(URL), Net.HttpWebRequest)
request.Timeout = maxTimeMilliseconds
request.Method = "POST"
request.ContentType = "text/xml; charset=utf-8"
If Not String.IsNullOrEmpty(Cookie) Then
request.Headers.Add("Cookie", Cookie)
End If
Using stream As IO.Stream = request.GetRequestStream()
Using stmw As IO.StreamWriter = New IO.StreamWriter(stream)
stmw.Write("")
End Using
End Using
Using response As Net.WebResponse = CType(request.GetResponse(), Net.WebResponse)
Using sr As IO.StreamReader = New IO.StreamReader(response.GetResponseStream())
resultado = sr.ReadToEnd()
sr.Close()
End Using
End Using
request = Nothing
Catch ex As Exception
'Extenciones.ApplicationParameter.GuardaLogEx(ex, $"SOAPAction : {SOAPAction} XML : {xml}")
End Try
Return resultado
End Function
Protected Sub LnkClonarUsuario_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DivClonar').modal('show');")
LblClonarMensaje.Text = ""
UpClonarUsuario.Update()
End Sub
Protected Sub BtnConsultarBitacora_Click(sender As Object, e As EventArgs)
CargaBitacora()
UpSistema.Update()
End Sub
Protected Sub LnkExportarBitacora_Click(sender As Object, e As EventArgs)
Dim DtDatos As DataTable = Nothing
Dim ObjUsuario As New ClsSisUsuarios
If ObjUsuario.GetBitacora(CveUsuario, TxtFechaIBitacora.Text.ToDateTime(), TxtFechaFBitacora.Text.ToDateTime()) Then
DtDatos = ObjUsuario.DtResultados.Copy()
End If
ObjUsuario.Dispose()
Dim StrFiltro As New StringBuilder
If TxtFechaIBitacora.Text <> "" Then StrFiltro.AppendFormat("&emsp;<b>Fecha Inicio </b>: {0}", TxtFechaIBitacora.Text.ToDate.ToShortDateString)
If TxtFechaFBitacora.Text <> "" Then StrFiltro.AppendFormat("&emsp;<b>Fecha Fin </b>: {0}", TxtFechaFBitacora.Text.ToDate.ToShortDateString)
Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
Dim FechaI, FechaF As String
FechaI = TxtFechaIBitacora.Text
FechaF = TxtFechaFBitacora.Text
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaI))
params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString))
params.Add(New ReportParameter("Filtros", StrFiltro.ToString))
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
ImprimirPDF("Empresas/Grales/Formatos/BitacoraLogin.rdlc", DtDatos, params, String.Format("BitacoraRegistro-{0}", NowADS().ToDateTime.ToShortDateString))
End Sub
End Class