コード例 #1
0
ファイル: TreeDto.cs プロジェクト: TreeOfAKind/TreeOfAKind
        public PersonDto(Person person, TreeRelations treeRelations)
        {
            Id          = person.Id.Value;
            Name        = person.Name;
            LastName    = person.LastName;
            Gender      = person.Gender;
            BirthDate   = person.BirthDate?.GetDate();
            DeathDate   = person.DeathDate?.GetDate();
            Description = person.Description;
            Biography   = person.Biography;

            Mother   = GetRelations(person.Id, RelationType.Mother, treeRelations).Cast <Guid?>().FirstOrDefault();
            Father   = GetRelations(person.Id, RelationType.Father, treeRelations).Cast <Guid?>().FirstOrDefault();
            Spouse   = GetRelations(person.Id, RelationType.Spouse, treeRelations).Cast <Guid?>().FirstOrDefault();
            Children = GetChildren(person.Id, treeRelations);

            UnknownRelations = GetRelations(person.Id, RelationType.Unknown, treeRelations);

            MainPhoto = person.MainPhoto is null ? null : new FileDto(person.MainPhoto);
            Files     = person.Files.Select(f => new FileDto(f)).ToList();
        }
コード例 #2
0
ファイル: TreeDto.cs プロジェクト: TreeOfAKind/TreeOfAKind
 private static List <Guid> GetRelations(PersonId id, RelationType relationType, TreeRelations treeRelations)
 {
     return(treeRelations.Relations.Where(r => r.From == id && r.RelationType == relationType)
            .Select(t => t.To.Value).ToList());
 }
コード例 #3
0
ファイル: TreeDto.cs プロジェクト: TreeOfAKind/TreeOfAKind
 private static List <Guid> GetChildren(PersonId id, TreeRelations treeRelations)
 {
     return(treeRelations.Relations.Where(r =>
                                          r.To == id && (r.RelationType == RelationType.Father || r.RelationType == RelationType.Mother))
            .Select(t => t.From.Value).ToList());
 }
コード例 #4
0
 public TreeRelationsDomain()
 {
     TreeRelations = new TreeRelations();
 }