Beispiel #1
0
        public void PrintAllPeople()
        {
            IList <Person> personList = _personDao.List();

            foreach (Person p in personList)
            {
                PersonUtils.PrintPerson(p);
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #5
0
 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);
        }
Beispiel #7
0
 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);
        }
Beispiel #10
0
        public void DeletePerson(int id)
        {
            Person deleted = _personDao.Delete(id);

            PersonUtils.PrintResult(id, null, deleted, "deleted");
        }
Beispiel #11
0
        public void SavePerson(Person p)
        {
            Person saved = _personDao.Save(p);

            PersonUtils.PrintResult(0, p, saved, "saved");
        }
Beispiel #12
0
        public void PrintPersonById(int id)
        {
            Person person = _personDao.Get(id);

            PersonUtils.PrintPerson(person);
        }