예제 #1
0
        public Models.ResponseModels.EbayItemSearchResponse GetImports(Models.RequestModels.StagingEbayItemRequest searchRequest)
        {
            int batchId = 0;

            if (!string.IsNullOrEmpty(searchRequest.BatchId))
            {
                if (!int.TryParse(searchRequest.BatchId, out batchId))
                {
                    batchId = -1;
                }
            }


            int fromRow = (searchRequest.PageNo - 1) * searchRequest.PageSize;
            int toRow   = searchRequest.PageSize;
            Expression <Func <StagingEbayItem, bool> > query =
                s => (
                    (
                        (string.IsNullOrEmpty(searchRequest.StagingEbayTitle) || s.Title.Contains(searchRequest.StagingEbayTitle)) &&
                        (batchId == 0 || s.EbayBatchImportId.Equals(batchId)) &&
                        (string.IsNullOrEmpty(searchRequest.AFASerial) || s.AFASerial.Contains(searchRequest.AFASerial)) &&
                        (string.IsNullOrEmpty(searchRequest.ToyGraderID) || s.ToyGraderItemId.Value.ToString().Contains(searchRequest.AFASerial)) &&
                        (searchRequest.CreatedOn == null || EntityFunctions.TruncateTime(s.CreatedOn) == searchRequest.CreatedOn.Value)



                    )


                    );
            IEnumerable <StagingEbayItem> oList =
                searchRequest.IsAsc
                    ? DbSet.Where(query)
                .OrderBy(batchClause[searchRequest.EbayItemOrderBy])
                .Skip(fromRow)
                .Take(toRow)
                .ToList()
                    : DbSet.Where(query)
                .OrderByDescending(batchClause[searchRequest.EbayItemOrderBy])
                .Skip(fromRow)
                .Take(toRow)
                .ToList();

            return(new EbayItemSearchResponse {
                EbayItemImports = oList, TotalCount = DbSet.Count(), FilteredCount = DbSet.Count(query)
            });
        }
 public Models.ResponseModels.EbayItemSearchResponse GetImports(Models.RequestModels.StagingEbayItemRequest oReq)
 {
     return(istgEbayItemRepository.GetImports(oReq));
 }