public static int Insert(TokensRequest model, string userId) { int TokenId = 0; DataProvider.ExecuteNonQuery(GetConnection, "dbo.UserTokens_Insert", inputParamMapper: delegate(SqlParameterCollection paramCollection) { paramCollection.AddWithValue("@Token", model.Token); paramCollection.AddWithValue("@TokenTypeId", model.TokenTypeId); paramCollection.AddWithValue("@UserId", userId); SqlParameter p = new SqlParameter("@Id", System.Data.SqlDbType.Int); p.Direction = System.Data.ParameterDirection.Output; paramCollection.Add(p); }, returnParameters: delegate(SqlParameterCollection param) { int.TryParse(param["@Id"].Value.ToString(), out TokenId); } ); return TokenId; }
public HttpResponseMessage SendComfirmEmail(VerifyEmailRequest model) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } BaseResponse response = null; response = new SuccessResponse(); HttpStatusCode code = HttpStatusCode.OK; ApplicationUser userVerification = _userService.GetUser(model.Email); if (userVerification == null) { response = new ErrorResponse("Cannot find a user with that email."); code = HttpStatusCode.BadRequest; } string userId = userVerification.Id; TokensRequest request = new TokensRequest(); request.UserId = userId; request.Token = Guid.NewGuid(); request.TokenTypeId = 2; ItemResponse<int> tokenAddResponse = new ItemResponse<int>(); tokenAddResponse.Item = TokensService.Insert(request, userId); if (tokenAddResponse.Item <= 0) { response = new ErrorResponse("A new token was not inserted."); code = HttpStatusCode.BadRequest; } Guid uniqueId = request.Token; EmailRequest emailRequest = new EmailRequest(); emailRequest.Email = model.Email; emailRequest.Subject = "Confirm Email"; bool emailSent = MailService.ConfirmationEmail(emailRequest, uniqueId); if (!emailSent) { response = new ErrorResponse("The confirmation email failed to send."); code = HttpStatusCode.BadRequest; } return Request.CreateResponse(code, response); }
public HttpResponseMessage forgotPassword(VerifyEmailRequest model) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } SuccessResponse response = new SuccessResponse(); ApplicationUser userVerification = _userService.GetUser(model.Email); if (userVerification == null) { ErrorResponse er = new ErrorResponse("Cannot find a user with that email."); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } string userId = userVerification.Id; TokensRequest request = new TokensRequest(); request.UserId = userId; request.Token = Guid.NewGuid(); request.TokenTypeId = 1; ItemResponse<int> tokenAddResponse = new ItemResponse<int>(); tokenAddResponse.Item = TokensService.Insert(request, userId); if (tokenAddResponse.Item <= 0) { ErrorResponse er = new ErrorResponse("A new token was not inserted."); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } Guid uniqueId = request.Token; EmailRequest emailRequest = new EmailRequest(); emailRequest.Email = model.Email; emailRequest.Subject = "Password Reset"; bool emailSent = MailService.resetPasswordEmail(emailRequest, uniqueId); if (!emailSent) { return Request.CreateResponse(HttpStatusCode.BadRequest, "The reset password email failed to send."); } return Request.CreateResponse(response); }