private async Task <ResponseObject> RealEstatesLookupAsync(RealEstateJsonResponseModel realEstatesData) { var realEstates = new List <RealEstate>(); foreach (var item in realEstatesData.Items.Take(10)) { var newRealEstateUuid = item.Uuid; var document = await collection.Document(newRealEstateUuid).GetSnapshotAsync(); if (document.Exists) { realEstates.Add(document.ConvertTo <RealEstate>()); } else { string bulletinUri = $"https://www.tinglysning.dk/tinglysning/ssl/ejdsummarisk/{newRealEstateUuid}"; string newRealEstateDataXml = HttpWebHandler.DoSSLGet(bulletinUri); var newRealEstateData = XmlSerializerHelper <EjendomSummariskHentResultat> .Deserialaize(newRealEstateDataXml); if (newRealEstateData != null) { var newRealEstate = new RealEstate() { Uuid = newRealEstateUuid, MunicipalityCode = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.AdresseStruktur?.AddressSpecific?.AddressAccess?.MunicipalityCode, StreetName = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.AdresseStruktur?.StreetName, StreetCode = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.AdresseStruktur?.AddressSpecific?.AddressAccess?.StreetCode, StreetBuildingIdentifier = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.AdresseStruktur?.AddressSpecific?.AddressAccess?.StreetBuildingIdentifier, FloorIdentifier = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.AdresseStruktur?.AddressSpecific?.FloorIdentifier, SuiteIdentifier = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.AdresseStruktur?.AddressSpecific?.SuiteIdentifier, ApartmentNumber = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.EjendomIdentifikator?.EjendomType?.Ejerlejlighed?.Ejerlejlighedsnummer, PostCodeIdentifier = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.AdresseStruktur?.PostCodeIdentifier, DistrictName = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.AdresseStruktur?.DistrictName, DistrictSubdivisionIdentifier = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.AdresseStruktur?.DistrictSubdivisionIdentifier, UnmatriculatedType = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.EjendomIdentifikator?.Umatrikuleretareal?.UmatrikuleretType, UnmatriculatedIdentifier = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.EjendomIdentifikator?.Umatrikuleretareal?.UmatrikuleretIdentifikator, UnmatriculatedArealDescription = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.EjendomIdentifikator?.Umatrikuleretareal?.UmatrikuleretarealBeskrivelse, CertainRealEstateNumber = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.EjendomIdentifikator?.BestemtFastEjendomNummer, MunicipalRealEstateIdentifier = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.EjendomVurderingSamling?.EjendomVurderingStruktur?.RealPropertyStructure?.MunicipalRealPropertyIdentifier, RealEstateValue = newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.EjendomVurderingSamling?.EjendomVurderingStruktur?.EjendomVaerdi, Cadastrals = await ConvertCadastralsListAsync(newRealEstateData.EjendomSummarisk?.EjendomStamoplysninger?.EjendomIdentifikator?.Matrikel, newRealEstateUuid), }; await collection.Document(newRealEstateUuid).SetAsync(newRealEstate); realEstates.Add(newRealEstate); } } } return(new ResponseObject() { ResponseStatus = realEstates.Count > 0 ? ResponseStatus.OK : ResponseStatus.NOT_FOUND, Content = JsonConvert.SerializeObject(realEstates) }); }
private async Task <ResponseObject> VehiclesLookupAsync(VehicleJsonResponseModel vehiclesData) { var vehicles = new List <Vehicle>(); foreach (var item in vehiclesData.Items.Take(10)) { var newVehicleUuid = item.Uuid; var document = await collection.Document(newVehicleUuid).GetSnapshotAsync(); if (document.Exists) { vehicles.Add(document.ConvertTo <Vehicle>()); } else { string bulletinUri = $"https://www.tinglysning.dk/tinglysning/unsecrest/bil/uuid/{newVehicleUuid}"; string newVehicleDataXml = HttpWebHandler.DoSSLGet(bulletinUri); var newVehicleData = XmlSerializerHelper <BilSummariskHentResultat> .Deserialaize(newVehicleDataXml); if (newVehicleData != null) { var newVehicle = new Vehicle() { Uuid = newVehicleUuid, ChassisNumber = newVehicleData.BilSummarisk?.BilStamoplysninger?.BilIdentifikator?.Stelnummer, CarManufacturer = newVehicleData.BilSummarisk?.BilStamoplysninger?.BilStruktur?.BilMaerke?.BilFabrikatTekst, CarModel = newVehicleData.BilSummarisk?.BilStamoplysninger?.BilStruktur?.BilMaerke?.BilModelTekst, Variant = newVehicleData.BilSummarisk?.BilStamoplysninger?.BilStruktur?.BilMaerke?.BilVariantTekst, RegistrationNumber = newVehicleData.BilSummarisk?.BilStamoplysninger?.BilStruktur?.RegistreringsnummerTekst, FirstRegistrationYear = newVehicleData.BilSummarisk?.BilStamoplysninger?.BilStruktur?.FoersteRegistreringsAar, ModelId = newVehicleData.BilSummarisk?.ModelId, TranscriptDateAndTime = newVehicleData.UdskriftDatoTid, ReviewReceivedIndicator = newVehicleData.AnmeldelseModtagetIndikator }; await collection.Document(newVehicleUuid).SetAsync(newVehicle); vehicles.Add(newVehicle); } } } return(new ResponseObject() { ResponseStatus = vehicles.Count > 0 ? ResponseStatus.OK : ResponseStatus.NOT_FOUND, Content = JsonConvert.SerializeObject(vehicles) }); }
private async Task <ResponseObject> HousingCooperativesLookupAsync(HousingCooperativesJsonResponseModel housingCooperativesData) { var housingCooperatives = new List <HousingCooperative>(); foreach (var item in housingCooperativesData.Items) { if (string.IsNullOrEmpty(item.Uuid)) { Query housingCooperativesQuery = collection .WhereEqualTo("streetName", item.Vejnavn) .WhereEqualTo("streetBuildingIdentifier", item.Husnummer) .WhereEqualTo("postCodeIdentifier", item.Postnummer) .WhereEqualTo("floorIdentifier", item.Etage) .WhereEqualTo("sideDoor", item.Side); QuerySnapshot housingCooperativesSnapshot = await housingCooperativesQuery.GetSnapshotAsync(); if (housingCooperativesSnapshot.Count > 0) { foreach (var i in housingCooperativesSnapshot.Documents) { housingCooperatives.Add(i.ConvertTo <HousingCooperative>()); } } else { var newHousingCooperative = new HousingCooperative() { MunicipalityCode = item.Kommunenummer, StreetName = item.Vejnavn, StreetCode = item.Vejkode, StreetBuildingIdentifier = item.Husnummer, PostCodeIdentifier = item.Postnummer, DistrictName = item.Kommunenavn, FloorIdentifier = item.Etage, SuiteIdentifier = item.Side }; housingCooperatives.Add(newHousingCooperative); await collection.Document().SetAsync(newHousingCooperative); } } else { var newHousingCooperativeUuid = item.Uuid; var document = await collection.Document(newHousingCooperativeUuid).GetSnapshotAsync(); if (document.Exists) { housingCooperatives.Add(document.ConvertTo <HousingCooperative>()); } else { string bulletinUri = $"https://www.tinglysning.dk/tinglysning/ssl/andelsbolig/andelsbolig/{newHousingCooperativeUuid}"; string newHousingCooperativeDataXml = HttpWebHandler.DoSSLGet(bulletinUri); var newHousingCooperativeData = XmlSerializerHelper <AndelSummariskHentResultat> .Deserialaize(newHousingCooperativeDataXml); if (newHousingCooperativeData != null) { var newHousingCooperative = new HousingCooperative() { Uuid = newHousingCooperativeUuid, MunicipalityCode = newHousingCooperativeData.AndelSummarisk.AndelStamoplysninger.AndelIdentifikator.MunicipalityCode, StreetName = newHousingCooperativeData.AndelSummarisk.AndelStamoplysninger.AdresseStruktur.StreetName, StreetCode = newHousingCooperativeData.AndelSummarisk.AndelStamoplysninger.AndelIdentifikator.StreetCode, StreetBuildingIdentifier = newHousingCooperativeData.AndelSummarisk.AndelStamoplysninger.AndelIdentifikator.StreetBuildingIdentifier, PostCodeIdentifier = newHousingCooperativeData.AndelSummarisk.AndelStamoplysninger.AdresseStruktur.PostCodeIdentifier, DistrictName = newHousingCooperativeData.AndelSummarisk.AndelStamoplysninger.AdresseStruktur.DistrictName, FloorIdentifier = newHousingCooperativeData.AndelSummarisk.AndelStamoplysninger.AndelIdentifikator.FloorIdentifier, SuiteIdentifier = newHousingCooperativeData.AndelSummarisk.AndelStamoplysninger.AndelIdentifikator.SideDoerTekst }; await collection.Document(newHousingCooperativeUuid).SetAsync(newHousingCooperative); housingCooperatives.Add(newHousingCooperative); } } } } return(new ResponseObject() { ResponseStatus = housingCooperatives.Count > 0 ? ResponseStatus.OK : ResponseStatus.NOT_FOUND, Content = JsonConvert.SerializeObject(housingCooperatives) }); }