public async Task<ApiJsonResult> ResetPassword(ResetPasswordParams resetPasswordParams) { try { await new AccountManager().ResetPassword(resetPasswordParams); return new ApiJsonResult { Success = true }; } catch (Exception ex) { return ProcessException(ex); } }
public async Task ResetPassword(ResetPasswordParams resetPasswordParams) { Utils.CheckNullOrEmpty(new List<string> { "ConfirmationCode", "Password" }, resetPasswordParams.ConfirmationCode, resetPasswordParams.Password); using (AppDbContext context = new AppDbContext()) { User user = await context.Users.FirstOrDefaultAsync(p => p.ConfirmationCode == resetPasswordParams.ConfirmationCode); if (user == null) { throw new UserException(ErrorCode.INVALID.ToString()); } user.ConfirmationCode = null; user.Password = UtilsCryptography.GenerateBCryptHash(resetPasswordParams.Password); await context.SaveChangesAsync(); } }