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 UserGroup Convert(UserGroupInput source) { var destination = _userGroupRepository.GetById(source.Id) ?? new UserGroup(); UpdateUserGroupFromInput(destination, source); return(destination); }
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); }
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))); }