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)); }
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); }