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)); }
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)); }