Ejemplo n.º 1
0
        void Nuevo()
        {
            Master.Titulo                = "NUEVO USUARIO";
            this.nuevo                   = true;
            trContrasena.Visible         = true;
            trContrasena2.Visible        = true;
            trRegistro.Visible           = false;
            trUltimaModificacion.Visible = false;

            DataTable tFunciones = GUsuarios.TraerFuncionesVisibles().Tables[0];

            lvwGrupos.DataSource = from rGrupo in tFunciones.AsEnumerable()
                                   group rGrupo by new
            {
                NombreGrupoFuncion = rGrupo["NombreGrupoFuncion"].ToString(),
                OrdenGrupoFuncion  = rGrupo.Field <int>("OrdenGrupoFuncion")
            }
            into gGrupo
            orderby gGrupo.Key.OrdenGrupoFuncion
                select new
            {
                NombreGrupoFuncion = gGrupo.Key.NombreGrupoFuncion,
                Funciones          = from rFuncion in gGrupo
                                     orderby rFuncion.Field <int>("Orden")
                                     select new
                {
                    CodigoFuncion = rFuncion["CodigoFuncion"].ToString(),
                    NombreFuncion = rFuncion["NombreFuncion"].ToString(),
                    Seleccionado  = "N"
                }
            };

            lvwGrupos.DataBind();
        }
Ejemplo n.º 2
0
        public void AutenticarUsuarioTest()
        {
            DataRow rUsuario = GUsuarios.AutenticarUsuario("epereira", "adm1").Tables[0].Rows[0];

            Assert.IsTrue(rUsuario.Field <int>("Id") == 101);
            Assert.IsTrue(rUsuario["Cuenta"].ToString() == "epereira");
            Assert.IsTrue(rUsuario["Nombres"].ToString() == "Erwin");

            Assert.IsTrue(GUsuarios.AutenticarUsuario("epereira", "xx").Tables[0].Rows.Count == 0);

            DUsuarios.bd.Ejecutar(string.Format("UPDATE GEN.Usuario SET Estado={0} WHERE Id=102",
                                                LIB.GEN.EN.Constantes.USUARIO_ESTADO_INACTIVO));
            Assert.IsTrue(GUsuarios.AutenticarUsuario("kcaballero", "adm1").Tables[0].Rows.Count == 0);
        }
Ejemplo n.º 3
0
        public static object Buscar(FPatologias filter, int pagina)
        {
            try
            {
                if (string.IsNullOrEmpty(usr.Codigo))
                {
                    throw new Exception("errorSesion");
                }

                if (!GUsuarios.VerificarAccesoCodigoPantallaUsuario(usr.Id, CODIGOPANTALLA))
                {
                    throw new Exception("Acceso denegado.");
                }

                filter.Nombre = Utils.Varios.AgregarComodinesBusqueda(filter.Nombre);
                DataTable tPatologias = GPatologias.BuscarPatologias(filter).Tables[0];

                int cantidadRegistros = tPatologias.Rows.Count;
                int cantidadPaginas   = Utils.Varios.PaginarDataTable(tPatologias, pagina);
                return(new
                {
                    Patologias = from rPatologia in tPatologias.AsEnumerable()
                                 select new
                    {
                        Id = rPatologia.Field <int>("Id"),
                        Nom = rPatologia["Nombre"].ToString(),
                        HabFis = Utils.Varios.FormatearLogico(rPatologia, "EsHabitoFisiologico"),
                        Est = rPatologia["DescripcionEstado"].ToString()
                    },
                    CantidadRegistros = cantidadRegistros,
                    CantidadPaginas = cantidadPaginas
                });
            }

            catch (Exception ex)
            {
                Utils.Inst.log.Error("Error no controlado de la aplicación", ex);
                throw;
            }
        }
Ejemplo n.º 4
0
        public static object Buscar(FilterUsuarios filter, int pagina)
        {
            try
            {
                if (string.IsNullOrEmpty(usr.Codigo))
                {
                    throw new Exception("errorSesion");
                }

                if (!GUsuarios.VerificarAccesoCodigoPantallaUsuario(usr.Id, CODIGOPANTALLA))
                {
                    throw new Exception("Acceso denegado.");
                }

                filter.Cuenta = Utils.Varios.AgregarComodinesBusqueda(filter.Cuenta);
                DataTable tUsuarios = GUsuarios.BuscarUsuarios(filter).Tables[0];

                int cantidadRegistros = tUsuarios.Rows.Count;
                int cantidadPaginas   = Utils.Varios.PaginarDataTable(tUsuarios, pagina);
                return(new
                {
                    Usuarios = from rUsuario in tUsuarios.AsEnumerable()
                               select new
                    {
                        Id = rUsuario.Field <int>("Id"),
                        Nom = rUsuario["NombreCompletoUsuario"].ToString(),
                        Cue = rUsuario["Cuenta"].ToString(),
                        Est = rUsuario["DescripcionEstado"].ToString()
                    },
                    CantidadRegistros = cantidadRegistros,
                    CantidadPaginas = cantidadPaginas
                });
            }

            catch (Exception ex)
            {
                Utils.Inst.log.Error("Error no controlado de la aplicación", ex);
                throw;
            }
        }
