private PersonsRelatedItems Collect(Group group, List <int> modifiedPersonIds) { var keys = group.GetInnerGroupKeys(modifiedPersonIds); var relatedItems = new PersonsRelatedItems(); keys.ForEach(n => GetInnerGroupRelatedItems(n, group, modifiedPersonIds, relatedItems)); return(relatedItems); }
private void GetInnerGroupRelatedItems(Guid innerGroupKey, Group group, List <int> idsToExclude, PersonsRelatedItems relatedItems) { var members = group.GetRelatedInnerGroupMemebers(innerGroupKey, idsToExclude); if (members.Count == 0 || members.Count == 1) // nie wiem dlaczego .Count == 0? { relatedItems.InnerGroupsToDelete.Add(innerGroupKey); } if (members.Count == 1) { relatedItems.PersonsToModify.Add(new PersonItem { Id = members.First().Id, InnerGroupKey = innerGroupKey }); } }