//public static List<FamilyMember> CompleteFamily(this Family family) //{ // if (family == null) // family = new Family(); // List<FamilyMember> familyMembers = new List<FamilyMember>(); // familyMembers.Add(family.Father() ?? NewFather()); // familyMembers.Add(family.Mother() ?? NewMother()); // foreach(FamilyMember fm in family.Children()) // familyMembers.Add(fm); // if (familyMembers.Count == 2) // familyMembers.Add(NewChild()); // return familyMembers; //} //public static FamilyMember Father(this Family family) //{ // foreach (FamilyMember fm in family.FamilyMembers) // if (fm.FamilyRole.Guid == SystemLookup.FamilyRole_Adult && // fm.Gender == Arena.Enums.Gender.Male) // return fm; // return null; //} //public static FamilyMember Mother(this Family family) //{ // foreach (FamilyMember fm in family.FamilyMembers) // if (fm.FamilyRole.Guid == SystemLookup.FamilyRole_Adult && // fm.Gender == Arena.Enums.Gender.Female) // return fm; // return null; //} public static FamilyMember FindByGuid(this FamilyMemberCollection familyMembers, Guid guid) { foreach (FamilyMember fm in familyMembers) { if (fm.Guid == guid) { return(fm); } } return(null); }
private string BuildDescription(Family family, OccurrenceAttendanceCollection attendances) { StringBuilder sb = new StringBuilder(); FamilyMemberCollection adults = family.Adults(); FamilyMemberCollection children = family.Children(); Address primaryAddress = null; if (adults.Count > 0) { sb.Append("\nAdults:\n"); foreach (FamilyMember adult in adults) { sb.AppendFormat("+ {0}", adult.FullName, adult.Age.ToString()); if (primaryAddress == null) { primaryAddress = adult.PrimaryAddress; } if (adult.Age != -1) { sb.AppendFormat(" (Age {0})", adult.Age.ToString()); } sb.Append("\n"); } } if (children.Count > 0) { sb.Append("\nChildren:\n"); foreach (FamilyMember child in children) { sb.AppendFormat("+ {0}", child.FullName); OccurrenceAttendance attendance = attendances.FindByID(child.PersonID); if (attendance != null) { sb.AppendFormat(" (Checked into {0} {1} {2})", attendance.Occurrence.StartTime.DayOfWeek.ToString(), attendance.Occurrence.Name, attendance.Occurrence.OccurrenceType.TypeName); } else if (child.Age != -1) { sb.AppendFormat(" (Age {0})", child.Age.ToString()); } sb.Append("\n"); if (primaryAddress == null) { primaryAddress = child.PrimaryAddress; } } } if (primaryAddress != null && primaryAddress.Area != null && primaryAddress.Area.AreaID != -1) { sb.AppendFormat("\nNeighborhood: {0}\n", primaryAddress.Area.Name); sb.Append(AreaCoordinators(primaryAddress.Area, RegionalPastorRoleID)); sb.Append(AreaCoordinators(primaryAddress.Area, NeighborhoodLeaderRoleID)); } sb.Append("\n"); return(sb.ToString()); }