public static List <Ape> GetFather(ApeFamilyTree familyTree, Ape ape) { ApeFamily family = ape.GetFamily(); return(new List <Ape>() { family?.Partners.SingleOrDefault(e => e != ape && e.Gender == GenderType.Male) }); }
public static List <Ape> GetSons(ApeFamilyTree familyTree, Ape ape) { ApeFamily family = familyTree.GetApeFamilies().SingleOrDefault(p => p.Partners.Contains(ape)); if (family != null) { return(family.Children.Where(c => c.Gender == GenderType.Male).ToList()); } return(new List <Ape>()); }
public static List <Ape> GetChildren(ApeFamilyTree familyTree, Ape ape) { ApeFamily family = familyTree.GetApeFamilies().SingleOrDefault(p => p.Partners.Contains(ape)); if (family != null) { return(family.Children.ToList()); } return(new List <Ape>()); }
public static List <Ape> GetSisters(ApeFamilyTree familyTree, Ape ape) { ApeFamily family = ape.GetFamily(); if (family != null) { return(family.Children.Where(elem => elem != ape && elem.Gender != GenderType.Male).ToList()); } return(new List <Ape>()); }
public static List <Ape> GetSiblings(ApeFamilyTree familyTree, Ape ape) { ApeFamily family = ape.GetFamily(); if (family != null) { return(family.Children.Where(elem => elem != ape).ToList()); } return(new List <Ape>()); }
public List <Ape> GetParent(GenderType gender, ApeFamilyAssociationService service) { ApeFamily family = service.GetElement(_name); List <Ape> result = new List <Ape>(); if (family != null) { result.Add(family.Partners.SingleOrDefault(e => e != this && e.GetGender() == gender)); } return(result); }
public List <Ape> GetSiblings(ApeFamilyAssociationService service) { ApeFamily family = service.GetElement(_name); List <Ape> siblings = new List <Ape>(); if (family != null) { siblings = family.Children.Where(elem => elem != this).ToList(); } return(siblings); }
public List <Ape> GetChildren(ApeFamilyService familyService) { ApeFamily family = familyService.GetAll().SingleOrDefault(p => p.Partners.Contains(this)); List <Ape> result = new List <Ape>(); if (family != null) { result = family.Children; } return(result); }
public List <Ape> GetChildren(GenderType gender, ApeFamilyService familyService) { ApeFamily family = familyService.GetAll().SingleOrDefault(p => p.Partners.Contains(this)); List <Ape> result = new List <Ape>(); if (family != null) { result = family.Children.Where(c => c.GetGender() == gender).ToList(); } return(result); }
public static List <Ape> GetGrandDaugthers(ApeFamilyTree familyTree, Ape ape) { ApeFamily family = familyTree.GetApeFamilies().SingleOrDefault(p => p.Partners.Contains(ape)); List <Ape> children = GetChildren(familyTree, ape); List <Ape> grandChildren = new List <Ape>(); foreach (var child in children) { grandChildren.AddRange(GetChildren(familyTree, child).Where(c => c.Gender == GenderType.Female)); } return(grandChildren); }
public List <Ape> GetGrandChildren(ApeFamilyService familyService) { ApeFamily family = familyService.GetAll().SingleOrDefault(p => p.Partners.Contains(this)); List <Ape> result = new List <Ape>(); if (family != null) { foreach (var r in family.Children.ToList()) { result.AddRange(r.GetChildren(familyService)); } } return(result); }