public ActionResult AddMembershipUser(AdminMemberAddViewModel viewModel)
        {
            using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork())
            {
                var loggedOnUserId = LoggedOnReadOnlyUser?.Id ?? Guid.Empty;
                var admin          = MembershipService.Get(loggedOnUserId);
                var settings       = SettingsService.GetSettings();
                var homeRedirect   = false;

                var userToSave = new MembershipUser
                {
                    Email     = viewModel.Email,
                    FirstName = viewModel.FirstName,
                    LastName  = viewModel.LastName,
                    City      = viewModel.City,
                    State     = viewModel.State
                };
                var createStatus = MembershipService.AdminCreateUser(userToSave, admin);
                if (createStatus != MembershipCreateStatus.Success)
                {
                    ShowMessage(new AdminGenericMessageViewModel
                    {
                        Message     = "Failed registering user: "******"MembershipUser", "AdminMembershipUser", new { area = "Admin" }));
                    //ModelState.AddModelError(string.Empty, MembershipService.ErrorCodeToString(createStatus));
                }
                SetRegisterViewBagMessage(false, false, userToSave);
                homeRedirect = true;
                try
                {
                    // Only send the email if the admin is not manually authorising emails or it's pointless
                    //SendEmailConfirmationEmail(userToSave);
                    unitOfWork.Commit();

                    if (homeRedirect)
                    {
                        if (Url.IsLocalUrl(viewModel.ReturnUrl) && viewModel.ReturnUrl.Length > 1 && viewModel.ReturnUrl.StartsWith("/") &&
                            !viewModel.ReturnUrl.StartsWith("//") && !viewModel.ReturnUrl.StartsWith("/\\"))
                        {
                            return(Redirect(viewModel.ReturnUrl));
                        }
                        return(RedirectToAction("MembershipUser", "AdminMembershipUser", new { area = "Admin" }));
                    }
                }
                catch (Exception ex)
                {
                    unitOfWork.Rollback();
                    LoggingService.Error(ex);
                    FormsAuthentication.SignOut();
                    ShowMessage(new AdminGenericMessageViewModel
                    {
                        Message     = "Failed registering user.",
                        MessageType = GenericMessages.danger
                    });
                }
                return(RedirectToAction("Index", "Admin", new { area = "Admin" }));
            }
        }