Esempio n. 1
0
 public ActionResult Login([Bind(Include = "LoginId,User,Senha")] Login login, String returnUrl)
 {
     if (ModelState.IsValid)
     {
         using (SampeContext db = new SampeContext())
         {
             //Usuario usuario = new Usuario();
             var usuarios = db.Usuarios;
             foreach (var item in usuarios)
             {
                 if (login.User == item.Login && login.Senha == item.Senha)
                 {
                     FormsAuthentication.SetAuthCookie(item.Login, false);
                     if (Url.IsLocalUrl(returnUrl) &&
                         returnUrl.Length > 1 &&
                         returnUrl.StartsWith("/") &&
                         !returnUrl.StartsWith("//") &&
                         returnUrl.StartsWith("/\\"))
                     {
                         return(Redirect(returnUrl));
                     }
                     /*código abaixo cria uma session para armazenar o nome do usuário*/
                     Session["NomeUsuario"] = item.NomeUsuario;
                     /*código abaixo cria uma session para armazenar o sobrenome do usuário*/
                     Session["SobrenomeUsuario"] = item.SobrenomeUsuario;
                     /*código abaixo cria uma session para armazenar o id do usuário*/
                     Session["UsuarioId"] = item.UsuarioId;
                     /*código abaixo cria uma session para armazenar a hierarquia*/
                     Session["Hierarquia"] = item.Hierarquia;
                     /*retorna para a tela inicial do Home*/
                     Session["Senha"] = item.Senha;
                     return(RedirectToAction("Index", "Home"));
                 }
                 else
                 {
                     ModelState.AddModelError("User", "Login e/ou senha inválidos");
                 }
             }
         }
     }
     return(View(login));
 }
Esempio n. 2
0
        public ActionResult Create([Bind(Include = "UsuarioId,NomeUsuario,SobrenomeUsuario,Login,Senha,Hierarquia,CargoId")] Usuario usuario)
        {
            using (SampeContext db = new SampeContext())
            {
                //Usuario usuario = new Usuario();
                var   usuarios = db.Usuarios.ToList();
                var   x        = db.Usuarios.Count();
                var   cont     = 0;
                Cargo c        = db.Cargoes.Find(usuario.CargoId);
                usuario.Cargo = c;

                if (usuario.Hierarquia == "Acesso Total")
                {
                    if (c.NomeCargo != "Administrador") // "Estagiário Administrativo" || cargo.NomeCargo == "Supervisor de Produção" || cargo.NomeCargo == "Operador de Produção" || cargo.NomeCargo == "Estagiário de Produção")
                    {
                        ModelState.AddModelError("Hierarquia", "Hierarquia não permitida para este cargo");
                    }
                }
                else if (usuario.Hierarquia == "Acesso Administrador")
                {
                    if (c.NomeCargo != "Estagiário Administrativo")
                    {
                        ModelState.AddModelError("Hierarquia", "Hierarquia não permitida para este cargo");
                    }
                }
                else if (usuario.Hierarquia == "Acesso Supervisor")
                {
                    if (c.NomeCargo != "Supervisor de Produção")
                    {
                        ModelState.AddModelError("Hierarquia", "Hierarquia não permitida para este cargo");
                    }
                }
                else if (usuario.Hierarquia == "Acesso Produção")
                {
                    if (c.NomeCargo != "Operador de Produção" || c.NomeCargo != "Estagiário de Produção")
                    {
                        ModelState.AddModelError("Hierarquia", "Hierarquia não permitida para este cargo");
                    }
                }


                foreach (var item in usuarios)
                {
                    cont++;
                    if (usuario.Login == item.Login)
                    {
                        ModelState.AddModelError("Login", "Login já existente, insira outro (ex: Nome01)");
                    }
                    if (usuario.NomeUsuario == item.NomeUsuario && usuario.SobrenomeUsuario == item.SobrenomeUsuario && usuario.Hierarquia == item.Hierarquia && usuario.Cargo == item.Cargo)
                    {
                        ModelState.AddModelError("NomeUsuario", "Usuário existente");
                    }
                    else if (cont == x)
                    {
                        if (ModelState.IsValid)
                        {
                            db.Usuarios.Add(usuario);
                            db.SaveChanges();
                            return(RedirectToAction("Index"));
                        }
                    }
                }
            }

            ViewBag.CargoId = new SelectList(db.Cargoes, "CargoId", "NomeCargo", usuario.CargoId);
            return(View(usuario));
        }