public async Task <DispositionPurchaseIndexDto> GetAll(string keyword, int page, int size, string filter, string order)
        {
            IQueryable <GarmentDispositionPurchase> Query = dbSet;

            if (!string.IsNullOrWhiteSpace(identityService.Username))
            {
                Query = Query.Where(x => x.CreatedBy == identityService.Username);
            }

            Query = Query
                    .AsNoTracking()
                    .Include(p => p.GarmentDispositionPurchaseItems)
                    .ThenInclude(p => p.GarmentDispositionPurchaseDetails)
                    //.Where(s=> s.Position == PurchasingGarmentExpeditionPosition.Purchasing)
                    .AsQueryable();

            if (keyword != null)
            {
                Query = Query.Where(s => s.DispositionNo.Contains(keyword) || s.SupplierName.Contains(keyword));
            }

            //var countData = dataModel.Count();

            //var dataList = await dataModel.ToListAsync();


            //var Query = dataModel;

            List <string> searchAttributes = new List <string>()
            {
                "DispositionNo"
            };

            Query = QueryHelper <GarmentDispositionPurchase> .ConfigureSearch(Query, searchAttributes, keyword);


            Dictionary <string, string> FilterDictionary = JsonConvert.DeserializeObject <Dictionary <string, string> >(filter);

            //override by user
            //FilterDictionary.Add("CreatedBy", identityService.Username);
            Query = QueryHelper <GarmentDispositionPurchase> .ConfigureFilter(Query, FilterDictionary);

            Dictionary <string, string> OrderDictionary = JsonConvert.DeserializeObject <Dictionary <string, string> >(order);

            Query = QueryHelper <GarmentDispositionPurchase> .ConfigureOrder(Query, OrderDictionary);

            Pageable <GarmentDispositionPurchase> pageable = new Pageable <GarmentDispositionPurchase>(Query, page - 1, size);
            List <GarmentDispositionPurchase>     Data     = pageable.Data.ToList();
            int TotalData = pageable.TotalCount;

            var model = mapper.Map <List <GarmentDispositionPurchase>, List <DispositionPurchaseTableDto> >(Data.ToList());

            var indexModel = new DispositionPurchaseIndexDto(model, page, TotalData);

            return(indexModel);
        }
Exemple #2
0
        public async Task <DispositionPurchaseIndexDto> GetAll(string keyword, int page, int size)
        {
            var dataModel = dbSet
                            .AsNoTracking()
                            .Include(p => p.GarmentDispositionPurchaseItems)
                            .ThenInclude(p => p.GarmentDispositionPurchaseDetails).AsQueryable();

            if (keyword != null)
            {
                dataModel = dataModel.Where(s => s.DispositionNo.Contains(keyword) || s.SupplierName.Contains(keyword));
            }

            var countData = dataModel.Count();

            var dataList = await dataModel.ToListAsync();

            var model = mapper.Map <List <GarmentDispositionPurchase>, List <DispositionPurchaseTableDto> >(dataList);

            var indexModel = new DispositionPurchaseIndexDto(model, page, countData);

            return(indexModel);
        }