public User Login(UserLogin model, IBusinessErrorCollection errors) { if (!model.Validate(errors)) { return null; } var user = UserManager.Find(model.Email, model.Password); if (user == null) { errors.Add("", "Invalid email or password"); return null; } user.DateLastLogin = DateTime.Now; UnitOfWork.SaveChanges(); return user; }
public void ResetPassword(ResetPassword model, IBusinessErrorCollection errors) { if (!model.Validate(errors)) { return; } var result = UserManager.PasswordValidator.ValidateAsync(model.Password).GetAwaiter().GetResult(); if (!result.Succeeded) { errors.AddErrorsFromResult(result); return; } result = UserManager.ResetPassword(model.UserId, model.Code, model.Password); if (!result.Succeeded) { errors.AddErrorsFromResult(result); return; } }
public void RecoverPassword(PasswordRecover model, IBusinessErrorCollection errors) { if (!model.Validate(errors)) { return; } var user = UserManager.FindByEmail(model.Email); if (user == null) { errors.Add("", "Invalid email"); return; } var code = UserManager.GeneratePasswordResetToken(user.Id); var recoverUrl = string.Format(model.LinkTemplate, Uri.EscapeDataString(user.Id), Uri.EscapeDataString(code)); Emailer.SendPasswordRecoveryEmail(user.Email, recoverUrl); }