// POST /api/users public HttpResponseMessage Post(UserModels.SubmitUserRequest request) { return(new HttpResponseMessage(HttpStatusCode.OK)); }
// POST /api/user public HttpResponseMessage <UserModels.SubmitUserResponse> Post(UserModels.SubmitUserRequest request) { _logger.Log(LogLevel.Error, string.Format("Registering User {0}", request.userName)); DomainServices.UserService _userService = new DomainServices.UserService(_ctx); var memberRole = _ctx.Roles.FirstOrDefault(r => r.RoleName == "Member"); //_logger.Log(LogLevel.Error, string.Format("Formatting Mobile Number")); //try //{ // if (!String.IsNullOrEmpty(request.mobileNumber)) // { // formattingService.RemoveFormattingFromMobileNumber(request.mobileNumber); // _logger.Log(LogLevel.Error, string.Format("Registering User Mobile Number {0}", mobileNumber)); // } //} //catch (Exception ex) //{ // _logger.Log(LogLevel.Error, string.Format("Exception formatting mobile number. {0}", ex.Message)); //} User user; //validate that email address is not already user user = _userService.FindUserByEmailAddress(request.userName); if (user != null) { var errorMessage = new HttpResponseMessage <UserModels.SubmitUserResponse>(HttpStatusCode.BadRequest); errorMessage.ReasonPhrase = String.Format("The email address {0} is already registered.", request.emailAddress); return(errorMessage); } //if(!String.IsNullOrEmpty(mobileNumber)) //{ // user = _userService.FindUserByMobileNumber(mobileNumber); // if (user != null) // { // var errorMessage = new HttpResponseMessage<UserModels.SubmitUserResponse>(HttpStatusCode.BadRequest); // errorMessage.ReasonPhrase = String.Format("The mobile number {0} is already registered.", request.mobileNumber); // return errorMessage; // } //} try { _logger.Log(LogLevel.Info, String.Format("Adding user {0}", request.userName)); user = _userService.AddUser(Guid.Parse(request.apiKey), request.userName, request.password, request.emailAddress, request.deviceToken); _ctx.SaveChanges(); } catch (Exception ex) { _logger.Log(LogLevel.Error, string.Format("Exception registering user {0}. Exception {1}.", request.emailAddress, ex.Message)); var message = new HttpResponseMessage <UserModels.SubmitUserResponse>(HttpStatusCode.InternalServerError); message.ReasonPhrase = String.Format("Unable to register user. {0}", ex.Message); return(message); } _amazonNotificationService.PushSNSNotification(ConfigurationManager.AppSettings["UserPostedTopicARN"], "New User Account Created", user.UserId.ToString()); var responseMessage = new UserModels.SubmitUserResponse() { userId = user.UserId.ToString() }; return(new HttpResponseMessage <UserModels.SubmitUserResponse>(responseMessage, HttpStatusCode.Created)); }