public CmsUserManagerAddViewModel AddViewModelBind(int pageId)
        {
            var viewModel = new CmsUserManagerAddViewModel();

            PopulateUserRolesAvailable(ref viewModel);

            return viewModel;
        }
        public ActionResult Add(CmsUserManagerAddViewModel viewModel)
        {
            CmsUserManagerServiceBinder modelBinder = this.GetServiceBinder();

            if (this.ModelState.IsValid)
            {
                viewModel = modelBinder.AddViewModelInsert(viewModel);
            }

            return this.View(viewModel);
        }
        public CmsUserManagerAddViewModel AddViewModelInsert(CmsUserManagerAddViewModel viewModel)
        {
            var isSuccess = false;
            var user = this.userService.GetByUsername(viewModel.UserName);

            if (user == null)
            {
                try
                {
                    user = new User();

                    Mapper.CreateMap<CmsUserManagerAddViewModel, User>();
                    Mapper.Map(viewModel, user);

                    user.Password = "******";

                    this.userService.Add(user);

                    AddNewUserRoles(user, viewModel);

                    PopulateUserRolesAvailable(ref viewModel);

                    isSuccess = true;
                }
                catch (System.Exception)
                {
                    isSuccess = false;
                }
            }
            else
            {
                viewModel.AddErrorMessage = "Username already exists. Please choose another username.";
            }

            viewModel.ActionIsAddSuccessful = isSuccess;

            return viewModel;
        }
 private void PopulateUserRolesAvailable(ref CmsUserManagerAddViewModel viewModel)
 {
     if (this.roleService != null)
     {
         viewModel.UserRolesAvailableList = new SelectList(this.roleService.GetAll(), "RoleId", "Name");
     }
 }
 private void AddNewUserRoles(User user, CmsUserManagerAddViewModel viewModel)
 {
     foreach(var roleId in viewModel.UserRolesSelectedItems)
     {
         this.AddNewUserRole(user.UserId, roleId);
     }
 }