Ejemplo n.º 1
0
        public static async Task <QueryableAddress> InsertAddressInEs(ElasticClient elasticClient, string key = null, QueryableAddress addressConfig = null)
        {
            var randomQueryableAddress = CreateConfigurableQueryableAddressRecord(key, addressConfig);
            var response = await elasticClient.IndexAsync(randomQueryableAddress, i =>
                                                          i.Refresh(WaitFor).Index("hackney_addresses"))
                           .ConfigureAwait(true);

            return(randomQueryableAddress);
        }
Ejemplo n.º 2
0
        private static QueryableAddress CreateConfigurableQueryableAddressRecord(string key, QueryableAddress request)
        {
            var fixture             = new Fixture();
            var randomAddressRecord = fixture.Build <QueryableAddress>()
                                      .With(a => a.AddressStatus, request?.AddressStatus ?? "Approved")
                                      .Without(a => a.FullAddress)
                                      .Create();

            if (key != null)
            {
                randomAddressRecord.AddressKey = key;
            }
            if (request?.Postcode != null)
            {
                randomAddressRecord.Postcode = ReplaceEmptyStringWithNull(request.Postcode);
            }
            if (request?.BuildingNumber != null)
            {
                randomAddressRecord.BuildingNumber = request.BuildingNumber;
            }
            if (request?.Street != null)
            {
                randomAddressRecord.Street = request.Street;
            }
            if (request?.UPRN != null && request.UPRN != 0)
            {
                randomAddressRecord.UPRN = request.UPRN;
            }
            if (request?.USRN != null && request.USRN != 0)
            {
                randomAddressRecord.USRN = request.USRN;
            }
            if (request?.UsagePrimary != null)
            {
                randomAddressRecord.UsagePrimary = request.UsagePrimary;
            }
            if (request?.UsageCode != null)
            {
                randomAddressRecord.UsageCode = request.UsageCode;
            }
            if (request?.Gazetteer != null)
            {
                randomAddressRecord.Gazetteer = request.Gazetteer;
            }
            if (request?.OutOfBoroughAddress != null)
            {
                randomAddressRecord.OutOfBoroughAddress = request.OutOfBoroughAddress;
            }
            if (request?.Town != null)
            {
                randomAddressRecord.Town = request.Town;
            }
            if (request?.Street != null)
            {
                randomAddressRecord.Street = request.Street;
            }
            if (request?.PaonStartNumber != null)
            {
                randomAddressRecord.PaonStartNumber = request.PaonStartNumber;
            }
            if (request?.PaonStartNumber == 0)
            {
                randomAddressRecord.PaonStartNumber = null;
            }
            if (request?.PropertyChangeDate != null)
            {
                randomAddressRecord.PropertyChangeDate = request.PropertyChangeDate;
            }
            if (request?.PropertyChangeDate == 0)
            {
                randomAddressRecord.PropertyChangeDate = null;
            }
            if (request?.PropertyStartDate != null)
            {
                randomAddressRecord.PropertyStartDate = request.PropertyStartDate;
            }
            if (request?.BuildingNumber != null)
            {
                randomAddressRecord.BuildingNumber = ReplaceEmptyStringWithNull(request.BuildingNumber);
            }
            if (request?.UnitName != null)
            {
                randomAddressRecord.UnitName = ReplaceEmptyStringWithNull(request.UnitName);
            }
            if (request?.Line1 != null)
            {
                randomAddressRecord.Line1 = request.Line1;
            }
            if (request?.Line2 != null)
            {
                randomAddressRecord.Line2 = request.Line2;
            }
            if (request?.Line3 != null)
            {
                randomAddressRecord.Line3 = request.Line3;
            }
            if (request?.Line4 != null)
            {
                randomAddressRecord.Line4 = request.Line4;
            }
            randomAddressRecord.ParentUPRN    = (request?.ParentUPRN).GetValueOrDefault() == 0 ? null : request.ParentUPRN;
            randomAddressRecord.UnitNumber    = (request?.UnitNumber).GetValueOrDefault() == 0 ? null : request.UnitNumber;
            randomAddressRecord.PropertyShell = request?.PropertyShell ?? false;
            return(randomAddressRecord);
        }