public ActionResult Register(Registrar user) { try { if (ModelState.IsValid) { using (var db = new BibliotecaRHDKEntities()) { var crypto = new SimpleCrypto.PBKDF2(); var encrypPass = crypto.Compute(user.Senha); var newUser = db.Registrar.Create(); newUser.Email = user.Email; newUser.Senha = encrypPass; newUser.SenhaSalt = crypto.Salt; newUser.PrimeiroNome = user.PrimeiroNome; newUser.UltimoNome = user.UltimoNome; newUser.UserType = "User"; newUser.CreatedDate = DateTime.Now; newUser.IsActive = true; db.Registrar.Add(newUser); db.SaveChanges(); return(RedirectToAction("LogIn", "User")); } } else { ModelState.AddModelError("", "Dado não está correto."); } } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entidade do tipo \"{0}\" no estado \"{1}\" possuem os seguintes erros de validação:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Propriedade: \"{0}\", Erro: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } return(View()); }
private bool IsValid(string email, string senha) { var crypto = new SimpleCrypto.PBKDF2(); bool IsValid = false; using (var db = new BibliotecaRHDKEntities()) { var user = db.Registrar.FirstOrDefault(u => u.Email == email); if (user != null) { if (user.Senha == crypto.Compute(senha, user.SenhaSalt)) { IsValid = true; } } } return(IsValid); }