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); }
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); }