コード例 #1
0
        public IEnumerable <JobInvoiceReturnLineViewModel> GetJobReceiveForFilters(JobInvoiceReturnLineFilterViewModel vm)
        {
            string[] ProductIdArr = null;
            if (!string.IsNullOrEmpty(vm.ProductId))
            {
                ProductIdArr = vm.ProductId.Split(",".ToCharArray());
            }
            else
            {
                ProductIdArr = new string[] { "NA" };
            }

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

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

            var temp = (from VJIB in db.ViewJobInvoiceBalance
                        join L in db.JobInvoiceLine on VJIB.JobInvoiceLineId equals L.JobInvoiceLineId into JobInvoiceLineTable
                        from JobInvoiceLineTab in JobInvoiceLineTable.DefaultIfEmpty()
                        join H in db.JobInvoiceHeader on VJIB.JobInvoiceHeaderId equals H.JobInvoiceHeaderId into JobInvoiceHeaderTable
                        from JobInvoiceHeaderTab in JobInvoiceHeaderTable.DefaultIfEmpty()
                        join Jrl in db.JobReceiveLine on VJIB.JobReceiveLineId equals Jrl.JobReceiveLineId into JobReceiveLineTable
                        from JobReceiveLineTab in JobReceiveLineTable.DefaultIfEmpty()
                        join Jrh in db.JobReceiveHeader on JobReceiveLineTab.JobReceiveHeaderId equals Jrh.JobReceiveHeaderId
                        join P in db.Product on VJIB.ProductId equals P.ProductId into table2
                        from ProductTab in table2.DefaultIfEmpty()
                        where (string.IsNullOrEmpty(vm.ProductId) ? 1 == 1 : ProductIdArr.Contains(VJIB.ProductId.ToString())) &&
                        (string.IsNullOrEmpty(vm.JobReceiveHeaderId) ? 1 == 1 : SaleOrderIdArr.Contains(VJIB.JobReceiveHeaderId.ToString())) &&
                        (string.IsNullOrEmpty(vm.ProductGroupId) ? 1 == 1 : ProductGroupIdArr.Contains(ProductTab.ProductGroupId.ToString())) &&
                        VJIB.BalanceQty > 0
                        orderby Jrh.DocDate, Jrh.DocNo, JobReceiveLineTab.Sr
                        select new JobInvoiceReturnLineViewModel
            {
                Dimension1Name = JobReceiveLineTab.Dimension1.Dimension1Name,
                Dimension2Name = JobReceiveLineTab.Dimension2.Dimension2Name,
                Dimension3Name = JobReceiveLineTab.Dimension3.Dimension3Name,
                Dimension4Name = JobReceiveLineTab.Dimension4.Dimension4Name,
                Specification = JobReceiveLineTab.Specification,
                InvoiceBalQty = VJIB.BalanceQty,
                Qty = VJIB.BalanceQty,
                JobInvoiceHeaderDocNo = JobInvoiceHeaderTab.DocNo,
                ProductName = ProductTab.ProductName,
                ProductId = VJIB.ProductId,
                JobInvoiceReturnHeaderId = vm.JobInvoiceReturnHeaderId,
                JobInvoiceLineId = VJIB.JobInvoiceLineId,
                UnitId = ProductTab.UnitId,
                UnitConversionMultiplier = JobInvoiceLineTab.UnitConversionMultiplier,
                DealUnitId = JobInvoiceLineTab.DealUnitId,
                Rate = JobInvoiceLineTab.Rate,
                //RateAfterDiscount = (linetab.Amount / linetab.DealQty),
                unitDecimalPlaces = ProductTab.Unit.DecimalPlaces,
                DealunitDecimalPlaces = JobInvoiceLineTab.DealUnit.DecimalPlaces,
                ProductUidName = JobReceiveLineTab.ProductUid.ProductUidName,
                ProductUidId = JobReceiveLineTab.ProductUidId,
            }

                        );

            return(temp);
        }
コード例 #2
0
        public IEnumerable <JobInvoiceReturnLineViewModel> GetJobInvoiceForFilters(JobInvoiceReturnLineFilterViewModel vm)
        {
            var InvoiceReturnHeader = new JobInvoiceReturnHeaderService(db).Find(vm.JobInvoiceReturnHeaderId);

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

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

            string[] ProductGroupIdArr = null;
            if (!string.IsNullOrEmpty(vm.ProductGroupId))
            {
                ProductGroupIdArr = vm.ProductGroupId.Split(",".ToCharArray());
            }
            else
            {
                ProductGroupIdArr = new string[] { "NA" };
            }
            //ToChange View to get Joborders instead of goodsreceipts
            var temp = (from p in db.ViewJobInvoiceBalance
                        join l in db.JobInvoiceLine on p.JobInvoiceLineId equals l.JobInvoiceLineId into linetable
                        from linetab in linetable.DefaultIfEmpty()
                        join h in db.JobInvoiceHeader on linetab.JobInvoiceHeaderId equals h.JobInvoiceHeaderId
                        join product in db.Product on p.ProductId equals product.ProductId into table2
                        from tab2 in table2.DefaultIfEmpty()
                        join t1 in db.JobReceiveLine on p.JobReceiveLineId equals t1.JobReceiveLineId into table1
                        from tab1 in table1.DefaultIfEmpty()
                        where (string.IsNullOrEmpty(vm.ProductId) ? 1 == 1 : ProductIdArr.Contains(p.ProductId.ToString())) &&
                        (string.IsNullOrEmpty(vm.JobInvoiceHeaderId) ? 1 == 1 : SaleOrderIdArr.Contains(p.JobInvoiceHeaderId.ToString())) &&
                        (string.IsNullOrEmpty(vm.ProductGroupId) ? 1 == 1 : ProductGroupIdArr.Contains(tab2.ProductGroupId.ToString())) &&
                        p.BalanceQty > 0
                        orderby h.DocDate, h.DocNo, linetab.Sr
                        select new JobInvoiceReturnLineViewModel
            {
                Dimension1Name = tab1.Dimension1.Dimension1Name,
                Dimension2Name = tab1.Dimension2.Dimension2Name,
                Dimension3Name = tab1.Dimension3.Dimension3Name,
                Dimension4Name = tab1.Dimension4.Dimension4Name,
                Specification = tab1.Specification,
                InvoiceBalQty = p.BalanceQty,
                Qty = p.BalanceQty,
                JobInvoiceHeaderDocNo = p.JobInvoiceNo,
                ProductName = tab2.ProductName,
                ProductId = p.ProductId,
                JobInvoiceReturnHeaderId = vm.JobInvoiceReturnHeaderId,
                JobInvoiceLineId = p.JobInvoiceLineId,
                UnitId = tab2.UnitId,
                UnitConversionMultiplier = linetab.UnitConversionMultiplier,
                DealUnitId = linetab.DealUnitId,
                Rate = linetab.Rate,
                //RateAfterDiscount = (linetab.Amount / linetab.DealQty),
                unitDecimalPlaces = tab2.Unit.DecimalPlaces,
                DealunitDecimalPlaces = linetab.DealUnit.DecimalPlaces,
                ProductUidName = tab1.ProductUid.ProductUidName,
                ProductUidId = tab1.ProductUidId,
                SalesTaxGroupProductId = linetab.SalesTaxGroupProductId,
                SalesTaxGroupPersonId = InvoiceReturnHeader.SalesTaxGroupPersonId
            });

            return(temp);
        }