public ActionResult Cadastrar(CadastroUsuarioViewModels ViewModels) { if (!ModelState.IsValid) { return(View(ViewModels)); } //evitar logins duplicados if (db.Usuarios.Count(c => c.Login == ViewModels.Login) > 0) { ModelState.AddModelError("Login", "Esse login já está em uso"); return(View(ViewModels)); } Usuarios usuario = new Usuarios { Nome = ViewModels.Nome, SobreNome = ViewModels.SobreNome, Login = ViewModels.Login, Senha = Hash.GerarHash(ViewModels.Senha), PapeisId = 2, ClientesId = 1 }; db.Usuarios.Add(usuario); db.SaveChanges(); //Essa variável é um objeto ClaimsIdentity var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, usuario.Nome), new Claim("Login", usuario.Login) }, "ApplicationCookie"); //Salvar Autenticação no Cookie Request.GetOwinContext().Authentication.SignIn(identity); return(RedirectToAction("Index", new { controller = "Cursos" })); }
public ActionResult Cadastrar(CadastroUsuarioViewModels viewmodel) { if (!ModelState.IsValid) { return(View(viewmodel)); } if (db.Usuarios.Count(u => u.Login == viewmodel.Login) > 0) { ModelState.AddModelError("Login", "Este usuário já está em uso"); return(View(viewmodel)); } Usuario novoUsuario = new Usuario { Nome = viewmodel.Nome, Login = viewmodel.Login, Senha = Hash.gerarHash(viewmodel.Senha) }; db.Usuarios.Add(novoUsuario); db.SaveChanges(); TempData["Message"] = "Cadastro Realizado com Sucesso!"; return(View()); }