Example #1
0
        public ActionResult CambiarIdioma(int id_idioma, int id_usuario)
        {
            Idioma idioma = new Idioma();

            idioma.Id = id_idioma;
            Usuario usuario = (Usuario)Session["usuario"];

            if (usuario == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            usuario.idioma = idioma;
            int result = bll.EditarIdioma(usuario);

            if (result == 1)
            {
                #region Idiomas
                BLL_Idioma      idiomaBll = new BLL_Idioma();
                List <Etiqueta> etiquetas = new List <Etiqueta>();
                etiquetas = idiomaBll.ListarEtiquetasPorIdioma(idiomaBll.ListarIdioma(usuario.idioma.Id).Descripcion);
                Dictionary <object, object> list = new Dictionary <object, object>();
                foreach (Etiqueta etiqueta in etiquetas)
                {
                    list.Add(etiqueta.Descripcion, etiqueta.Traduccion);
                }
                Session["EtiquetasIDIOMA"] = list;
                #endregion

                return(View(@"~\Views\Idioma\CambioIdioma.cshtml"));
            }
            else
            {
                return(View());
            }
        }
Example #2
0
        public ActionResult Login(string UserName, string Password)
        {
            Usuario u = bllUsuario.Consulta_login(UserName, Password);

            if (u != null)//existe usuario
            {
                Session["intentos"] = 0;
                Session["usuario"]  = u;
                Bitacora b = new Bitacora();
                b.fecha   = DateTime.Now;
                b.mensaje = "Login OK";
                b.Tipo    = TipoLog.INFO;
                b.Usuario = u;
                bitacoraBll.Grabar(b);

                List <Permiso> permisos         = bllPermiso.VerificarPermisosUsuario(u.ID);
                List <string>  permisos_usuario = new List <string>();
                foreach (Permiso permiso in permisos)
                {
                    permisos_usuario.Add(permiso.Nombre);
                }
                Session["permisos"] = permisos_usuario;


                List <Etiqueta> etiquetas = new List <Etiqueta>();
                etiquetas = bllIdioma.ListarEtiquetasPorIdioma(bllIdioma.ListarIdioma(u.idioma.Id).Descripcion);
                Dictionary <object, object> list = new Dictionary <object, object>();
                foreach (Etiqueta etiqueta in etiquetas)
                {
                    list.Add(etiqueta.Descripcion, etiqueta.Traduccion);
                }
                Session["EtiquetasIDIOMA"] = list;

                List <Idioma> idiomas = new List <Idioma>();
                idiomas            = bllIdioma.ListarIdiomas();
                Session["Idiomas"] = idiomas;

                //se calcula de la tabla de usuario el DVV
                string dvv = bllUsuario.calcularDVV();
                //Busco el que esta guardado en la tabla
                string dvvUsuarioTabla = bllUsuario.getDVV();
                if (dvvUsuarioTabla.Equals(dvv))
                {
                    return(RedirectToAction("Bienvenido", "Home"));
                }
                else
                {
                    //Si tiene permiso para accionar
                    if (verificarPermiso("Administrador", (Usuario)Session["usuario"]))
                    {
                        return(RedirectToAction("Bienvenido", "Home"));
                    }
                    else
                    {
                        Session["usuario"]  = null;
                        Session["permisos"] = null;
                        ViewBag.mensaje     = "Error Integridad de datos";
                        return(View("Index"));
                    }
                }
            }
            else
            {
                ViewBag.mensaje     = "Credenciales Incorrectas";
                Session["intentos"] = int.Parse(Session["intentos"].ToString()) + 1;
                if (int.Parse(Session["intentos"].ToString()) == 3)
                {
                    bllUsuario.Bloquear(UserName);
                    ViewBag.mensaje     = "Usuario Bloqueado";
                    Session["intentos"] = 0;
                }
                return(View("Index"));
            }
        }