public IHttpActionResult SendValidationCode(UserModel_Email userModel) { if (userModel == null) { var errorMessage = _messages.GetMessage(Generic.NullObject); return(BadRequest(errorMessage)); } var user = _userRep.GetAll().Where(u => u.Email == userModel.Email).SingleOrDefault(); if (user != null) { var errorMessage = _messages.GetMessage(Custom.Conflict, "User", "Email"); return(Conflict($"There already exists an user with the mail {userModel.Email}.")); } try { var code = _random.GetRandomNumber(1000, 9999).ToString(); _memCache.Add(code, code, _dateTime.GetDateOffSet().AddMinutes(5)); _mailSender.SendMail(userModel.Email, "Validation code", $"Here is your validation code: {code}"); var errorMessage = _messages.GetMessage(Email.MailSucceded_Code); return(Ok(errorMessage)); } catch { var errorMessage = _messages.GetMessage(Email.MailFailed); return(ExpectationFailed(errorMessage)); } }
public IHttpActionResult SendResetPasswordCode(UserModel_Email userModel) { if (userModel == null) { var errorMessage = _messages.GetMessage(Generic.NullObject); return(BadRequest(errorMessage)); } var user = _userRep.GetAll().Where(u => u.Email == userModel.Email).SingleOrDefault(); if (user == null) { var errorMessage = _messages.GetMessage(Custom.NotFound, "User", "Email"); return(NotFound(errorMessage)); } try { var code = _random.GetRandomNumber(1000, 9999).ToString(); _memCache.Add(code, code, _dateTime.GetDateOffSet().AddMinutes(5)); _mailSender.SendMail(userModel.Email, "Reset password", $"Here is your password reset code: {code}"); var message = _messages.GetMessage(Email.MailSucceded_Code); return(Ok(message)); } catch { var errorMessage = _messages.GetMessage(Email.MailFailed); return(ExpectationFailed(errorMessage)); } }