Exemple #1
0
        public ActionResult SignUp(RequiredInfoViewModel requiredInfoViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(requiredInfoViewModel));
            }

            var subDomain       = GetSubDomainFromCharityName(requiredInfoViewModel.CharityName);
            var activationToken = TokenHelper.CreateRandomIdentifier();

            var registrationInfo = new RegistrationInfo();

            Mapper.DynamicMap(requiredInfoViewModel, registrationInfo);

            var result = _charityMembershipService.RegisterUserAndCharity(registrationInfo);

            if (result)
            {
                var emailViewModel = new EmailViewModel
                {
                    To = requiredInfoViewModel.UserIdentifier,
                    ActivationToken = activationToken.AsQueryString()
                };

                signUpQueueingService.QueueEmail(emailViewModel);
                signUpQueueingService.QueueProvisioning();

                TempData["SubDomain"] = subDomain;

                return(RedirectToAction("Complete"));
            }

            ModelState.AddModelError("", "User and Charity registration failed. Please contact support.");
            return(View());
        }
Exemple #2
0
        public void SignUp_WithUnsuccessfulStore_RendersView()
        {
            var requiredInfoViewModel = new RequiredInfoViewModel
            {
                UserIdentifier = "A",
                Password       = "******",
                CharityName    = "C",
            };

            var controller = new SignUpController(configuration, signUpQueueingService, charityMembershipService);

            charityMembershipService.RegisterUserAndCharity(null).ReturnsForAnyArgs(false);
            var result = controller.SignUp(requiredInfoViewModel);

            result.AssertViewRendered();
        }
Exemple #3
0
        public void SignUp_WithSuccessfulStore_RedirectsToComplete()
        {
            var requiredInfoViewModel = new RequiredInfoViewModel
            {
                UserIdentifier = "A",
                Password       = "******",
                CharityName    = "C",
            };

            var controller = new SignUpController(configuration, signUpQueueingService, charityMembershipService);

            charityMembershipService.RegisterUserAndCharity(null).ReturnsForAnyArgs(true);
            var result = controller.SignUp(requiredInfoViewModel);

            result.AssertActionRedirect().ToAction("Complete");
        }
 public RequiredInfoView(RequiredInfoViewModel viewModel)
 {
     InitializeComponent();
     this.DataContext = viewModel;
 }