Ejemplo n.º 1
0
        public ActionResult SignUpIndividual(IndividualRegistration individualRegistration)
        {
            if (!ModelState.IsValid)
            {
                return(View("SignUpIndividual", individualRegistration));
            }

            var             resourceURI = @"Registration/RegisterIndividual";
            UserReturnModel createdUser = null;

            try
            {
                createdUser = this.SendPostRequest <IndividualRegistration, UserReturnModel>(resourceURI, individualRegistration);

                PrepareAndSendConfirmationEmail(createdUser.Email, createdUser.Id, createdUser.UserName);

                TempData["IsEmailSentSuccessfully"] = true;

                return(RedirectToAction("SignUpComplete", "SignUp", new RouteValueDictionary(createdUser)));
            }
            catch (ApiException ex)
            {
                return(View("SignUpIndividual", individualRegistration));
            }
            catch (EmailException emailException)
            {
                TempData["IsEmailSentSuccessfully"] = false;

                return(RedirectToAction("SignUpComplete", "SignUp", new RouteValueDictionary(createdUser)));
            }
        }
        public IHttpActionResult IndividualSignUp(IndividualRegistration individualRegistrationModel)
        {
            var individualConsigneeModel = new IndividualConsigneeBindingModel()
            {
                Address   = individualRegistrationModel.Address,
                TRN       = individualRegistrationModel.TRN,
                FirstName = individualRegistrationModel.PrimaryUser.FirstName,
                LastName  = individualRegistrationModel.PrimaryUser.LastName,
            };

            var registerIndividualResult = _businessManager.RegisterIndividual(individualRegistrationModel.PrimaryUser, individualConsigneeModel);

            if (!registerIndividualResult.IsSuccess)
            {
                return(GetErrorResult(registerIndividualResult));
            }

            var userId = registerIndividualResult.Result.UserModel.Id;

            Uri locationHeader = new Uri(Url.Link("GetUserById", new { id = userId }));

            return(Created(locationHeader, registerIndividualResult.Result.UserModel));
        }