Exemple #1
0
 /// <summary>
 /// Get Areas
 /// </summary>
 public AreaSearchRequestResponse Get([FromUri] AreaSearchRequest request)
 {
     if (request == null || !ModelState.IsValid)
     {
         throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request");
     }
     return(areaService.SearchArea(request).CreateFrom());
 }
Exemple #2
0
        /// <summary>
        /// Search Area
        /// </summary>
        public AreaSearchRequestResponse SearchArea(AreaSearchRequest request)
        {
            int rowCount;

            return(new AreaSearchRequestResponse
            {
                Areas = areaRepository.SearchArea(request, out rowCount),
                TotalCount = rowCount
            });
        }
Exemple #3
0
        /// <summary>
        /// Search Area
        /// </summary>
        public IEnumerable <Area> SearchArea(AreaSearchRequest request, out int rowCount)
        {
            int fromRow = (request.PageNo - 1) * request.PageSize;
            int toRow   = request.PageSize;
            Expression <Func <Area, bool> > query =
                city =>
                (string.IsNullOrEmpty(request.AreaFilterText) ||
                 (city.AreaCode.Contains(request.AreaFilterText)) ||
                 (city.AreaName.Contains(request.AreaFilterText))) && (
                    (!request.CityId.HasValue || request.CityId == city.CityId));

            rowCount = DbSet.Count(query);
            return(request.IsAsc
                ? DbSet.Where(query)
                   .OrderBy(areaOrderByClause[request.AreaOrderBy])
                   .Skip(fromRow)
                   .Take(toRow)
                   .ToList()
                : DbSet.Where(query)
                   .OrderByDescending(areaOrderByClause[request.AreaOrderBy])
                   .Skip(fromRow)
                   .Take(toRow)
                   .ToList());
        }