コード例 #1
0
        public ActionResult _CreateMultiple(int id)
        {
            ProdOrderCancelFilterViewModel vm = new ProdOrderCancelFilterViewModel();

            vm.ProdOrderCancelHeaderId = id;
            return(PartialView("_Filters", vm));
        }
コード例 #2
0
        public ActionResult _FilterPost(ProdOrderCancelFilterViewModel vm)
        {
            List <ProdOrderCancelLineViewModel> temp = _ProdOrderCancelLineService.GetProdOrderLineForMultiSelect(vm).ToList();
            ProdOrderCancelMasterDetailModel    svm  = new ProdOrderCancelMasterDetailModel();

            svm.ProdOrderCancelViewModels = temp;
            return(PartialView("_Results", svm));
        }
コード例 #3
0
        public IEnumerable <ProdOrderCancelLineViewModel> GetProdOrderLineForMultiSelect(ProdOrderCancelFilterViewModel svm)
        {
            var Header = new ProdOrderCancelHeaderService(_unitOfWork).Find(svm.ProdOrderCancelHeaderId);

            var settings = new ProdOrderSettingsService(_unitOfWork).GetProdOrderSettingsForDocument(Header.DocTypeId, Header.DivisionId, Header.SiteId);

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

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

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

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

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

            string[] contraDocTypes = null;
            if (!string.IsNullOrEmpty(settings.filterContraDocTypes))
            {
                contraDocTypes = settings.filterContraDocTypes.Split(",".ToCharArray());
            }
            else
            {
                contraDocTypes = new string[] { "NA" };
            }

            string[] contraSites = null;
            if (!string.IsNullOrEmpty(settings.filterContraSites))
            {
                contraSites = settings.filterContraSites.Split(",".ToCharArray());
            }
            else
            {
                contraSites = new string[] { "NA" };
            }

            string[] contraDivisions = null;
            if (!string.IsNullOrEmpty(settings.filterContraDivisions))
            {
                contraDivisions = settings.filterContraDivisions.Split(",".ToCharArray());
            }
            else
            {
                contraDivisions = new string[] { "NA" };
            }

            var temp = (from p in db.ViewProdOrderBalance
                        join product in db.Product on p.ProductId equals product.ProductId into table2
                        from tab2 in table2.DefaultIfEmpty()
                        join t3 in db.Units on tab2.UnitId equals t3.UnitId into table3
                        from tab3 in table3.DefaultIfEmpty()
                        join t2 in db.ProdOrderLine on p.ProdOrderLineId equals t2.ProdOrderLineId
                        where p.BalanceQty > 0
                        select new
            {
                BalanceQty = p.BalanceQty,
                Qty = p.BalanceQty,
                ProdOrderNo = p.ProdOrderNo,
                ProductName = tab2.ProductName,
                ProductId = p.ProductId,
                ProdOrderCancelHeaderId = svm.ProdOrderCancelHeaderId,
                ProdOrderLineId = p.ProdOrderLineId,
                unitDecimalPlaces = (tab3 == null ? 0 : tab3.DecimalPlaces),
                Dimension1Name = t2.Dimension1.Dimension1Name,
                Dimension2Name = t2.Dimension2.Dimension2Name,
                Specification = t2.Specification,
                UnitName = tab2.Unit.UnitName,
                ProdOrderHeaderId = p.ProdOrderHeaderId,
                ProductGroupId = tab2.ProductGroupId,
                OrderDocDate = p.IndentDate,
                DocTypeId = p.DocTypeId,
                SiteId = p.SiteId,
                DivisionId = p.DivisionId,
                Dimension1Id = p.Dimension1Id,
                Dimension2Id = p.Dimension2Id,
            });

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

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

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

            if (!string.IsNullOrEmpty(svm.ProdOrderId))
            {
                temp = temp.Where(m => SaleOrderIdArr.Contains(m.ProdOrderHeaderId.ToString()));
            }

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

            if (!string.IsNullOrEmpty(settings.filterContraDocTypes))
            {
                temp = temp.Where(m => contraDocTypes.Contains(m.DocTypeId.ToString()));
            }

            if (!string.IsNullOrEmpty(settings.filterContraSites))
            {
                temp = temp.Where(m => contraSites.Contains(m.SiteId.ToString()));
            }
            else
            {
                temp = temp.Where(m => m.SiteId == Header.SiteId);
            }

            if (!string.IsNullOrEmpty(settings.filterContraDivisions))
            {
                temp = temp.Where(m => contraDivisions.Contains(m.DivisionId.ToString()));
            }
            else
            {
                temp = temp.Where(m => m.DivisionId == Header.DivisionId);
            }

            if (svm.UpToDate.HasValue)
            {
                temp = temp.Where(m => m.OrderDocDate <= svm.UpToDate);
            }

            return(from p in temp
                   orderby p.OrderDocDate descending, p.ProdOrderNo descending
                   select new ProdOrderCancelLineViewModel
            {
                BalanceQty = p.BalanceQty,
                Qty = p.BalanceQty,
                ProdOrderNo = p.ProdOrderNo,
                ProductName = p.ProductName,
                ProductId = p.ProductId,
                ProdOrderCancelHeaderId = svm.ProdOrderCancelHeaderId,
                ProdOrderLineId = p.ProdOrderLineId,
                unitDecimalPlaces = p.unitDecimalPlaces,
                Dimension1Name = p.Dimension1Name,
                Dimension2Name = p.Dimension2Name,
                Specification = p.Specification,
                UnitName = p.UnitName,
                ProdOrderHeaderId = p.ProdOrderHeaderId,
                ProductGroupId = p.ProductGroupId,
                OrderDocDate = p.OrderDocDate,
            });
        }