Ejemplo n.º 5
0
        protected override void OnPreInit(EventArgs e)
        {
            base.OnPreInit(e);

            if (ViewState["IgnorarVerificacionSesion"] == null && usr.Codigo.Length == 0)
            {
                Session.Abandon();
                FormsAuthentication.RedirectToLoginPage();
                return;
            }

            string rutaActual = null;

            if (ViewState["IgnorarVerificacionAccesoMenu"] == null)
            {
                rutaActual = ((System.Web.Routing.Route)(this.RouteData.Route)).Url;
                if (!GUsuarios.VerificarAccesoCodigoPantallaUsuario(usr.Id, this.CODIGO_PANTALLA))
                {
                    Response.Redirect("~/acceso_negado", true);
                    return;
                }
            }
        }
Ejemplo n.º 6
0
        private void Ingresar()
        {
            string cuenta     = txbCuenta.Value.Trim();
            string contrasena = txbContrasena.Value.Trim();

            DataTable tUsuario = GUsuarios.AutenticarUsuario(cuenta, contrasena).Tables[0];

            if (tUsuario.Rows.Count == 0)
            {
                lblMensaje.Style["display"]   = "";
                lblMensajeContenido.InnerText = "La cuenta de usuario y/o contraseña no son válidos o no corresponden a un usuario habilitado.";
                return;
            }

            DataRow rUsuario      = tUsuario.Rows[0];
            int     idUsuario     = rUsuario.Field <int>("Id");
            DataSet dsMenu        = GUsuarios.TraerMenuUsuario(idUsuario);
            string  nombrePersona = rUsuario["Nombre"].ToString() + " " + rUsuario["ApellidoPaterno"].ToString() + " " + rUsuario["ApellidoMaterno"].ToString();

            XP.AUT.Autenticacion.Autenticar(new Utils.UsuarioAutenticado(idUsuario, cuenta, nombrePersona, dsMenu));

            //AUTENTICACIÓN FORMULARIOS CLÁSICA
            FormsAuthentication.RedirectFromLoginPage(rUsuario["Cuenta"].ToString(), false);
        }
Ejemplo n.º 7
0
 public void TraerMenuUsuarioTest()
 {
     Assert.IsTrue(GUsuarios.TraerMenuUsuario(101).Tables[0].Rows.Count == 5);
 }
Ejemplo n.º 8
0
        public static object Guardar(Usuario eUsuario, string[] lFunciones)
        {
            try
            {
                if (string.IsNullOrEmpty(usr.Codigo))
                {
                    throw new Exception("errorSesion");
                }
                if (!GUsuarios.VerificarAccesoCodigoPantallaUsuario(usr.Id, CODIGOPANTALLA))
                {
                    throw new Exception("Acceso denegado.");
                }

                List <string> lMensajes = new List <string>();

                if (GUsuarios.ExisteCuentaUsuario(eUsuario.Cuenta, eUsuario.Id.Value))
                {
                    lMensajes.Add("Ya existe otro usuario con la misma cuenta.");
                }

                int cantidadMinimaEspeciales = 0, cantidadMinimaMayusculas = 0, cantidadMinimaNumeros = 0, longitudMinima = 0, longitudMaxima = 0;

                if (eUsuario.Id.Value == -1)
                {
                    if (!GUsuarios.VerificarPoliticasContrasena(eUsuario.Contrasena, out cantidadMinimaMayusculas,
                                                                out cantidadMinimaNumeros, out longitudMaxima, out longitudMinima, out cantidadMinimaEspeciales))
                    {
                        if (eUsuario.Contrasena.Length < longitudMinima)
                        {
                            lMensajes.Add(String.Format("La contraseña debe tener por lo menos {0} caracteres.", longitudMinima));
                        }
                        if (eUsuario.Contrasena.Length > longitudMaxima)
                        {
                            lMensajes.Add(String.Format("La contraseña debe tener máximo hasta {0} caracteres.", longitudMaxima));
                        }
                        if (eUsuario.Contrasena.ToCharArray().Where(x => Char.IsUpper(x)).Count() < cantidadMinimaMayusculas)
                        {
                            lMensajes.Add(String.Format("La contraseña debe incluir por lo menos {0} mayúscula(s).", cantidadMinimaMayusculas));
                        }
                        if (eUsuario.Contrasena.ToArray().Where(x => Char.IsNumber(x)).Count() < cantidadMinimaNumeros)
                        {
                            lMensajes.Add(String.Format("La contraseña debe incluir por lo menos {0} número(s).", cantidadMinimaNumeros));
                        }
                        if ((eUsuario.Contrasena.ToArray().Where(x => Char.IsLetterOrDigit(x) == false).Count() < cantidadMinimaEspeciales))
                        {
                            lMensajes.Add(String.Format("La contraseña debe incluir por lo menos {0} caracter(es) especial(es).", cantidadMinimaEspeciales));
                        }
                    }
                }

                if (lMensajes.Count() > 0)
                {
                    return(new
                    {
                        Estado = "error",
                        Mensajes = lMensajes.ToArray()
                    });
                }

                if (eUsuario.Id > 0)
                {
                    GUsuarios.ModificarUsuario(eUsuario, lFunciones);
                }
                else
                {
                    GUsuarios.RegistrarUsuario(eUsuario, lFunciones);
                }

                return(new
                {
                    Estado = "ok",
                    Id = eUsuario.Id.Value,
                    Mod = usr.Nombre + " - " + Utils.Varios.LeerUTC(eUsuario.FecMod.Value).ToString("g")
                });
            }

            catch (Exception ex)
            {
                Utils.Inst.log.Error("Error no controlado de la aplicación", ex);
                throw;
            }
        }
