public void PrintAllPeople() { IList <Person> personList = _personDao.List(); foreach (Person p in personList) { PersonUtils.PrintPerson(p); } }
public void EditPerson(Person p) { int id = p != null ? p.Id : 0; Person edited = _personDao.Edit(p); PersonUtils.PrintResult(id, p, edited, "edited"); }
public async Task <PersonDetailsUpdate> GetDetailsForUpdate(int id) { var personDb = await _personRepository.FindPerson(id); var familyDetails = new List <FamilyUpdateInternal>(); foreach (var relationship in personDb.Relationships) { var familyPerson = await _personRepository.FindPerson(relationship.PersonId); familyDetails.Add(new FamilyUpdateInternal { Id = relationship.PersonId, Label = familyPerson.PreferredName + " " + PersonUtils.FindDates(familyPerson), Relationship = relationship.Relationship }); } var personDetails = _mapper.Map <PersonDetailsUpdate>(personDb); personDetails.Spouses = familyDetails .Where(r => r.Relationship == Relationship.Wife || r.Relationship == Relationship.Husband || r.Relationship == Relationship.Spouse) .Select(r => new ListPerson { Id = r.Id, Label = r.Label }) .ToList(); personDetails.Parents = familyDetails .Where(r => r.Relationship == Relationship.Mother || r.Relationship == Relationship.Father || r.Relationship == Relationship.Parent) .Select(r => new ListPerson { Id = r.Id, Label = r.Label }) .ToList(); personDetails.Children = familyDetails .Where(r => r.Relationship == Relationship.Daughter || r.Relationship == Relationship.Son || r.Relationship == Relationship.Child) .Select(r => new ListPerson { Id = r.Id, Label = r.Label }) .ToList(); if (string.IsNullOrEmpty(personDetails.Portrait)) { var gender = (Gender)Enum.Parse(typeof(Gender), personDb.Gender); personDetails.Portrait = gender == Gender.Male ? "Male.png" : "Female.png"; } return(personDetails); }
private async Task <IList <ListPerson> > GetPeopleDetail(IEnumerable <int> people) { var peopleList = new List <ListPerson>(); foreach (var personId in people) { var personDb = await _personRepository.FindPerson(personId); peopleList.Add(PersonUtils.CreateListPerson(personDb)); } return(peopleList); }
private void SyncConfirmed() { if (IsConfirmed && !ConfirmedByID.HasValue) { ConfirmedBy = PersonUtils.GetCurrentPerson(); DateConfirmed = DateTime.Now; } else if (!IsConfirmed) { ConfirmedBy = null; DateConfirmed = Constants.NULL_DATE; } }
public async Task <IEnumerable <ListPerson> > GetList(Roles roles) { var peopleDb = await _personRepository.FindAllPeople(); var listPeople = new List <ListPerson>(); foreach (var personDb in peopleDb) { if (roles != Roles.General || personDb.Value.Dead) { listPeople.Add(PersonUtils.CreateListPerson(personDb.Value)); } } return(listPeople); }
public void PrintList() { _logger.Info("PrintList"); PersonUtils.PrintList(); }
public async Task <IEnumerable <FamilyTreePerson> > GetFamilyTree(Roles roles) { var peopleDb = await _personRepository.FindAllPeople(); var familyTreePeople = new List <FamilyTreePerson>(); foreach (var personDb in peopleDb) { if (roles == Roles.General && !personDb.Value.Dead) { continue; } var familyTreePerson = new FamilyTreePerson { Id = personDb.Value.Id, Title = personDb.Value.PreferredName, Spouses = new List <int>(), Parents = new List <int>(), BirthDate = personDb.Value.BirthRangeStart }; familyTreePerson.Description = PersonUtils.FindDates(personDb.Value); var gender = (Gender)Enum.Parse(typeof(Gender), personDb.Value.Gender); if (gender == Gender.Female) { familyTreePerson.ItemTitleColor = "#FDD7E4"; familyTreePerson.Image = "/img/Female.png"; } if (gender == Gender.Male) { familyTreePerson.Image = "/img/Male.png"; } if (!string.IsNullOrWhiteSpace(personDb.Value?.Portrait)) { familyTreePerson.Image = $"picture/thumbnail/{personDb.Value.Portrait}"; } var spouses = personDb.Value.Relationships.Where(r => r.Relationship == Relationship.Husband || r.Relationship == Relationship.Wife || r.Relationship == Relationship.Spouse).ToList(); foreach (var spouse in spouses) { if (roles != Roles.General || peopleDb[spouse.PersonId].Dead) { familyTreePerson.Spouses.Add(spouse.PersonId); } } var parents = personDb.Value.Relationships.Where(r => r.Relationship == Relationship.Father || r.Relationship == Relationship.Mother || r.Relationship == Relationship.Parent).ToList(); foreach (var parent in parents) { if (roles != Roles.General || peopleDb[parent.PersonId].Dead) { familyTreePerson.Parents.Add(parent.PersonId); } } familyTreePeople.Add(familyTreePerson); } foreach (var person in familyTreePeople) { if (person.Parents.Any()) { var siblings = familyTreePeople.FindAll(p => p.Parents.Contains(person.Parents.First())) .OrderBy(p => p.BirthDate); short position = 0; int relativeId = 0; foreach (var sibling in siblings) { if (position == 0) { relativeId = sibling.Id; } else { sibling.RelativeItem = relativeId; sibling.PlacementType = AdviserPlacementType.Right; sibling.Position = position; } position++; } } } return(familyTreePeople); }
public async Task <PersonDetails> GetDetails(Roles roles, int id) { var personDb = await _personRepository.FindPerson(id); var family = await PersonUtils.FindSiblings(personDb, _personRepository); family.AddRange(personDb.Relationships); var familyDetails = new List <Family>(); foreach (var familyMember in family.OrderBy(f => f.Relationship)) { var familyMemberDetails = await _personRepository.FindPerson(familyMember.PersonId); if (roles != Roles.General || familyMemberDetails.Dead) { familyDetails.Add(new Family { Id = familyMember.PersonId, Name = familyMemberDetails.PreferredName, Relationship = familyMember.Relationship.ToString() }); } } var personDetails = _mapper.Map <PersonDetails>(personDb); if (string.IsNullOrEmpty(personDetails.Portrait)) { var gender = (Gender)Enum.Parse(typeof(Gender), personDb.Gender); personDetails.Portrait = gender == Gender.Male ? "Male.png" : "Female.png"; } personDetails.Family = familyDetails; var images = await _imagesRepository.GetImagesForPerson(id); personDetails.Images = new List <ImageDetails>(); foreach (var image in images) { var peopleInImage = await _imagesRepository.GetPeopleInImage(image.Id); string caption = peopleInImage.Count > 0 ? "People: \n" : ""; foreach (var personInImage in peopleInImage) { var personDbImage = await _personRepository.FindPerson(personInImage); caption += $"\t{personDbImage.PreferredName}\n"; } if (!string.IsNullOrEmpty(image.Description)) { caption += $"Description: {image.Description}\n"; } if (!string.IsNullOrEmpty(image.Location)) { caption += $"Location: {image.Location}\n"; } personDetails.Images.Add(new ImageDetails { Id = image.Id, FileName = image.FileName, Orientation = image.Orientation, Caption = caption }); } return(personDetails); }
public void DeletePerson(int id) { Person deleted = _personDao.Delete(id); PersonUtils.PrintResult(id, null, deleted, "deleted"); }
public void SavePerson(Person p) { Person saved = _personDao.Save(p); PersonUtils.PrintResult(0, p, saved, "saved"); }
public void PrintPersonById(int id) { Person person = _personDao.Get(id); PersonUtils.PrintPerson(person); }