diff --git a/App_Code/ClsSisUsuarios.vb b/App_Code/ClsSisUsuarios.vb
index 8a7d501e9..298590f13 100644
--- a/App_Code/ClsSisUsuarios.vb
+++ b/App_Code/ClsSisUsuarios.vb
@@ -413,8 +413,67 @@ Public Class ClsSisUsuarios
End Try
Return Retorno
- End Function
+ End Function
+
+
+ Public Function ValidaUsuarioPortalCliente(Clave As String, Usuario As String, Password As String) As Usuario
+ Dim Retorno As Usuario = Nothing
+ DataAdapter("PA_Sis_UsuariosGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveUsuario", SqlDbType.Int).Value = -1
+ .Add("@CveRol", SqlDbType.Int).Value = -1
+ .Add("@Usuario", SqlDbType.VarChar).Value = Usuario
+ .Add("@Contraseña", SqlDbType.VarChar).Value = Password
+ .Add("@EsLogIn", SqlDbType.Bit).Value = 1
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ If Data.Rows.Count > 0 Then
+ Retorno = New Usuario
+
+ Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero
+ Retorno.Usuario = Usuario
+ Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString
+ Retorno.Nombre = Data.Rows(0)("Nombre").ToString
+ Retorno.CveRol = Data.Rows(0)("CveRol").ToString.ToEntero
+ Retorno.Rol = Data.Rows(0)("Rol").ToString
+ 'Retorno.NombreEmpresa = Data.Rows(0)("Empresa").ToString
+ Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero
+ Retorno.CveCliente = Clave.ToEntero
+ Retorno.ClienteGPS = False
+ Retorno.Portal = True
+ Retorno.Referencia = Data.Rows(0)("Referencia").ToString
+ Retorno.EsSupervisorRH = If(Data.Rows(0)("EsSupervisorRH").ToString = "1", True, False)
+ 'Retorno.Liga = Data.Rows(0)("Liga").ToString
+ 'cargo los modulos del usuario y genero el menú
+ Dim dttmp As DataTable = GetUsuariosRolesModulos(Retorno.CveUsuario, Retorno.CveCliente)
+
+ Dim UsuariosModulos As New HybridDictionary
+ For Each Row As DataRow In dttmp.Rows
+ UsuariosModulos.Add(Convert.ToInt32(Row("CveModulo")), Row("CveModulo").ToString)
+ Next
+ Retorno.Modulos = UsuariosModulos
+ ''cargo los procesos del usuario
+ dttmp = GetUsuariosRolesProcesos(Retorno.CveUsuario)
+ Dim UsuariosProcesos As New HybridDictionary
+ For Each Row As DataRow In dttmp.Rows
+ UsuariosProcesos.Add(Convert.ToInt32(Row("CveProceso")), Row("CveProceso").ToString)
+ Next
+ Retorno.Procesos = UsuariosProcesos
+ End If
+
+ Catch ex As SqlException
+ OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
+ Retorno = Nothing
+ End Try
+
+ Return Retorno
+ End Function
+
+
#Region "U S U A R I O - I N D I C A D O R E S"
Public Function getUsuarioIndicadores(_CveUsuario As Integer, _CveEmpresa As Integer, _CveRol As Integer) As DataTable
@@ -2671,12 +2730,37 @@ Public Class ClsSisUsuarios
End Try
Return Retorno
- End Function
+ End Function
+
+ Public Function GetUsuarioCliente(CveUsuario As Integer, CveCliente As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Sis_UsuariosClienteGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 2627;") Then
+ Alert("Ya existe un Usuario con el mismo nombre: " & Usuario & ".", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al guardar el nuevo usuario", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar el nuevo usuario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+
#End Region
-
-
+
+
#Region "U S U A R I O S - PyME"
-
+
Public Function AddUsuariosModulosPyMe(CveUsuario As Integer, Rol As String) As Boolean
Dim Retorno As Boolean = False
diff --git a/Sistemas/PopUpAddUsuario.aspx b/Sistemas/PopUpAddUsuario.aspx
index 631fef59b..9517c20a9 100644
--- a/Sistemas/PopUpAddUsuario.aspx
+++ b/Sistemas/PopUpAddUsuario.aspx
@@ -21,6 +21,17 @@
#GvPermisosComandos tr td:nth-child(n+3), #GVNotificaciones tr th:nth-child(n+2) {
width: 50px;
}
+ .CustomSpinner {
+ position: fixed;
+ background-image: url(/Imagenes/Loading.gif);
+ background-repeat: no-repeat, repeat;
+ background-size: contain;
+ top: 60px;
+ right: 25px;
+ z-index: 500000;
+ height: 40px;
+ width: 40px;
+ }
@@ -430,6 +441,7 @@
+
-
+
+
diff --git a/Sistemas/PopUpSeleccionarEmpresa.aspx.vb b/Sistemas/PopUpSeleccionarEmpresa.aspx.vb
index c950fc162..04470a006 100644
--- a/Sistemas/PopUpSeleccionarEmpresa.aspx.vb
+++ b/Sistemas/PopUpSeleccionarEmpresa.aspx.vb
@@ -19,30 +19,31 @@ Partial Class PopUpSeleccionarEmpresa
End Sub
Private Sub GetEmpresas()
-
-
Dim Dt As Data.DataTable = GlobalDTUsuarios(UsuarioActual.CveUsuario)
If Dt IsNot Nothing Then
If Dt.Rows.Count > 0 Then
LtlTotalRegistros.Text = Dt.Rows.Count.ToString.FormatoNumero(0)
- GV.DataSource = Dt.FiltraParametros("CvePlataforma = 1 OR (CvePlataforma = 3 AND CveCliente IS NULL)", "Empresa")
- GVCliente.DataSource = Dt.FiltraParametros("CvePlataforma = 3 AND CveCliente IS NOT NULL", "Empresa")
+ GvEmpresas.DataSource = Dt.FiltraParametros("CvePlataforma = 1 OR (CvePlataforma = 3 AND CveCliente IS NULL)", "Empresa")
+ GvPortalRastreo.DataSource = Dt.FiltraParametros("CvePlataforma = 3 AND CveCliente IS NOT NULL", "Empresa")
+ GvPortalCliente.DataSource = Dt.FiltraParametros("CvePlataforma = 6 AND CveCliente IS NOT NULL", "Empresa")
Else
LtlTotalRegistros.Text = "0"
- GV.DataSource = Nothing
+ GvEmpresas.DataSource = Nothing
Alert("No se encontraron registros con los parametros solicitados.", Extensiones.TipoMensaje.MsgAdvertencia)
End If
End If
- GV.DataBind()
- GVCliente.DataBind()
+ GvEmpresas.DataBind()
+ GvPortalRastreo.DataBind()
+ GvPortalCliente.DataBind()
+
UPDatos.Update()
TblBusqueda.Visible = True
End Sub
- Protected Sub GV_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GV.RowCommand
+ Protected Sub GvEmpresas_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GvEmpresas.RowCommand
If e.CommandName = "Cambia" Then
Dim gvr As GridViewRow = DirectCast(DirectCast(e.CommandSource, LinkButton).BindingContainer, GridViewRow)
@@ -80,35 +81,7 @@ Partial Class PopUpSeleccionarEmpresa
End If
End Sub
-
- Private Sub GuardaLogR(Mensaje As String)
- Dim ArchivoW As IO.StreamWriter
- Dim MensajeLog As String = ""
- Dim continuar As Boolean = True
- Try
- If Not IsNothing(System.Web.HttpContext.Current) Then
- If Not IsNothing(System.Web.HttpContext.Current.Request) Then
-
- MensajeLog = $"{HttpContext.Current.Request.Url.ToString()}{Environment.NewLine}"
- End If
- End If
- Catch
- End Try
- MensajeLog = $"{System.Environment.NewLine}'{DateTime.Now:dd/MM/yyyy hh:mm}' -- {MensajeLog}{Mensaje.Trim()}{Environment.NewLine}"
-
- Try
- ArchivoW = New IO.StreamWriter(String.Format("{0}\LogSession.txt", AppDomain.CurrentDomain.BaseDirectory), True, System.Text.Encoding.UTF8)
- Catch
- Exit Sub
- End Try
- Try
- ArchivoW.Write(MensajeLog)
- Catch
- End Try
- ArchivoW.Close()
- ArchivoW.Dispose()
- End Sub
- Protected Sub gvUsuarios_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles GVCliente.RowCommand
+ Protected Sub GvPortalRastreo_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles GvPortalRastreo.RowCommand
If e.CommandName = "Cambia" Then
Dim gvr As GridViewRow = DirectCast(DirectCast(e.CommandSource, LinkButton).BindingContainer, GridViewRow)
@@ -142,32 +115,49 @@ Partial Class PopUpSeleccionarEmpresa
End If
End If
- End Sub
+ End Sub
+
+ Protected Sub GvPortalCliente_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles GvPortalCliente.RowCommand
+ If e.CommandName = "Cambia" Then
+ Dim gvr As GridViewRow = DirectCast(DirectCast(e.CommandSource, LinkButton).BindingContainer, GridViewRow)
+ If gvr IsNot Nothing Then
- Protected Sub BtnSetWindows_Click(sender As Object, e As System.EventArgs) Handles BtnSetWindows.Click
- RegistraScript(String.Format("$get('tdContenido').style.height='{0}px'; $get('tdContenido').style.width='{1}px'", HdnAlto.Value.ToEntero - 30, HdnAncho.Value.ToEntero - 30))
- End Sub
+ Dim ObjUsuario As New ClsSisUsuarios
+ Dim Usuario As Usuario = Nothing
+ Usuario = ObjUsuario.ValidaUsuarioPortalCliente(gvr.DataKey("CveCliente"), gvr.DataKey("Usuario"), gvr.DataKey("Contraseña"))
+
+ ObjUsuario.Dispose()
- Private Sub CreaObjetoEmpresa()
- Dim ObjEmpresa As New ClsSisEmpresas()
- If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
- 'Session("Empresa") = ObjEmpresa
- If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
- Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
+ If Usuario IsNot Nothing Then
+ Dim dt As Data.DataTable = GlobalDTUsuarios(Usuario.CveUsuario)
+
+ Dim ModoSimulacion As Boolean = ADSSession.ADSSessionConfig.sessionUser.ModoSimulacion
+ Usuario.ModoSimulacion = ModoSimulacion
+ ADSSession.ADSSessionConfig.sessionUser = Usuario
+ ADSSession.ADSSessionConfig.sessionDpage = False
+
+ If dt IsNot Nothing Then
+ If dt.Rows.Count >= 1 Then
+ If dt.Rows.Count > 1 Then Usuario.MultipleEmpresa = True
+ Usuario.CvePlataforma = 6
+ UsuarioActual.CveEmpresa = gvr.DataKey("CveEmpresa").ToEntero()
+ ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.CambiarEmpresa, Nothing, UsuarioActual.CveEmpresa)
+ CreaObjetoEmpresa(Usuario)
+ 'si la contraseña es la prederminada, pide la nueva contraseña
+ 'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario.ToString), False)
+ RegistraScript("Ir4();")
+ End If
+ End If
+ dt.Dispose()
+ End If
- Dim EmpresasFuncionalidades As New HybridDictionary
- For Each Row As Data.DataRow In dttmp.Rows
- EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
- Next
- ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
End If
- UsuarioActual.Empresa = ObjEmpresa.Empresa
- Else
- Session("Empresa") = Nothing
End If
- ObjEmpresa.Dispose()
+ End Sub
+ Protected Sub BtnSetWindows_Click(sender As Object, e As System.EventArgs) Handles BtnSetWindows.Click
+ RegistraScript(String.Format("$get('tdContenido').style.height='{0}px'; $get('tdContenido').style.width='{1}px'", HdnAlto.Value.ToEntero - 30, HdnAncho.Value.ToEntero - 30))
End Sub
Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
@@ -190,9 +180,35 @@ Partial Class PopUpSeleccionarEmpresa
Session("Empresa") = Nothing
End If
ObjEmpresa.Dispose()
+ End Sub
+
+
+ Private Sub GuardaLogR(Mensaje As String)
+ Dim ArchivoW As IO.StreamWriter
+ Dim MensajeLog As String = ""
+ Dim continuar As Boolean = True
+ Try
+ If Not IsNothing(System.Web.HttpContext.Current) Then
+ If Not IsNothing(System.Web.HttpContext.Current.Request) Then
+
+ MensajeLog = $"{HttpContext.Current.Request.Url.ToString()}{Environment.NewLine}"
+ End If
+ End If
+ Catch
+ End Try
+ MensajeLog = $"{System.Environment.NewLine}'{DateTime.Now:dd/MM/yyyy hh:mm}' -- {MensajeLog}{Mensaje.Trim()}{Environment.NewLine}"
+
+ Try
+ ArchivoW = New IO.StreamWriter(String.Format("{0}\LogSession.txt", AppDomain.CurrentDomain.BaseDirectory), True, System.Text.Encoding.UTF8)
+ Catch
+ Exit Sub
+ End Try
+ Try
+ ArchivoW.Write(MensajeLog)
+ Catch
+ End Try
+ ArchivoW.Close()
+ ArchivoW.Dispose()
End Sub
-
-
-
End Class
\ No newline at end of file
diff --git a/Site.master.vb b/Site.master.vb
index a2c4eb732..f9498674c 100644
--- a/Site.master.vb
+++ b/Site.master.vb
@@ -122,15 +122,11 @@ Partial Class Site
'2018.08.14, se movió de la linea 59 a la actual
CargaTipoCambio()
-
+ CargaUsuario()
If UsuarioActual.Portal = False Then
CreaMenu()
'Configuracion()
- CargaUsuario()
CargaBuscadores()
- Else
- LtMasterPerfil.Text = UsuarioActual.Rol
- LtMasterUsuario.Text = UsuarioActual.Usuario
End If
End If