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()); }