public HttpResponseMessage GetPlanTypes() { ItemsResponse<PlanType> response = new ItemsResponse<PlanType>(); response.Items = _plansService.GetPlanTypes(); if (response == null) { ErrorResponse er = new ErrorResponse("NOPE, NADA, YOU FAIL!"); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } return Request.CreateResponse(response); }
public HttpResponseMessage SubscribeUser(MailChimpAddRequest model) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } try { EmailParameter result = _emailCampaignService.AddSubscriber(model.Email, model.FirstName, model.LastName); SuccessResponse response = new SuccessResponse(); return Request.CreateResponse(HttpStatusCode.OK, response); } catch (MailChimpAPIException ex) { var error = ex.MailChimpAPIError; if(error.Code == "214") { //e-mail already subscribed ErrorResponse er = new ErrorResponse("214"); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } else if (error.Code == "100") { //invalid e-mail ErrorResponse er = new ErrorResponse("100"); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } } catch (Exception e) { Console.WriteLine("Exception: " + e); ErrorResponse er = new ErrorResponse("General error occurred."); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } ItemResponse<EmailParameter> emailParam = new ItemResponse<EmailParameter>(); return Request.CreateResponse(emailParam); }
public HttpResponseMessage ConfirmedEmail(Guid Token) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } SuccessResponse response = new SuccessResponse(); UserTokens thisToken = TokensService.GetById(Token); string userId = thisToken.UserId; bool confirmed = _userService.ConfirmEmail(userId); if (!confirmed) { ErrorResponse er = new ErrorResponse("We could not Confirm your email at this time."); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } bool deleted = TokensService.DeleteToken(Token); if (!deleted) { ErrorResponse er = new ErrorResponse("Your token wasn't deleted."); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } return Request.CreateResponse(response); }
public HttpResponseMessage UserPlans(string userHandle) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } List<UserPlans> u = new List<UserPlans>(); ItemResponse<List<UserPlans>> response = new ItemResponse<List<UserPlans>>(); bool status = _userService.IsCurrentUser(userHandle); if (!status) { ErrorResponse er = new ErrorResponse("The current user is not authorized to access the requested information."); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } string userId = _userService.GetCurrentUserId(); u = _plansService.GetPlanByUserId(userId); response.Item = u; return Request.CreateResponse(response); }
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 PasswordReset(NewPasswordRequest model) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } SuccessResponse response = new SuccessResponse(); UserTokens thisToken = TokensService.GetById(model.ResetToken); string userId = thisToken.UserId; bool changed = _userService.ChangePassWord(userId, model.ConfirmPassword); if (!changed) { ErrorResponse er = new ErrorResponse("There was something wrong with your password format."); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } bool deleted = TokensService.DeleteToken(model.ResetToken); if (!deleted) { ErrorResponse er = new ErrorResponse("Your token wasn't deleted."); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } return Request.CreateResponse(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); }
public HttpResponseMessage AddEmail(ForgotPasswordRequest model) { HttpResponseMessage responseMessage = null; BaseResponse response = null; if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); //if email is NOT valid return error response } ApplicationUser user = UserService.GetUserByEmail(model.Email); //grabs user email if (user != null) { UserTokensAddRequest foo = new UserTokensAddRequest(); foo.UserName = user.UserName; foo.TokenType = 2; Guid tokenId = UserTokensService.Add(foo); SendConfirmationEmailRequest request = new SendConfirmationEmailRequest(); request.UserName = user.UserName; request.Email = user.Email; request.Token = tokenId; Task t = _messagingService.SendForgotPasswordEmail(request); //calling it to run } else { response = new ErrorResponse("I'm sorry, but your email can't be found, Please use correct Email"); responseMessage = Request.CreateResponse(HttpStatusCode.BadRequest, response); return responseMessage; } return Request.CreateResponse(user); }
public HttpResponseMessage RegisterAdd(IdentityUser model) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); //if email is NOT valid return error response } try { IdentityUser register = UserService.CreateUser(model.UserName, model.Email, model.PasswordHash); if (register != null) { UserTokensAddRequest tokensAddRequest = new UserTokensAddRequest(); tokensAddRequest.UserName = register.UserName; tokensAddRequest.TokenType = 1; tokensAddRequest.TokenId = UserTokensService.Add(tokensAddRequest); SendConfirmationEmailRequest request = new SendConfirmationEmailRequest(); request.UserName = register.UserName; request.Email = register.Email; request.Token = tokensAddRequest.TokenId; Task t = _messagingService.SendConfirmationEmail(request); } else { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Register wasn't successfull Please try again"); } return Request.CreateResponse(register); } catch (IdentityResultException iex) { ErrorResponse er = new ErrorResponse(iex.Result.Errors); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } catch (Exception ex) { ErrorResponse er = new ErrorResponse(ex.Message); return Request.CreateResponse(HttpStatusCode.BadRequest, er); } }
public HttpResponseMessage NewPassword(ResetPasswordRequest model) { BaseResponse resp = null; if (!ModelState.IsValid) //if my data is NOT valid { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); //it will return as error response } var success = UserService.ResetPassword(model); if (!success) { resp = new ErrorResponse("Unable to change password! Your password must have the following: At least one uppercase ('A'-'Z'), at least one digit ('0'-'9'), and at least one special character."); return Request.CreateResponse(HttpStatusCode.BadRequest, resp); } ItemResponse<bool> response = new ItemResponse<bool>(); response.Item = success; return Request.CreateResponse(response); }
public HttpResponseMessage Login(LoginRequest model) { HttpResponseMessage responseMessage = null; BaseResponse response = null; if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } ApplicationUser user = UserService.GetUser(model.UserName); if (user != null) { Boolean emailConfirmed = UserService.GetEmailConfirmed(model.UserName); if (emailConfirmed) { bool isValidLogin = false; isValidLogin = UserService.Signin(model.UserName, model.Password); if (isValidLogin) { response = new SucessResponse(); responseMessage = Request.CreateResponse(response); } else { response = new ErrorResponse("Login failed! Please check if you typed in the correct Username and Password."); responseMessage = Request.CreateResponse(HttpStatusCode.BadRequest, response); } } else { response = new ErrorResponse("Please confirm your email before logging in."); responseMessage = Request.CreateResponse(HttpStatusCode.BadRequest, response); } } else { response = new ErrorResponse("Username does not exist! Please register."); responseMessage = Request.CreateResponse(HttpStatusCode.BadRequest, response); } return responseMessage; }
public HttpResponseMessage Post() { HttpResponseMessage result = null; var currentUser = UserService.GetCurrentUserId(); List<Media> existingImages = new List<Media>(); existingImages = _MediaService.GetPictureByCurrentUser(); if (existingImages == null || existingImages.Count<Media>() < 5) { var httpRequest = HttpContext.Current.Request; if (httpRequest.Files.Count > 0) { var docfiles = new List<string>(); foreach (string file in httpRequest.Files) { var postedFile = httpRequest.Files[file]; var fileType = postedFile.ContentType; var filePath = HttpContext.Current.Server.MapPath("~/PhotoDemo/" + postedFile.FileName); //sets filepath for server storage postedFile.SaveAs(filePath); //saves file to specified path docfiles.Add(filePath); ImageModel model = new ImageModel //create model for INSERT { //AppUserId taken from the Id of Organization Path = Guid.NewGuid()+postedFile.FileName, Media = MediaType.EntityImage, //Uses Enum to specify type of media/image User = SessionService.getCurrentUserType(), // change when we can access login information Title = postedFile.FileName, ContentType = fileType }; var id = _MediaService.UploadPicture(model, currentUser); _fileService.UploadFile(filePath, model.Path, fileType); } result = Request.CreateResponse(HttpStatusCode.Created); } else { ErrorResponse noFiles = new ErrorResponse("Cannot have more than 5 images"); result = Request.CreateResponse(HttpStatusCode.BadRequest, noFiles); } } else { ErrorResponse tooMany = new ErrorResponse("Cannot have more than 5 images"); result = Request.CreateResponse(HttpStatusCode.BadRequest, tooMany); } return result; }