Exemplo n.º 1
0
        public async Task <PagedList <TransferLocation_Dto> > Search(TransferLocationParam transferLocationParam, PaginationParams paginationParams)
        {
            DateTime t1    = Convert.ToDateTime(transferLocationParam.FromDate);
            DateTime t2    = DateTime.Parse(transferLocationParam.ToDate + " 23:59:59");// ép về kiểu ngày truyền vào và giờ là 23h59'
            var      model = _repoTransactionMain.FindAll(x => x.Transac_Time >= t1 && x.Transac_Time <= t2 && x.Transac_Type != "R");

            if (transferLocationParam.Status != string.Empty && transferLocationParam.Status != null)
            {
                model = model.Where(x => x.Transac_Type.Trim() == transferLocationParam.Status.Trim());
            }

            var data = model.Select(x => new TransferLocation_Dto {
                Batch        = x.MO_Seq,
                FromLocation = "",
                Qty          = _repoTransactionDetail.GetQtyByTransacNo(x.Transac_No),
                UpdateBy     = x.Updated_By,
                TransferNo   = x.Transac_No.Trim(),
                TransacTime  = x.Transac_Time,
                PlanNo       = x.MO_No,
                MatId        = x.Material_ID,
                MatName      = x.Material_Name,
                ToLocation   = x.Rack_Location,
                Id           = x.ID,
                TransacType  = x.Transac_Type.Trim()
            });

            return(await PagedList <TransferLocation_Dto> .CreateAsync(data, paginationParams.PageNumber, paginationParams.PageSize));
        }
Exemplo n.º 2
0
        public async Task <PagedList <TransferLocation_Dto> > Search(TransferLocationParam transferLocationParam, PaginationParams paginationParams)
        {
            var pred_Transaction_Main = PredicateBuilder.New <WMSB_Transaction_Main>(true);
            var packingList           = _repoPackingList.FindAll();

            pred_Transaction_Main.And(x => x.Transac_Type.Trim() != "R");
            if (transferLocationParam.FromDate != "" && transferLocationParam.ToDate != "")
            {
                DateTime t1 = Convert.ToDateTime(transferLocationParam.FromDate + " 00:00:00.000");
                DateTime t2 = DateTime.Parse(transferLocationParam.ToDate + " 23:59:59");// ép về kiểu ngày truyền vào và giờ là 23h59'
                pred_Transaction_Main.And(x => x.Transac_Time >= t1 && x.Transac_Time <= t2);
            }
            if (!String.IsNullOrEmpty(transferLocationParam.Status))
            {
                pred_Transaction_Main.And(x => x.Transac_Type.Trim() == transferLocationParam.Status.Trim());
            }
            if (!String.IsNullOrEmpty(transferLocationParam.MoNo))
            {
                pred_Transaction_Main.And(x => x.MO_No.Trim() == transferLocationParam.MoNo.Trim());
            }
            if (!String.IsNullOrEmpty(transferLocationParam.MaterialId))
            {
                pred_Transaction_Main.And(x => x.Material_ID.Trim() == transferLocationParam.MaterialId.Trim());
            }
            var model = _repoTransactionMain.FindAll(pred_Transaction_Main).ProjectTo <Transaction_Main_Dto>(_configMapper);

            if (!String.IsNullOrEmpty(transferLocationParam.Supplier_ID) && transferLocationParam.Supplier_ID.Trim() != "All")
            {
                packingList = packingList.Where(x => x.Supplier_ID.Trim() == transferLocationParam.Supplier_ID.Trim());
            }
            var packingListQuery = packingList.Select(x => new { x.MO_No, x.Purchase_No, x.MO_Seq, x.Material_ID }).Distinct();
            var data             = (from a in model join b in packingListQuery on
                                    new { Mono = a.MO_No.Trim(), PurchaseNo = a.Purchase_No.Trim(), Batch = a.MO_Seq, MaterialID = a.Material_ID.Trim() }
                                    equals new { Mono = b.MO_No.Trim(), PurchaseNo = b.Purchase_No.Trim(), Batch = b.MO_Seq, MaterialID = b.Material_ID.Trim() }
                                    select new TransferLocation_Dto()
            {
                Batch = a.MO_Seq,
                FromLocation = "",
                Qty = a.Transac_Type.Trim() == "O" ? _repoTransactionDetail.GetTransQtyByTransacNo(a.Transac_No) : _repoTransactionDetail.GetQtyByTransacNo(a.Transac_No),
                UpdateBy = a.Updated_By,
                TransferNo = a.Transac_No.Trim(),
                TransacTime = a.Transac_Time,
                PlanNo = a.MO_No.Trim(),
                MatId = a.Material_ID.Trim(),
                MatName = a.Material_Name,
                ToLocation = a.Rack_Location,
                Id = a.ID,
                TransacType = a.Transac_Type.Trim()
            }).OrderBy(x => x.TransacType).ThenBy(x => x.MatId).ThenByDescending(x => x.TransacTime);

            return(await PagedList <TransferLocation_Dto> .CreateAsync(data, paginationParams.PageNumber, paginationParams.PageSize));
        }
        public async Task <IActionResult> Search([FromQuery] PaginationParams paginationParams, TransferLocationParam transferLocationParam)
        {
            var result = await _service.Search(transferLocationParam, paginationParams);

            Response.AddPagination(result.CurrentPage, result.PageSize, result.TotalCount, result.TotalPages);
            return(Ok(result));
        }