public RelationListeType ToRelationListeType(Func <string, Guid> cpr2UuidFunc) { // Marriages var civilStates = Interval .CreateFromData <TimedTypeWrapper <ICivilStatus> >(this.ItemsAsTimedType, new DataTypeTags[] { DataTypeTags.CivilStatus }) .Select(w => w.TimedObject) .ToList(); var spouses = CivilStatusWrapper.ToSpouses(null, civilStates, cpr2UuidFunc); var partners = CivilStatusWrapper.ToRegisteredPartners(null, civilStates, cpr2UuidFunc); // Now fill the return object return(new RelationListeType() { Aegtefaelle = spouses, RegistreretPartner = partners, Fader = FromLatestRegistration <ParentsInformationType>().ToFather(cpr2UuidFunc), Moder = FromLatestRegistration <ParentsInformationType>().ToMother(cpr2UuidFunc), Boern = ChildType.ToPersonFlerRelationType(LatestRegistration.Child, cpr2UuidFunc), RetligHandleevneVaergemaalsindehaver = ToRetligHandleevneVaergemaalsindehaver(cpr2UuidFunc), Foraeldremyndighedsindehaver = ToForaeldremyndighedsindehaver(cpr2UuidFunc), Bopaelssamling = null, ErstatningAf = ToErstatningAf(cpr2UuidFunc), ErstatningFor = null, Foraeldremyndighedsboern = null, LokalUdvidelse = null, RetligHandleevneVaergeForPersonen = null }); }
public void ToPersonRelationTypeArray_DeadWithPnr_NotEmpty( [ValueSource(typeof(Utilities), "AlphabetChars")] char deadCivilStatus ) { var result = IndividualResponseType.ParseBatch(Properties.Resources.U12170_P_opgavenr_110901_ADRNVN_FE); var f = result.Where(r => r.CurrentCivilStatus.CivilStatusCode == 'D' || r.HistoricalCivilStatus.Where(c => c.CivilStatusCode == 'D').Count() > 0).ToArray(); var civil = new CurrentCivilStatusType() { CivilStatusCode = deadCivilStatus, CivilStatusStartDate = DateTime.Today, PNR = Utilities.RandomCprNumberString(), SpousePNR = Utilities.RandomCprNumberString() }; var ret1 = CivilStatusWrapper.ToPersonRelationTypeArray(civil, null, pnr => Guid.NewGuid(), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), deadCivilStatus, false ); var ret2 = CivilStatusWrapper.ToPersonRelationTypeArray(civil, null, pnr => Guid.NewGuid(), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), deadCivilStatus, true); Assert.AreEqual(1, ret1.Length + ret2.Length); }
public void ToCivilStatusType_G_Married() { var w = new CivilStatusWrapper(new CivilStatusStub() { CivilStatusCode = 'G' }); var ret = w.ToCivilStatusType(null); Assert.AreEqual(CivilStatusKodeType.Gift, ret.CivilStatusKode); }
public void ToCivilStatusType_Normal_NotNull() { var w = new CivilStatusWrapper(new CivilStatusStub() { CivilStatusCode = 'U' }); var ret = w.ToCivilStatusType(null); Assert.NotNull(ret); }
public void PersonRelationType_Normal_CorrectUuid( [ValueSource("RandomCprNumbers5")] decimal spouseCprNumber) { var civilStatus = new CivilStatusStub() { SpousePNR = spouseCprNumber }; var result = new CivilStatusWrapper(civilStatus).ToPersonRelationType(UuidMap.CprStringToUuid); Assert.AreEqual(UuidMap.CprToUuid(spouseCprNumber).ToString(), result.ReferenceID.Item); }
public RelationListeType ToRelationListeType(Func <string, Guid> cpr2uuidConverter, DPRDataContext dataContext) { Func <decimal, Guid> cpr2uuidFunc = (cpr) => cpr2uuidConverter(cpr.ToPnrDecimalString()); var ret = new RelationListeType(); // Now fill the relations var fatherPnr = Utilities.ToParentPnr(this.PersonTotal.FatherPersonalOrBirthdate); if (fatherPnr.HasValue) { ret.Fader = new PersonRelationType[] { PersonRelationType.Create( cpr2uuidFunc(fatherPnr.Value), null, null ) }; } var motherPnr = Utilities.ToParentPnr(this.PersonTotal.MotherPersonalOrBirthDate); if (motherPnr.HasValue) { ret.Moder = new PersonRelationType[] { PersonRelationType.Create (cpr2uuidFunc(motherPnr.Value), null, null ) }; } // Fill children (including adults) ret.Boern = Child.ToPersonFlerRelationTypeArray(Children, cpr2uuidFunc); // TODO : Fill custody children ret.Foraeldremyndighedsboern = null; // Normal spouse(s) ret.Aegtefaelle = CivilStatusWrapper.ToSpouses(null, this.CivilStatesAsInterface, cpr2uuidConverter); // Registered partner(s) ret.RegistreretPartner = CivilStatusWrapper.ToRegisteredPartners(null, this.CivilStatesAsInterface, cpr2uuidConverter); //TODO: Has legal authority on ret.RetligHandleevneVaergeForPersonen = null; //TODO: People who have legal authority on this person ret.Foraeldremyndighedsindehaver = null; return(ret); }
public void ToCivilStatusType_NoSeparation_StatusDate( [Values('D', 'E', 'F', 'G', 'L', 'O', 'P', 'U')] char maritalStatus) { var status = new CivilStatusWrapper(new CurrentCivilStatusType() { CivilStatusStartDate = DateTime.Today, CivilStatusStartDateUncertainty = ' ', CivilStatusCode = maritalStatus }); var ret = status.ToCivilStatusType(null); Assert.AreEqual(DateTime.Today, ret.TilstandVirkning.FraTidspunkt.ToDateTime()); }
public void PersonRelationType_Normal_EmptyComment( [ValueSource("RandomCprNumbers5")] decimal spouseCprNumber) { var civilStatus = new CivilStatusStub() { SpousePNR = spouseCprNumber }; var result = new CivilStatusWrapper(civilStatus).ToPersonRelationType(UuidMap.CprStringToUuid); Assert.IsNullOrEmpty(result.CommentText); }
public void ToToPersonRelationTypeArray_NoSpouse_ReturnsEmpty( [ValueSource("AllMaritalStates")] char maritalStatus) { var civilStates = AllMaritalStates.Select(c => new CivilStatusStub() { SpousePNR = 0, MaritalStatus = c } as CivilStatus).ToArray(); var result = CivilStatusWrapper.ToPersonRelationTypeArray(null, civilStates, UuidMap.CprStringToUuid, maritalStatus, maritalStatus, maritalStatus, maritalStatus, false); Assert.AreEqual(0, result.Length); }
public void ToPersonRelationTypeArray_UnMarried_CorrectEndDate( [ValueSource(typeof(Utilities), "AlphabetChars")] char endedCivilStatus ) { var civil = new CurrentCivilStatusType() { CivilStatusCode = endedCivilStatus, CivilStatusStartDate = DateTime.Today, SpousePNR = Utilities.RandomCprNumberString() }; var ret = CivilStatusWrapper.ToPersonRelationTypeArray(civil, null, pnr => Guid.NewGuid(), Utilities.RandomSingleChar(Utilities.AlphabetChars, endedCivilStatus), endedCivilStatus, Utilities.RandomSingleChar(Utilities.AlphabetChars, endedCivilStatus), endedCivilStatus, false); Assert.AreEqual(DateTime.Today, ret[0].Virkning.TilTidspunkt.ToDateTime()); }
public void ToCivilStatusType_GwithSeparation_Separated() { var w = new CivilStatusWrapper(new CivilStatusStub() { CivilStatusCode = 'G' }); var ret = w.ToCivilStatusType(new SeparationStub() { }); Assert.AreEqual(CivilStatusKodeType.Separeret, ret.CivilStatusKode); }
public void PersonRelationType_StartDateOnly_CorrectEffectStartDate( [ValueSource("RandomDecimalDates5")] decimal startDate, [Values('U', 'G', 'F', 'D', 'E', 'P', 'O', 'L', 'u', 'g', 'f', 'd', 'e', 'p', 'o', 'l')] char maritalStatus) { var civilStatus = new CivilStatusStub() { SpousePNR = Utilities.RandomCprNumber(), MaritalStatus = maritalStatus, MaritalStatusDate = startDate, MaritalEndDate = null }; var result = new CivilStatusWrapper(civilStatus).ToPersonRelationType(UuidMap.CprStringToUuid); Assert.AreEqual(Providers.DPR.Utilities.DateFromDecimal(startDate), result.Virkning.FraTidspunkt.ToDateTime().Value); }
public void ToPersonRelationTypeArray_DeadNoPnr_Empty( [ValueSource(typeof(Utilities), "AlphabetChars")] char deadCivilStatus ) { var civil = new CurrentCivilStatusType() { CivilStatusCode = deadCivilStatus, CivilStatusStartDate = DateTime.Today }; var ret = CivilStatusWrapper.ToPersonRelationTypeArray(civil, null, pnr => Guid.NewGuid(), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), Utilities.RandomSingleChar(Utilities.AlphabetChars, deadCivilStatus), deadCivilStatus, false); Assert.IsEmpty(ret); }
public void ToSpouses_InvalidPNR_EmptyArray( [Values('U', 'G', 'F', 'E', 'P', 'O', 'L', 'D')] char maritalStatus, [Values(1, 20, 130, 12345678)] decimal pnr) { var civil = new CurrentCivilStatusType() { CivilStatusCode = maritalStatus, PNR = Converters.DecimalToString(pnr, 10) }; var ret = CivilStatusWrapper.ToSpouses(civil, null, cpr => Guid.NewGuid()); Assert.IsEmpty(ret); }
public void PersonRelationType_StartDateOnly_NullEffectStart( [ValueSource("RandomDecimalDates5")] decimal endDate, [Values('U', 'G', 'F', 'D', 'E', 'P', 'O', 'L', 'u', 'g', 'f', 'd', 'e', 'p', 'o', 'l')] char maritalStatus) { var civilStatus = new CivilStatusStub() { SpousePNR = Utilities.RandomCprNumber(), MaritalStatus = maritalStatus, MaritalStatusDate = null, MaritalEndDate = endDate }; var result = new CivilStatusWrapper(civilStatus).ToPersonRelationType(UuidMap.CprStringToUuid); Assert.Null(result.Virkning.FraTidspunkt.ToDateTime()); }
public void ToToPersonRelationTypeArray_CorrectStatus_Returns2( [ValueSource("AllMaritalStates")] char maritalStatus) { var civilStates = AllMaritalStates.Select(c => new CivilStatusStub() { SpousePNR = Utilities.RandomCprNumber(), MaritalStatus = c } as CivilStatus).ToArray(); var result = CivilStatusWrapper.ToPersonRelationTypeArray(null, civilStates, UuidMap.CprStringToUuid, maritalStatus, maritalStatus, maritalStatus, maritalStatus, false); // 2 are expected because of upper and lower cases Assert.AreEqual(2, result.Length); }
public void ToPersonRelationTypeArray_UnMarried_NullStartDate( [ValueSource(typeof(Utilities), "AlphabetChars")] char endedCivilStatus, [Values(true, false)] bool sameGenderForDead ) { var civil = new CurrentCivilStatusType() { CivilStatusCode = endedCivilStatus, CivilStatusStartDate = DateTime.Today, SpousePNR = Utilities.RandomCprNumberString() }; var ret = CivilStatusWrapper.ToPersonRelationTypeArray(civil, null, pnr => Guid.NewGuid(), Utilities.RandomSingleChar(Utilities.AlphabetChars, endedCivilStatus), endedCivilStatus, Utilities.RandomSingleChar(Utilities.AlphabetChars, endedCivilStatus), endedCivilStatus, sameGenderForDead); Assert.Null(ret[0].Virkning.FraTidspunkt.ToDateTime()); }
public void ToCivilStatusType_OtherThanMarriedWithSeparation_StatusDate( [Values('D', 'E', 'F', 'L', 'O', 'U')] char maritalStatus) { var status = new CivilStatusWrapper(new CurrentCivilStatusType() { CivilStatusStartDate = DateTime.Today.AddDays(-1), CivilStatusStartDateUncertainty = ' ', CivilStatusCode = maritalStatus }); var sep = new CurrentSeparationType() { SeparationStartDate = DateTime.Today, SeparationStartDateUncertainty = ' ' }; var ret = status.ToCivilStatusType(sep); Assert.AreEqual(status.ToCivilStatusDate(), ret.TilstandVirkning.FraTidspunkt.ToDateTime()); }
public void ToToPersonRelationTypeArray_Null_ThrowsException() { CivilStatusWrapper.ToPersonRelationTypeArray(null, null, UuidMap.CprStringToUuid, 'U', 'G', 'W', 'D', false); }
public PersonRelationType[] ToSpouses(Func <string, Guid> cpr2uuidFunc) { return(CivilStatusWrapper.ToSpouses(this.CurrentCivilStatus, this.HistoricalCivilStatusAsInterface, cpr2uuidFunc)); }