public ActionResult _ForOrder(int id, int sid)
        {
            RequisitionCancelFilterViewModel vm = new RequisitionCancelFilterViewModel();

            vm.RequisitionCancelHeaderId = id;
            vm.PersonId = sid;
            return(PartialView("_Filters", vm));
        }
        public ActionResult _FilterPost(RequisitionCancelFilterViewModel vm)
        {
            List <RequisitionCancelLineViewModel> temp = _RequisitionCancelLineService.GetRequisitionLineForOrders(vm).ToList();
            RequisitionCancelListModel            svm  = new RequisitionCancelListModel();

            svm.RequisitionCancelViewModels = temp;
            return(PartialView("_Results", svm));
        }
Ejemplo n.º 3
0
        public IEnumerable <RequisitionCancelLineViewModel> GetRequisitionLineForOrders(RequisitionCancelFilterViewModel svm)
        {
            string[] ProductIdArr = null;
            if (!string.IsNullOrEmpty(svm.ProductId))
            {
                ProductIdArr = svm.ProductId.Split(",".ToCharArray());
            }
            else
            {
                ProductIdArr = new string[] { "NA" };
            }

            string[] SaleOrderIdArr = null;
            if (!string.IsNullOrEmpty(svm.RequisitionId))
            {
                SaleOrderIdArr = svm.RequisitionId.Split(",".ToCharArray());
            }
            else
            {
                SaleOrderIdArr = new string[] { "NA" };
            }

            string[] CostCenterIdArr = null;
            if (!string.IsNullOrEmpty(svm.CostCenterId))
            {
                CostCenterIdArr = svm.CostCenterId.Split(",".ToCharArray());
            }
            else
            {
                CostCenterIdArr = new string[] { "NA" };
            }

            string[] ProductGroupIdArr = null;
            if (!string.IsNullOrEmpty(svm.ProductGroupId))
            {
                ProductGroupIdArr = svm.ProductGroupId.Split(",".ToCharArray());
            }
            else
            {
                ProductGroupIdArr = new string[] { "NA" };
            }

            string[] Dimension1IdArr = null;
            if (!string.IsNullOrEmpty(svm.Dimension1Id))
            {
                Dimension1IdArr = svm.Dimension1Id.Split(",".ToCharArray());
            }
            else
            {
                Dimension1IdArr = new string[] { "NA" };
            }

            string[] Dimension2IdArr = null;
            if (!string.IsNullOrEmpty(svm.Dimension2Id))
            {
                Dimension2IdArr = svm.Dimension2Id.Split(",".ToCharArray());
            }
            else
            {
                Dimension2IdArr = new string[] { "NA" };
            }


            var Query = (from p in db.ViewRequisitionBalance
                         join product in db.Product on p.ProductId equals product.ProductId into table2
                         from tab2 in table2.DefaultIfEmpty()
                         join t in db.RequisitionLine on p.RequisitionLineId equals t.RequisitionLineId into table1
                         from tab1 in table1.DefaultIfEmpty()
                         join t2 in db.RequisitionHeader on tab1.RequisitionHeaderId equals t2.RequisitionHeaderId
                         where p.BalanceQty > 0 && p.PersonId == svm.PersonId
                         orderby t2.DocDate, t2.DocNo
                         select new
            {
                BalanceQty = p.BalanceQty,
                Qty = 0,
                RequisitionDocNo = p.RequisitionNo,
                ProductName = tab2.ProductName,
                ProductId = p.ProductId,
                RequisitionCancelHeaderId = svm.RequisitionCancelHeaderId,
                RequisitionLineId = p.RequisitionLineId,
                unitDecimalPlaces = tab2.Unit.DecimalPlaces,
                UnitId = tab2.UnitId,
                UnitName = tab2.Unit.UnitName,
                Dimension1Name = tab1.Dimension1.Dimension1Name,
                Dimension2Name = tab1.Dimension2.Dimension2Name,
                Specification = tab1.Specification,

                //ForFilters
                PersonId = p.PersonId,
                RequisitionHeaderId = p.RequisitionHeaderId,
                CostCenterId = p.CostCenterId,
                ProductGorupId = tab2.ProductGroupId,
                Dimension1Id = tab1.Dimension1Id,
                Dimension2Id = tab1.Dimension2Id,
            }
                         );

            if (!string.IsNullOrEmpty(svm.ProductId))
            {
                Query = Query.Where(m => ProductIdArr.Contains(m.ProductId.ToString()));
            }

            if (svm.PersonId != 0)
            {
                Query = Query.Where(m => m.PersonId == svm.PersonId);
            }

            if (!string.IsNullOrEmpty(svm.RequisitionId))
            {
                Query = Query.Where(m => SaleOrderIdArr.Contains(m.RequisitionHeaderId.ToString()));
            }

            if (!string.IsNullOrEmpty(svm.CostCenterId))
            {
                Query = Query.Where(m => CostCenterIdArr.Contains(m.CostCenterId.ToString()));
            }

            if (!string.IsNullOrEmpty(svm.ProductGroupId))
            {
                Query = Query.Where(m => ProductGroupIdArr.Contains(m.ProductGorupId.ToString()));
            }

            if (!string.IsNullOrEmpty(svm.Dimension1Id))
            {
                Query = Query.Where(m => Dimension1IdArr.Contains(m.Dimension1Id.ToString()));
            }

            if (!string.IsNullOrEmpty(svm.Dimension2Id))
            {
                Query = Query.Where(m => Dimension2IdArr.Contains(m.Dimension2Id.ToString()));
            }

            return(Query.Select(m => new RequisitionCancelLineViewModel
            {
                BalanceQty = m.BalanceQty,
                Qty = 0,
                RequisitionDocNo = m.RequisitionDocNo,
                ProductName = m.ProductName,
                ProductId = m.ProductId,
                RequisitionCancelHeaderId = m.RequisitionCancelHeaderId,
                RequisitionLineId = m.RequisitionLineId,
                unitDecimalPlaces = m.unitDecimalPlaces,
                UnitId = m.UnitId,
                UnitName = m.UnitName,
                Dimension1Name = m.Dimension1Name,
                Dimension2Name = m.Dimension2Name,
                Specification = m.Specification,
            }));
        }