Beispiel #1
0
        private async Task <ResponseObject> HandleResponseAsync(string uri)
        {
            string newRealEstateDataJson = HttpWebHandler.DoSSLGet(uri);

            var newRealEstatesData = JsonConvert.DeserializeObject <RealEstateJsonResponseModel>(newRealEstateDataJson);

            if (newRealEstatesData == null || newRealEstatesData.Items == null)
            {
                return(new ResponseObject
                {
                    ResponseStatus = ResponseStatus.BAD_REQUEST,
                    Content = newRealEstateDataJson ?? ""
                });
            }
            else if (newRealEstatesData.Items.Count == 0)
            {
                return(new ResponseObject
                {
                    ResponseStatus = ResponseStatus.NOT_FOUND,
                    Content = newRealEstateDataJson ?? ""
                });
            }
            else
            {
                return(await RealEstatesLookupAsync(newRealEstatesData));
            }
        }
        private async Task <ResponseObject> HandleResponseAsync(string uri)
        {
            string newVehiclesDataJson = HttpWebHandler.DoSSLGet(uri);

            var newVehiclesData = JsonConvert.DeserializeObject <VehicleJsonResponseModel>(newVehiclesDataJson);

            if (newVehiclesData == null && newVehiclesData.Items == null)
            {
                return(new ResponseObject
                {
                    ResponseStatus = ResponseStatus.BAD_REQUEST,
                    Content = string.IsNullOrEmpty(newVehiclesDataJson) ? null : newVehiclesDataJson
                });
            }
            else if (newVehiclesData.Items.Count == 0)
            {
                return(new ResponseObject
                {
                    ResponseStatus = ResponseStatus.NOT_FOUND,
                    Content = string.IsNullOrEmpty(newVehiclesDataJson) ? null : newVehiclesDataJson
                });
            }
            else
            {
                return(await VehiclesLookupAsync(newVehiclesData));
            }
        }
Beispiel #3
0
        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)
            });
        }
        public async Task <ResponseObject> GetTypesFromService(string collectionName)
        {
            string uri = collectionName == "documentTypes" ? $"https://www.tinglysning.dk/tinglysning/ssl/soegvirksomhed/dokumenttyper" :
                         $"https://www.tinglysning.dk/tinglysning/ssl/soegvirksomhed/rolletyper";

            string typesDataJson = HttpWebHandler.DoSSLGet(uri);

            var typesData = JsonConvert.DeserializeObject <Dictionary <string, List <DocumentItem> > >(typesDataJson);

            if (typesData != null && typesData.Count > 0)
            {
                foreach (var type in typesData)
                {
                    var docContent = new Dictionary <string, string> ();
                    if (type.Value.Count > 0)
                    {
                        foreach (var item in type.Value)
                        {
                            docContent.Add(item.Key, item.Val);
                        }
                        await db.Collection(collectionName).Document(type.Key).SetAsync(docContent);
                    }
                }
                return(new ResponseObject
                {
                    ResponseStatus = ResponseStatus.OK,
                    Content = JsonConvert.SerializeObject(typesData)
                });
            }
            else if (typesData.Count == 0)
            {
                return(new ResponseObject
                {
                    ResponseStatus = ResponseStatus.NOT_FOUND,
                    Content = typesDataJson ?? ""
                });
            }
            return(new ResponseObject
            {
                ResponseStatus = ResponseStatus.BAD_REQUEST,
                Content = typesDataJson ?? ""
            });
        }
Beispiel #6
0
        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)
            });
        }