private List <IRecipient> WalkUp(IRecipient recipient) { var parents = new List <IRecipient>(); var groups = recipientProvider.GetGroups(recipient) ?? new IRecipientsGroup[0]; foreach (var group in groups) { parents.Add(group); parents.AddRange(WalkUp(group)); } return(parents); }
internal List <IRecipient> WalkUp(IRecipient recipient) { var parents = new List <IRecipient>(); IRecipientsGroup[] groups = _recipientProvider.GetGroups(recipient) ?? new IRecipientsGroup[0]; foreach (IRecipientsGroup group in groups) { parents.Add(group); List <IRecipient> topgroups = WalkUp(group); parents.AddRange(topgroups); } return(parents); }