示例#1
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;
            }
        }
示例#2
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;
            }
        }
示例#3
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;
                }
            }
        }
示例#4
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;
            }
        }