public VirkningType ToCprBorgerTypeVirkning(Nationality dbNationality, PersonAddress dbAddress, Departure dbDeparture) { List <decimal?> effects = new List <decimal?>(); effects.AddRange(new decimal?[] { AddressDate, StatusDate }); if (dbNationality != null) { effects.AddRange(new decimal?[] { dbNationality.NationalityStartDate }); } var address = GetFolkeregisterAdresseSource(dbAddress, dbDeparture); if (address != null) { effects.Add(Utilities.DecimalFromDate(address.ToStartTS())); } return(VirkningType.Create(Utilities.GetMaxDate(effects.ToArray()), null)); }
public CprBorgerType ToCprBorgerType(Nationality dbNationality, PersonAddress dbAddress, Departure dbDeparture) { return(new CprBorgerType() { // Address note - not supported AdresseNoteTekst = ToAdresseNoteTekst(), // Get address in separate method FolkeregisterAdresse = ToFolkeregisterAdresse(dbAddress, dbDeparture), // Directory protection ForskerBeskyttelseIndikator = ToDirectoryProtectionIndicator(), // PNR PersonCivilRegistrationIdentifier = PNR.ToPnrDecimalString(), // Fill nationality PersonNationalityCode = dbNationality != null?dbNationality.ToCountryIdentificationCodeType() : null, //PNR validity status PersonNummerGyldighedStatusIndikator = ToCivilRegistrationValidityStatusIndicator(), // Address protection NavneAdresseBeskyttelseIndikator = ToAddressProtectionIndicator(), // Church membership FolkekirkeMedlemIndikator = ToChurchMembershipIndicator(), //Use false since we do not have telephone numbers here TelefonNummerBeskyttelseIndikator = ToTelephoneNumberProtectionIndicator(), }); }
public IAddressSource GetFolkeregisterAdresseSource(PersonAddress address, Departure dbDeparture) { return(CurrentAddressStrategy.DefaultStrategy.GetCurrentAddressSource(address, dbDeparture, (PersonCivilRegistrationStatusCode)Status)); }
public AdresseType ToFolkeregisterAdresse(PersonAddress dbAddress, Departure dbDeparture) { return(GetFolkeregisterAdresseSource(dbAddress, dbDeparture).ToAdresseType()); }