public void UpdateUserGroupFromInput(UserGroup model, UserGroupInput input)
		{
			model.DomainName = input.DomainName;
			model.Key = input.Key;
			model.Id = input.Id;
			model.Name = input.Name;
			model.HomepageHTML = input.HomepageHTML;
			model.City = input.City;
			model.Region = input.Region;
			model.Country = input.Country;
			model.GoogleAnalysticsCode = input.GoogleAnalysticsCode;
			var existingUsers = model.GetUsers();

			var usersToRemove = existingUsers.Where(user => !input.Users.Any(uf => uf.Id == user.Id));

			foreach (var user in usersToRemove)
			{
				model.Remove(user);
			}

			var userFormToAdd =
				input.Users.Where(userForm => !existingUsers.Any(user => user.Id == userForm.Id));
			var users = _userRepository.GetAll();

			foreach (var userForm in userFormToAdd)
			{
				var user = users.FirstOrDefault(user1 => user1.Id == userForm.Id);
				model.Add(user);
			}
		}
        public void Should_save_the_UserGroup()
        {
            var form = new UserGroupInput();
            var UserGroup = new UserGroup();

            //			var mapper = S<IUserGroupMapper>();
            //			mapper.Stub(m => m.Map(form)).Return(UserGroup);

            var controller = new UserGroupController(null, PermisiveSecurityContext());
            var result = (CommandResult) controller.Edit(form);
        }
Exemplo n.º 3
0
        public ActionResult Edit(UserGroupInput input)
        {
            if (!_securityContext.HasPermissionsForUserGroup(input.Id))
            {
                return View(ViewPages.NotAuthorized);
            }

            return Command<UserGroupInput, UserGroup>(
                input,
                r => new RedirectToReturnUrlResult(),
                i => View(input));
        }
		public UserGroup Convert(UserGroupInput source)
		{
			var destination = _userGroupRepository.GetById(source.Id) ?? new UserGroup();
			UpdateUserGroupFromInput(destination, source);
			return destination;
		}