public Task <UserGroupPoco> UpdateUserGroupAsync(UserGroupPoco poco) { var nameExists = repo.UserGroupsByName(poco.Name).Any(); var existingPoco = repo.UserGroupsById(poco.GroupId).First(); if (poco.Name != existingPoco.Name && nameExists) { return(Task.FromResult((UserGroupPoco)null)); } repo.DeleteUsersFromGroup(existingPoco.GroupId); foreach (var user in poco.Users) { repo.AddUserToGroup(user); } repo.UpdateUserGroup(poco); return(Task.FromResult(poco)); }