public HttpResponseMessage Create(ResetCreateRequest req) { if (req == null) { ModelState.AddModelError("", "You did not add any body data"); } if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } Guid token = passwordResetService.Create(req); ItemResponse <Guid> itemResponse = new ItemResponse <Guid>(); itemResponse.Item = token; return(Request.CreateResponse(HttpStatusCode.OK, itemResponse)); }
public Guid Create(ResetCreateRequest req) { Guid newToken = default(Guid); string userName = ""; int userId = 0; dataProvider.ExecuteNonQuery( "PasswordReset_Create", inputParamMapper: (parameters) => { parameters.AddWithValue("@Email", req.Email); parameters.Add("@Token", SqlDbType.UniqueIdentifier).Direction = ParameterDirection.Output; parameters.Add("@UserName", SqlDbType.NVarChar, 100).Direction = ParameterDirection.Output; parameters.Add("@UserId", SqlDbType.Int).Direction = ParameterDirection.Output; }, returnParameters: (parameters) => { userName = (string)parameters["@UserName"].Value; newToken = (Guid)parameters["@Token"].Value; userId = (int)parameters["@UserId"].Value; }); string openUrl = "password-reset?token=" + HttpUtility.UrlEncode(newToken.ToString()); StringBuilder email = new StringBuilder(); email.Append("Hi " + userName + ","); email.Append(Environment.NewLine + Environment.NewLine); email.Append("We've received a request to reset your RecruitHub password."); email.Append(Environment.NewLine + Environment.NewLine); email.Append("To reset your password please click on this link or cut and paste this URL into your browser:"); email.Append(Environment.NewLine + Environment.NewLine); email.Append(openUrl); email.Append(Environment.NewLine + Environment.NewLine); email.Append("If you did not request a password reset, please ignore this email. Link will expire in 24 hours."); email.Append(Environment.NewLine + Environment.NewLine); email.Append("Thank you,"); email.Append(Environment.NewLine + Environment.NewLine); email.Append("RecruitHub Team"); string emailBody = email.ToString(); emailSenderService.Send("RecruitHub", "*****@*****.**", userName, req.Email, "Password Reset", emailBody, null); return(newToken); }