Esempio n. 1
0
        public async Task <AddressSearchResult> GetModelListAsync(long?userId, string keyword, DateTime?startTime, DateTime?endTime, int pageIndex, int pageSize)
        {
            using (MyDbContext dbc = new MyDbContext())
            {
                AddressSearchResult result = new AddressSearchResult();
                var entities = dbc.GetAll <AddressEntity>().AsNoTracking();
                if (userId != null)
                {
                    entities = entities.Where(a => a.UserId == userId);
                }
                if (!string.IsNullOrEmpty(keyword))
                {
                    entities = entities.Where(g => g.Name.Contains(keyword) || g.Description.Contains(keyword));
                }
                if (startTime != null)
                {
                    entities = entities.Where(a => a.CreateTime >= startTime);
                }
                if (endTime != null)
                {
                    entities = entities.Where(a => SqlFunctions.DateDiff("day", endTime, a.CreateTime) <= 0);
                }
                result.PageCount = (int)Math.Ceiling((await entities.LongCountAsync()) * 1.0f / pageSize);
                var addressResult = await entities.OrderByDescending(a => a.CreateTime).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToListAsync();

                result.Address = addressResult.Select(a => ToDTO(a)).ToArray();
                return(result);
            }
        }
Esempio n. 2
0
        public AddressSearchResult FindAddresses(string postcode)
        {
            _logger.Debug("Calling SearchProvider to find out the addresses for postcode {0}.", postcode);

            var addressSearchViewModel = new AddressSearchResult();

            try
            {
                IEnumerable <Address> addresses = _addressSearchService.FindAddress(postcode).OrderBy(x => x.Uprn);
                addressSearchViewModel.Addresses = _apprenticeshipSearchMapper.Map <IEnumerable <Address>, IEnumerable <AddressViewModel> >(addresses);
            }
            catch (CustomException e)
            {
                var message = string.Format("FindAddresses for postcode {0} failed.", postcode);
                _logger.Error(message, e);
                addressSearchViewModel.ErrorMessage = e.Message;
                addressSearchViewModel.HasError     = true;
            }
            catch (Exception e)
            {
                var message = string.Format("FindAddresses for postcode {0} failed.", postcode);
                _logger.Error(message, e);
                throw;
            }

            return(addressSearchViewModel);
        }
        public async Task <AddressSearchResult> GetFullAddressByRecordId(string gnafId)
        {
            string serviceRequestedQueryString = "{0}/ProcessQueryStringRequest?Method=DataTools.Capture.Address.Predictive.Gnaf.RetrieveAddress&RecordId={1}&RequestKey={2}&OutputFormat=json";

            var qualifiedQueryString = string.Format(serviceRequestedQueryString, _serviceURL, gnafId, _serviceRequestKey);

            var request = new HttpRequestMessage(HttpMethod.Get, qualifiedQueryString);

            var client = _clientFactory.CreateClient();

            var response = await client.SendAsync(request);

            var singleResult = new AddressSearchResult();

            if (response.IsSuccessStatusCode)
            {
                var result        = response.Content.ReadAsStringAsync().Result;
                var kleberAddress = JsonConvert.DeserializeObject <KleberMultipleAddress>(result);

                if (kleberAddress != null && kleberAddress.DtResponse != null && kleberAddress.DtResponse.Result.Count() > 0)
                {
                    singleResult = kleberAddress.DtResponse.Result[0];
                }
            }

            return(singleResult);
        }
Esempio n. 4
0
        public async Task <ApiResult> List(AddressListModel model)
        {
            User user = JwtHelper.JwtDecrypt <User>(ControllerContext);
            AddressSearchResult result = await addressService.GetModelListAsync(user.Id, null, null, null, model.PageIndex, model.PageSize);

            AddressListApiModel res = new AddressListApiModel();

            res.pageCount   = result.PageCount;
            res.addressList = result.Address.Select(a => new AddressList {
                id = a.Id, address = a.Address, name = a.Name, mobile = a.Mobile, isDefault = a.IsDefault
            }).ToList();
            return(new ApiResult {
                status = 1, data = res
            });
        }
Esempio n. 5
0
        public async Task GetStreetUniqueId_ShouldReturnFirstResult_IfResponseNotNull()
        {
            // Arrange
            var map = new Map
            {
                Street = $"{_street}, {_usrn}"
            };

            var firstResult = new AddressSearchResult
            {
                UniqueId = "654321",
                USRN     = _usrn,
                Name     = "Street, Town"
            };

            var secondResult = new AddressSearchResult
            {
                UniqueId = "777777",
                USRN     = "555555",
                Name     = "Different Street"
            };

            _mockVerintGateway
            .Setup(_ => _.GetStreetByUsrn(It.IsAny <string>()))
            .ReturnsAsync(new HttpResponse <List <AddressSearchResult> >
            {
                ResponseContent = new List <AddressSearchResult>
                {
                    firstResult,
                    secondResult
                }
            });

            // Act
            var result = await _streetHelper.GetStreetUniqueId(map);

            // Assert
            Assert.Equal(firstResult.UniqueId, result.UniqueId);
            Assert.Equal(firstResult.USRN, result.USRN);
            Assert.Equal(firstResult.Name, result.Name);
        }
        public async Task <ActionResult> GetGeoCode([FromRoute] string gnafId, [FromRoute] string displayLine)
        {
            string serviceRequestedQueryString = "{0}/ProcessQueryStringRequest?Method=DataTools.Capture.Address.Predictive.Gnaf.RetrieveGeocode&RecordId={1}&RequestKey={2}&OutputFormat=json";

            var qualifiedQueryString = string.Format(serviceRequestedQueryString, _serviceURL, gnafId, _serviceRequestKey);

            var request = new HttpRequestMessage(HttpMethod.Get, qualifiedQueryString);

            var client = _clientFactory.CreateClient();

            var response = await client.SendAsync(request);

            var singleResult = new AddressSearchResult();

            if (response.IsSuccessStatusCode)
            {
                var result        = response.Content.ReadAsStringAsync().Result;
                var kleberAddress = JsonConvert.DeserializeObject <KleberMultipleAddress>(result);

                if (kleberAddress != null && kleberAddress.DtResponse != null && kleberAddress.DtResponse.Result.Count() > 0)
                {
                    singleResult = kleberAddress.DtResponse.Result[0];
                    singleResult.IsInWesternSydney = IsInWesternSydney(singleResult.Longitude, singleResult.Latitude);

                    var fullAddress = await GetFullAddressByRecordId(gnafId);

                    singleResult.DisplayLine = displayLine;
                    singleResult.AddressLine = fullAddress.AddressLine;
                    singleResult.Locality    = fullAddress.Locality;
                    singleResult.State       = fullAddress.State;
                    singleResult.Postcode    = fullAddress.Postcode;
                }
            }

            return(Ok(singleResult));
        }
Esempio n. 7
0
 public void Asr_Create()
 {
     var results = new AddressSearchResult(sc, new List <AddressSearchHit>());
 }
Esempio n. 8
0
 public void Asr_Create()
 {
     var results = new AddressSearchResult(sc, new List <ProgramAddress>(), AddressSearchDetails.Code);
 }
 public void Asr_Create()
 {
     var results = new AddressSearchResult(sc, new List<AddressSearchHit>());
 }