Example #1
0
        private Tuple <string, DynamicParameters> GetWhere(AddressSearchRequest request, DynamicParameters parameters)
        {
            StringBuilder sbWhere = new StringBuilder();

            if (request.UserId.HasValue)
            {
                sbWhere.Append(" AND UserId = @UserId ");
                parameters.Add("@UserId", request.UserId.Value);
            }

            if (request.Province.IsNotNullAndEmpty())
            {
                sbWhere.Append(" AND Province = @Province ");
                parameters.Add("@Province", request.Province);
            }

            if (request.City.IsNotNullAndEmpty())
            {
                sbWhere.Append(" AND City = @City ");
                parameters.Add("@City", request.City);
            }

            if (request.County.IsNotNullAndEmpty())
            {
                sbWhere.Append(" AND County = @County ");
                parameters.Add("@County", request.County);
            }

            return(new Tuple <string, DynamicParameters>(sbWhere.ToString(), parameters));
        }
Example #2
0
        public virtual async Task <ActionResult> ListAjax(AddressSearchRequest request)
        {
            var viewModel = await _addressService.GetAddressesAsync(request);

            if (viewModel.Addresses == null || !viewModel.Addresses.Any())
            {
                return(Content("no-more-info"));
            }
            return(PartialView(MVC.Address.Views._ListAjax, viewModel));
        }
Example #3
0
 public async Task <AddressListViewModel> GetAddressesAsync(AddressSearchRequest request)
 {
     return(new AddressListViewModel
     {
         Addresses = await _addresses.AsNoTracking()
                     .Where(a => a.ApplicantId == request.ApplicantId)
                     .ProjectTo <AddressViewModel>(_mappingEngine)
                     .OrderByDescending(a => a.CreatedOn)
                     .Skip((request.PageIndex - 1) * 5)
                     .Take(5)
                     .ToListAsync(),
         Request = request
     });
 }
Example #4
0
        private Dictionary <string, string> buildQueryString(AddressSearchRequest r)
        {
            var c = new Dictionary <string, string>();

            c.AddIfSet("format", format);
            c.AddIfSet("key", key);
            c.AddIfSet("accept-language", r.PreferredLanguages);
            c.AddIfSet("addressdetails", r.BreakdownAddressElements);
            c.AddIfSet("namedetails", r.ShowAlternativeNames);
            c.AddIfSet("extratags", r.ShowExtraTags);
            c.AddIfSet("email", r.EmailAddress);
            c.AddIfSet("osm_ids", string.Join(",", r.OSMIDs ?? new List <string>()));

            return(c);
        }
Example #5
0
        public async Task <List <AddressInfo> > GetListAsync([FromQuery] AddressSearchRequest request)
        {
            _logger.Info(new LogInfo()
            {
                Method = nameof(GetListAsync), Argument = new { request }, Description = "获取客户地址列表"
            });
            var  userIdClaim = User.Claims.FirstOrDefault(t => t.Type == JwtRegisteredClaimNames.Sid);
            Guid?userId      = userIdClaim != null ? (Guid?)Guid.Parse(userIdClaim.Value) : null;

            if (!request.UserId.HasValue)
            {
                request.UserId = userId;
            }
            return(await _AddressInfoService.GetListAsync(request));
        }
Example #6
0
        public async Task <List <AddressInfo> > GetListAsync(AddressSearchRequest request)
        {
            StringBuilder     sbSql      = new StringBuilder();
            DynamicParameters parameters = new DynamicParameters();

            sbSql.Append(" SELECT * FROM addressinfo WHERE IsDeleted = 0  ");
            var where = this.GetWhere(request, parameters);
            if (where?.Item1?.Length > 0)
            {
                sbSql.Append(where.Item1);
            }
            //添加排序
            sbSql.Append(" Order By CreationTime DESC ");
            using (ReadConnection)
            {
                var r1 = await ReadConnection.QueryAsync <AddressInfo>(sbSql.ToString(), parameters);

                return(r1.ToList());
            }
        }
Example #7
0
        public IEnumerable <Address> GetByCriteria(AddressSearchRequest request)
        {
            var addresses = _repository.GetAll();

            if (!string.IsNullOrWhiteSpace(request.Line1))
            {
                addresses = addresses.Where(x => x.Line1.ToLower().Contains(request.Line1.ToLower()));
            }

            if (!string.IsNullOrWhiteSpace(request.ZipCode))
            {
                addresses = addresses.Where(x => x.ZipCode.ToLower().Contains(request.ZipCode.ToLower()));
            }

            if (!string.IsNullOrWhiteSpace(request.Town))
            {
                addresses = addresses.Where(x => x.Town.ToLower().Contains(request.Town.ToLower()));
            }

            return(addresses);
        }
Example #8
0
        public IList <Model.Address> GetAll(AddressSearchRequest request)
        {
            var query = _context.Address.AsQueryable();

            if (!string.IsNullOrWhiteSpace(request?.Name))
            {
                query = query.Where(x => x.Name == request.Name);
            }


            if (!string.IsNullOrWhiteSpace(request?.StreetNumber))
            {
                query = query.Where(x => x.StreetNumber == request.StreetNumber);
            }

            if (request?.CityId.HasValue == true)
            {
                query = query.Where(x => x.CityId == request.CityId);
            }

            var list = new List <Model.Address>();

            foreach (var item in query.Include(x => x.City).Include(x => x.City.Country).ToList())
            {
                list.Add(new Model.Address
                {
                    AddressId    = item.AddressId,
                    City         = item.City.Name,
                    CityId       = item.CityId,
                    Country      = item.City.Country.Name,
                    Name         = item.Name,
                    StreetNumber = item.StreetNumber,
                    CountryId    = item.City.CountryId
                });
            }

            return(_mapper.Map <IList <Model.Address> >(list));
        }
Example #9
0
        /// <summary>
        /// Lookup the address of one or multiple OSM objects like node, way or relation.
        /// </summary>
        /// <param name="req">Search request object</param>
        /// <returns>Array of lookup reponses</returns>
        public async Task <AddressLookupResponse[]> Lookup(AddressSearchRequest req)
        {
            var result = await WebInterface.GetRequest <AddressLookupResponse[]>(url, buildQueryString(req)).ConfigureAwait(false);

            return(result);
        }
Example #10
0
        public IActionResult GetByCriteria([FromQuery] AddressSearchRequest request)
        {
            var addresses = _addressService.GetByCriteria(request);

            return(Ok(addresses));
        }
Example #11
0
 /// <summary>
 /// 获取地址列表
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public async Task <List <AddressInfo> > GetListAsync(AddressSearchRequest request)
 {
     return(await this.AddressInfoRep.GetListAsync(request));
 }
Example #12
0
 public IList <Model.Address> GetAll([FromQuery] AddressSearchRequest request)
 {
     return(_service.GetAll(request));
 }