public PersonalDataEditorModel(ContactPersonalData personalData)
        {
            Relations = GetRelationTypes(RelationType.None);
            IsMale    = false;
            IsFemale  = false;
            IsUnknown = false;
            UseDashBeetwenLastNames = false;
            DateOfBirthNotSpecified = true;

            if (personalData != null)
            {
                FirstName = personalData.FirstNames?.Name;
                if (personalData.FirstNames?.AdditionalNames != null)
                {
                    AdditionalFirstNames = string.Join(" ", personalData.FirstNames?.AdditionalNames);
                }
                LastName = personalData.LastNames?.LastName;
                if (personalData.LastNames != null && personalData.LastNames.HasMultipleLastNames)
                {
                    AdditionalLastNames     = string.Join(" ", personalData.LastNames.AdditionalLastNames);
                    UseDashBeetwenLastNames = personalData.LastNames.UseDashBetweenNames;
                }

                if (personalData.DateOfBirth.HasValue)
                {
                    DateOfBirth             = personalData.DateOfBirth.Value;
                    DateOfBirthNotSpecified = false;
                }
                else
                {
                    DateOfBirth             = DateTime.Today;
                    DateOfBirthNotSpecified = true;
                }

                Relations = GetRelationTypes(personalData.RelationType);
                switch (personalData.Sex)
                {
                case Sex.Unknown:
                    IsUnknown = true;
                    break;

                case Sex.Female:
                    IsFemale = true;
                    break;

                case Sex.Male:
                    IsMale = true;
                    break;
                }
            }
        }
        public ContactPersonalData CreateValueObject()
        {
            if (string.IsNullOrEmpty(FirstName) || string.IsNullOrEmpty(LastName))
            {
                throw new NoRequiredDataProvidedForPersonalData(this);
            }

            FirstNames firstNames      = new FirstNames(FirstName, AdditionalFirstNames.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries));
            var        tmpLastAddNames = AdditionalLastNames.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);
            LastNames  lastNames       = UseDashBeetwenLastNames && tmpLastAddNames.Length == 1 ? new LastNames(LastName, AdditionalLastNames) : new LastNames(LastName, tmpLastAddNames);

            DateTime?    dateOfBirth = DateOfBirthNotSpecified ? new DateTime?() : DateOfBirth;
            Sex          sex         = IsMale ? Sex.Male : (IsFemale ? Sex.Female : Sex.Unknown);
            RelationType relation    = RelationType.None;

            foreach (var relationType in Relations.Where(c => c.IsChecked))
            {
                relation = relation | relationType.RelationType;
            }

            ContactPersonalData contactPersonalData = new ContactPersonalData(firstNames, lastNames, dateOfBirth, sex, relation);

            return(contactPersonalData);
        }
Example #3
0
 public PersonalDataChanged(Guid aggregateId, ContactPersonalData data)
 {
     PersonalData = data;
     AggregateId  = aggregateId;
 }
Example #4
0
 public PersonalDataChanging(Guid aggregateId, ContactPersonalData personalData)
 {
     AggregateId  = aggregateId;
     PersonalData = personalData;
 }
Example #5
0
 public void SetPersonalData(ContactPersonalData personalData)
 {
     PersonalData = personalData;
 }
Example #6
0
 public Builder WithPersonalData(ContactPersonalData contactPersonalData)
 {
     _entity.PersonalData = contactPersonalData;
     return(this);
 }