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); }
public PersonalDataChanged(Guid aggregateId, ContactPersonalData data) { PersonalData = data; AggregateId = aggregateId; }
public PersonalDataChanging(Guid aggregateId, ContactPersonalData personalData) { AggregateId = aggregateId; PersonalData = personalData; }
public void SetPersonalData(ContactPersonalData personalData) { PersonalData = personalData; }
public Builder WithPersonalData(ContactPersonalData contactPersonalData) { _entity.PersonalData = contactPersonalData; return(this); }