public Task <AddressLookupResult> GetAddressesForPostcode(string postcode)
        {
            var result = new AddressLookupResult();

            if (postcode == "test-invalid")
            {
                result.IsValid = false;
                result.Errors  = new string[] { "Invalid Postcode" };
            }
            else if (postcode == "test-empty")
            {
                result.IsValid   = true;
                result.Addresses = new List <PartialAddress>();
            }
            else
            {
                result.IsValid        = true;
                result.AddressesFound = 2;
                result.Addresses      = new List <PartialAddress> {
                    new PartialAddress {
                        Address = "Apt 91, 41 Essex Street, West Midlands, Birmingham, B5 4TT", Id = AddressId1
                    },
                    new PartialAddress {
                        Address = "25A Westbourne Grove, City of London, London, W2 4UA", Id = AddressId2
                    },
                };
            }

            return(Task.FromResult(result));
        }
Пример #2
0
        public void MapAddresses(AddressLookupResult lookupResult)
        {
            var result = new List <SelectListItem>();

            this.Addresses = result;
            if (lookupResult.Addresses == null || lookupResult.Addresses.Count() == 0)
            {
                result.Add(new SelectListItem("No addresses found", "", true, true));
                return;
            }
            result.Add(new SelectListItem($"{lookupResult.AddressesFound} addresses found", "", true, true));
            result.AddRange(lookupResult.Addresses.Select(x => new SelectListItem(x.Address, x.Id)));
        }
        public async Task <AddressLookupResult> GetAddressesForPostcode(string postcode)
        {
            var lookupResult = await this.LookupClient.GetDataAsync(postcode);

            var result = new AddressLookupResult
            {
                IsValid        = !lookupResult.IsInvalidSearch,
                Errors         = new[] { lookupResult.Error },
                AddressesFound = lookupResult.AddressesFound,
                Addresses      = lookupResult.Addresses?.Select(x =>
                                                                new PartialAddress
                {
                    Address = x.Address,
                    Id      = x.AddressUrl
                })
                                 .ToList()
            };

            return(result);
        }