public async Task <ForgotPasswordResult> ForgotPassword(string email) { User user = repository.FindUserByEmail(email); if (user == null) { return new ForgotPasswordResult { Message = "Email Doesn't Exist", Success = false } } ; var generatedPassword = user.ResetPassword(); await messageSender.SendResetPasswordEmail(email, generatedPassword); unitOfWork.Commit(); return(new ForgotPasswordResult { Message = "Your password was send to you.Check your Email", Success = true }); }