public SimplePerson GetSimplePersonByItem(CPRBroker.RegistreringType1 OutputItem) { SimplePerson simplePerson = new SimplePerson(); simplePerson.FirstName = OutputItem.AttributListe.Egenskab[0].NavnStruktur.PersonNameStructure.PersonGivenName; simplePerson.MiddleName = OutputItem.AttributListe.Egenskab[0].NavnStruktur.PersonNameStructure.PersonMiddleName; simplePerson.Surname = OutputItem.AttributListe.Egenskab[0].NavnStruktur.PersonNameStructure.PersonSurnameName; Address address = wrapper.GetAddress(OutputItem); CPRBroker.RegisterOplysningType registerOplysning = null; // Idet navne og adresse beskyttelse tit fremskrives til en bestemt periode, så tjekkes det at den aktive periode anvendes foreach (var RegisterOplysning in OutputItem.AttributListe.RegisterOplysning) { DateTime Fra; DateTime Til; try { Fra = (DateTime)RegisterOplysning.Virkning.FraTidspunkt.Item; } catch { Fra = DateTime.MinValue; } try { Til = (DateTime)RegisterOplysning.Virkning.TilTidspunkt.Item; } catch { Til = DateTime.MaxValue; } if (Fra < DateTime.Now && Til > DateTime.Now) { registerOplysning = RegisterOplysning; break; } } if (registerOplysning == null) { registerOplysning = OutputItem.AttributListe.RegisterOplysning[0]; } if (OutputItem.TilstandListe.LivStatus.LivStatusKode.ToString() == "Doed") { simplePerson.NameAddressProtection = false; simplePerson.Address = new Address() { AddressLine1 = "(Død)" }; } else { simplePerson.NameAddressProtection = ((CPRBroker.CprBorgerType)registerOplysning.Item).NavneAdresseBeskyttelseIndikator; simplePerson.Address = address; } simplePerson.CPR = ((CPRBroker.CprBorgerType)registerOplysning.Item).PersonCivilRegistrationIdentifier; return(simplePerson); }
public Address GetAddress(CPRBroker.RegistreringType1 Item) { Address address = new Address(); var registerOplysningItem = (CPRBroker.CprBorgerType)Item.AttributListe.RegisterOplysning[0].Item; if (registerOplysningItem.FolkeregisterAdresse != null) { CPRBroker.AdresseBaseType adresse = registerOplysningItem.FolkeregisterAdresse.Item; if (adresse is CPRBroker.DanskAdresseType) { CPRBroker.AddressPostalType danishAddress = ((CPRBroker.DanskAdresseType)adresse).AddressComplete.AddressPostal; string streetNameAndNumber = danishAddress.StreetName + " " + ParseAddressField(danishAddress.StreetBuildingIdentifier); string floorSuite = ParseAddressField(danishAddress.FloorIdentifier) == "" ? ParseAddressField(danishAddress.SuiteIdentifier) : (ParseAddressField(danishAddress.FloorIdentifier) + (ParseAddressField(danishAddress.SuiteIdentifier) == "" ? "" : "," + ParseAddressField(danishAddress.SuiteIdentifier))); floorSuite = Regex.Replace(floorSuite, @"(^|\s)(st|tv|th)\b", "$1$2.", RegexOptions.IgnoreCase); address.AddressLine1 = (streetNameAndNumber + (floorSuite == "" ? "" : ", " + floorSuite)).Trim(); address.AddressLine2 = (ParseAddressField(danishAddress.PostCodeIdentifier) + " " + ParseAddressField(danishAddress.DistrictName)).Trim(); } else if (adresse is CPRBroker.GroenlandAdresseType) { CPRBroker.AddressCompleteGreenlandType greenlandAddress = ((CPRBroker.GroenlandAdresseType)adresse).AddressCompleteGreenland; string streetNameAndNumber = greenlandAddress.StreetName + " " + ParseAddressField(greenlandAddress.StreetBuildingIdentifier); string floorSuite = ParseAddressField(greenlandAddress.FloorIdentifier) + ParseAddressField(greenlandAddress.SuiteIdentifier) == "" ? "" : "," + ParseAddressField(greenlandAddress.SuiteIdentifier); address.AddressLine1 = (streetNameAndNumber + (floorSuite == "" ? "" : ", " + floorSuite)).Trim(); address.AddressLine2 = (ParseAddressField(greenlandAddress.PostCodeIdentifier) + " " + ParseAddressField(greenlandAddress.DistrictName)).Trim(); address.AddressLine3 = "Grønland"; } else if (adresse is CPRBroker.VerdenAdresseType) { CPRBroker.ForeignAddressStructureType foreignAddress = ((CPRBroker.VerdenAdresseType)adresse).ForeignAddressStructure; address.AddressLine1 = foreignAddress.PostalAddressFirstLineText; address.AddressLine2 = foreignAddress.PostalAddressSecondLineText; address.AddressLine3 = foreignAddress.PostalAddressThirdLineText; address.AddressLine4 = foreignAddress.PostalAddressFourthLineText; address.AddressLine5 = foreignAddress.PostalAddressFifthLineText; } else { throw new CPRBrokerWrapperException(String.Format("CPRBrokerWrapper: Unexpected AdresseBaseType derived type: {0}", adresse.GetType().Name)); } } return(address); }