Ejemplo n.º 9
0
        void Editar(int idUsuario)
        {
            Master.Titulo                = "EDICIÓN DE USUARIO";
            this.nuevo                   = false;
            trContrasena.Visible         = false;
            trContrasena2.Visible        = false;
            trRegistro.Visible           = true;
            trUltimaModificacion.Visible = true;

            DataSet   dsUsuario           = GUsuarios.TraerUsuario(idUsuario);
            DataTable tFuncionesAsignadas = dsUsuario.Tables[1];

            if (dsUsuario.Tables[0].Rows.Count == 0)
            {
                Response.Redirect("~/no_encontrado", true);
                return;
            }

            DataRow rUsuario = dsUsuario.Tables[0].Rows[0];

            txbNombre.Value                 = rUsuario["Nombre"].ToString();
            txbNombre.Value                 = rUsuario["Nombre"].ToString();
            txbApellidoPaterno.Value        = rUsuario["ApellidoPaterno"].ToString();
            txbApellidoMaterno.Value        = rUsuario["ApellidoMaterno"].ToString();
            txbCuenta.Value                 = rUsuario["Cuenta"].ToString();
            txbCorreo.Value                 = rUsuario["Correo"].ToString();
            ddlEstado.Value                 = rUsuario.Field <int>("Estado").ToString();
            lblRegistro.InnerText           = rUsuario["NombreUsuReg"].ToString() + " - " + Utils.Varios.LeerUTC(rUsuario.Field <DateTime>("FecReg")).ToString("g");
            lblUltimaModificacion.InnerText = rUsuario["NombreUsuMod"].ToString() + " - " + Utils.Varios.LeerUTC(rUsuario.Field <DateTime>("FecMod")).ToString("g");

            DataTable tFunciones = GUsuarios.TraerFuncionesVisibles().Tables[0];

            tFunciones.Columns.Add("Seleccionado");
            foreach (DataRow rFuncion in tFunciones.Rows)
            {
                if (tFuncionesAsignadas.Select("CodigoFuncion='" + rFuncion["CodigoFuncion"].ToString() + "'").Length > 0)
                {
                    rFuncion["Seleccionado"] = "S";
                }
                else
                {
                    rFuncion["Seleccionado"] = "N";
                }
            }
            tFunciones.AcceptChanges();

            lvwGrupos.DataSource = from rGrupo in tFunciones.AsEnumerable()
                                   group rGrupo by new
            {
                NombreGrupoFuncion = rGrupo["NombreGrupoFuncion"].ToString(),
                OrdenGrupoFuncion  = rGrupo.Field <int>("OrdenGrupoFuncion")
            }
            into gGrupo
            orderby gGrupo.Key.OrdenGrupoFuncion
                select new
            {
                NombreGrupoFuncion = gGrupo.Key.NombreGrupoFuncion,
                Funciones          = from rFuncion in gGrupo
                                     orderby rFuncion.Field <int>("Orden")
                                     select new
                {
                    CodigoFuncion = rFuncion["CodigoFuncion"].ToString(),
                    NombreFuncion = rFuncion["NombreFuncion"].ToString(),
                    Seleccionado  = rFuncion["Seleccionado"].ToString()
                }
            };

            lvwGrupos.DataBind();

            ClientScript.RegisterStartupScript(GetType(), "Editar", "idUsuario=" + idUsuario + ";", true);


            if (Request.QueryString["exito"] == "S")
            {
                ClientScript.RegisterStartupScript(GetType(), "Exito", "exito='S';", true);
            }
        }