Beispiel #1
0
        public RelationshipXref(RelationshipTypeEnum relationshipEvent, FamilyMember adultMale, FamilyMember adultFemale, FamilyMember child = null, DateTime?gameDate = null)
        {
            if (adultMale.Equals(adultFemale))
            {
                throw new Exception($"Cannot have {relationshipEvent.ToDescription()} with self");
            }
            // TODO: Prevent duplicates. Look through existing Xref to see.
            // TODO: Prevent polygamy. Look through existing Xref to see.
            // Remember could remarry former spouse again OR could marry within the family

            RelationshipType = relationshipEvent;
            AdultMale        = adultMale;
            AdultFemale      = adultFemale;
            if (child != null)  // marriage & divorce do not involve child
            {
                Child = child;
            }

            if (gameDate == null)
            {
                LastStarted = Child.BirthDate.GetValueOrDefault();
            }
            else
            {
                LastStarted = gameDate.GetValueOrDefault();
            }
        }
Beispiel #2
0
 private bool relationshipListContains(Student student1, RelationshipTypeEnum relType, Student student2)
 {
     foreach (StudentRelationship sr in properties.studentRelationships)
     {
         if (sr.student1.Equals(student1) && sr.relType == relType && sr.student2.Equals(student2))
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #3
0
        private void addRelationshipButton_Click(object sender, RoutedEventArgs e)
        {
            Student student1             = (Student)(this.name1ComboBox.SelectedItem);
            RelationshipTypeEnum relType = (RelationshipTypeEnum)(this.matchTypeComboBox.SelectedItem);
            Student student2             = (Student)(this.name2ComboBox.SelectedItem);

            if (!(relationshipListContains(student1, relType, student2)))
            {
                properties.studentRelationships.Add(new StudentRelationship(student1, relType, student2));
            }

            updateMatchListBox();
            fillName2ComboBox();
            this.addRelationshipButton.IsEnabled = false;
        }
        public async Task <Guid> CreateTwoPersonRelationship(
            MemberReadModel firstMember,
            MemberReadModel secondMember,
            RelationshipTypeEnum firstMemberRelationshipType,
            RelationshipTypeEnum secondMemberRelationshipType,
            DateTime?startDate,
            DateTime?endDate)
        {
            Contract.RequiresNotNull(firstMember, nameof(firstMember));
            Contract.RequiresNotNull(secondMember, nameof(secondMember));

            RelationshipTypeReadModel firstMemberRelationshipTypeModel = await this.relationshipTypeProvider
                                                                         .GetRelationshipType(firstMemberRelationshipType).ConfigureAwait(false);

            RelationshipTypeReadModel secondMemberRelationshipTypeModel = await this.relationshipTypeProvider
                                                                          .GetRelationshipType(secondMemberRelationshipType).ConfigureAwait(false);

            var createModel = new CombinedRelationshipCreateModel
            {
                RelationshipMembers = new List <CombinedRelationshipMemberCreateModel>
                {
                    new CombinedRelationshipMemberCreateModel
                    {
                        MemberId = firstMember.Id,
                        MemberRelationshipTypeId = firstMemberRelationshipTypeModel.Id,
                    },
                    new CombinedRelationshipMemberCreateModel
                    {
                        MemberId = secondMember.Id,
                        MemberRelationshipTypeId = secondMemberRelationshipTypeModel.Id
                    }
                },
                StartDate = startDate,
                EndDate   = endDate
            };

            return((await this.CreateRelationships(firstMember.MemoryBookUniverseId, new List <CombinedRelationshipCreateModel> {
                createModel
            }).ConfigureAwait(false))?.FirstOrDefault() ?? Guid.Empty);
        }
        public async Task <RelationshipTypeReadModel> GetRelationshipType(RelationshipTypeEnum relationshipType)
        {
            var relationshipTypes = await this.GetRelationshipTypes().ConfigureAwait(false);

            return(relationshipTypes.FirstOrDefault(x => x.Code.Equals(relationshipType.ToString())));
        }
Beispiel #6
0
 public static CombinedRelationshipReadModel GetRelationship(this MemberViewModel member, RelationshipTypeEnum otherMemberRelationshipType)
 {
     return(member?.Relationships?.FirstOrDefault(x =>
                                                  (x.RelationshipMembers.Any(r => r.MemberRelationshipTypeCode == otherMemberRelationshipType.ToString()))));
 }
Beispiel #7
0
 public StudentRelationship(Student student1, RelationshipTypeEnum relType, Student student2)
 {
     this.student1 = student1;
     this.relType  = relType;
     this.student2 = student2;
 }