public IEnumerable <JobOrderInspectionRequestCancelLineViewModel> GetJobOrderInspectionRequestLineForMultiSelect(JobOrderInspectionRequestCancelFilterViewModel 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.JobOrderInspectionRequestId)) { SaleOrderIdArr = svm.JobOrderInspectionRequestId.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[] Dime1IdArr = null; if (!string.IsNullOrEmpty(svm.Dimension1Id)) { Dime1IdArr = svm.Dimension1Id.Split(",".ToCharArray()); } else { Dime1IdArr = new string[] { "NA" }; } string[] Dime2IdArr = null; if (!string.IsNullOrEmpty(svm.Dimension2Id)) { Dime2IdArr = svm.Dimension2Id.Split(",".ToCharArray()); } else { Dime2IdArr = new string[] { "NA" }; } string[] Dime3IdArr = null; if (!string.IsNullOrEmpty(svm.Dimension3Id)) { Dime3IdArr = svm.Dimension3Id.Split(",".ToCharArray()); } else { Dime3IdArr = new string[] { "NA" }; } string[] Dime4IdArr = null; if (!string.IsNullOrEmpty(svm.Dimension4Id)) { Dime4IdArr = svm.Dimension4Id.Split(",".ToCharArray()); } else { Dime4IdArr = new string[] { "NA" }; } var InsReqCanHeader = db.JobOrderInspectionRequestCancelHeader.Find(svm.JobOrderInspectionRequestCancelHeaderId); var settings = new JobOrderInspectionRequestSettingsService(db).GetJobOrderInspectionRequestSettingsForDocument(InsReqCanHeader.DocTypeId, InsReqCanHeader.DivisionId, InsReqCanHeader.SiteId); 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 Query = (from p in db.ViewJobOrderInspectionRequestBalance join t in db.JobOrderInspectionRequestLine on p.JobOrderInspectionRequestLineId equals t.JobOrderInspectionRequestLineId into table from tab in table.DefaultIfEmpty() join jir in db.JobOrderInspectionRequestHeader on p.JobOrderInspectionRequestHeaderId equals jir.JobOrderInspectionRequestHeaderId join Jol in db.JobOrderLine on tab.JobOrderLineId equals Jol.JobOrderLineId join product in db.Product on p.ProductId equals product.ProductId into table2 from tab2 in table2.DefaultIfEmpty() where p.BalanceQty > 0 && p.JobWorkerId == svm.JobWorkerId && jir.ProcessId == InsReqCanHeader.ProcessId orderby p.RequestDate, p.JobOrderInspectionRequestNo, tab.Sr select new { BalanceQty = p.BalanceQty, Qty = p.BalanceQty, JobOrderInspectionRequestDocNo = p.JobOrderInspectionRequestNo, ProductName = tab2.ProductName, ProductId = p.ProductId, JobOrderInspectionRequestCancelHeaderId = svm.JobOrderInspectionRequestCancelHeaderId, JobOrderInspectionRequestLineId = p.JobOrderInspectionRequestLineId, Dimension1Id = p.Dimension1Id, Dimension2Id = p.Dimension2Id, Dimension3Id = p.Dimension3Id, Dimension4Id = p.Dimension4Id, Dimension1Name = p.Dimension1.Dimension1Name, Dimension2Name = p.Dimension2.Dimension2Name, Dimension3Name = p.Dimension3.Dimension3Name, Dimension4Name = p.Dimension4.Dimension4Name, Specification = Jol.Specification, UnitId = tab2.UnitId, UnitName = tab2.Unit.UnitName, unitDecimalPlaces = tab2.Unit.DecimalPlaces, DealunitDecimalPlaces = Jol.DealUnit.DecimalPlaces, ProductUidName = (Jol.ProductUidHeaderId == null ? tab.ProductUid.ProductUidName : ""), ProductUidId = tab.ProductUidId, JobOrderInspectionRequestHeaderId = p.JobOrderInspectionRequestHeaderId, ProdOrderLineId = Jol.ProdOrderLineId, ProductGroupId = tab2.ProductGroupId, SiteId = p.SiteId, DivisionId = p.DivisionId, DocTypeId = jir.DocTypeId, }); if (!string.IsNullOrEmpty(svm.ProductId)) { Query = Query.Where(m => ProductIdArr.Contains(m.ProductId.ToString())); } if (!string.IsNullOrEmpty(svm.JobOrderInspectionRequestId)) { Query = Query.Where(m => SaleOrderIdArr.Contains(m.JobOrderInspectionRequestHeaderId.ToString())); } if (!string.IsNullOrEmpty(svm.ProductGroupId)) { Query = Query.Where(m => ProductGroupIdArr.Contains(m.ProductGroupId.ToString())); } if (!string.IsNullOrEmpty(svm.Dimension1Id)) { Query = Query.Where(m => Dime1IdArr.Contains(m.Dimension1Id.ToString())); } if (!string.IsNullOrEmpty(svm.Dimension2Id)) { Query = Query.Where(m => Dime2IdArr.Contains(m.Dimension2Id.ToString())); } if (!string.IsNullOrEmpty(svm.Dimension3Id)) { Query = Query.Where(m => Dime3IdArr.Contains(m.Dimension3Id.ToString())); } if (!string.IsNullOrEmpty(svm.Dimension4Id)) { Query = Query.Where(m => Dime4IdArr.Contains(m.Dimension4Id.ToString())); } if (!string.IsNullOrEmpty(settings.filterContraSites)) { Query = Query.Where(m => contraSites.Contains(m.SiteId.ToString())); } else { Query = Query.Where(m => m.SiteId == InsReqCanHeader.SiteId); } if (!string.IsNullOrEmpty(settings.filterContraDivisions)) { Query = Query.Where(m => contraDivisions.Contains(m.DivisionId.ToString())); } else { Query = Query.Where(m => m.DivisionId == InsReqCanHeader.DivisionId); } if (!string.IsNullOrEmpty(settings.filterContraDocTypes)) { Query = Query.Where(m => contraDocTypes.Contains(m.DocTypeId.ToString())); } return(from p in Query select new JobOrderInspectionRequestCancelLineViewModel { BalanceQty = p.BalanceQty, Qty = p.BalanceQty, JobOrderInspectionRequestDocNo = p.JobOrderInspectionRequestDocNo, ProductName = p.ProductName, ProductId = p.ProductId, JobOrderInspectionRequestCancelHeaderId = svm.JobOrderInspectionRequestCancelHeaderId, JobOrderInspectionRequestLineId = p.JobOrderInspectionRequestLineId, Dimension1Id = p.Dimension1Id, Dimension2Id = p.Dimension2Id, Dimension3Id = p.Dimension3Id, Dimension4Id = p.Dimension4Id, Dimension1Name = p.Dimension1Name, Dimension2Name = p.Dimension2Name, Dimension3Name = p.Dimension3Name, Dimension4Name = p.Dimension4Name, Specification = p.Specification, UnitId = p.UnitId, UnitName = p.UnitName, unitDecimalPlaces = p.unitDecimalPlaces, DealunitDecimalPlaces = p.DealunitDecimalPlaces, ProductUidName = (p.ProductUidName), ProductUidId = p.ProductUidId, JobOrderInspectionRequestHeaderId = p.JobOrderInspectionRequestHeaderId, ProdOrderLineId = p.ProdOrderLineId, }); }
public IEnumerable <JobOrderCancelLineViewModel> GetJobOrderLineForMultiSelect(JobOrderCancelFilterViewModel svm) { JobOrderCancelHeader Header = db.JobOrderCancelHeader.Find(svm.JobOrderCancelHeaderId); var Settings = new JobOrderSettingsService(_unitOfWork).GetJobOrderSettingsForDocument(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[] SaleOrderIdArr = null; if (!string.IsNullOrEmpty(svm.JobOrderId)) { SaleOrderIdArr = svm.JobOrderId.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[] Dime1IdArr = null; if (!string.IsNullOrEmpty(svm.Dimension1Id)) { Dime1IdArr = svm.Dimension1Id.Split(",".ToCharArray()); } else { Dime1IdArr = new string[] { "NA" }; } string[] Dime2IdArr = null; if (!string.IsNullOrEmpty(svm.Dimension2Id)) { Dime2IdArr = svm.Dimension2Id.Split(",".ToCharArray()); } else { Dime2IdArr = new string[] { "NA" }; } string[] Dime3IdArr = null; if (!string.IsNullOrEmpty(svm.Dimension3Id)) { Dime3IdArr = svm.Dimension3Id.Split(",".ToCharArray()); } else { Dime3IdArr = new string[] { "NA" }; } string[] Dime4IdArr = null; if (!string.IsNullOrEmpty(svm.Dimension4Id)) { Dime4IdArr = svm.Dimension4Id.Split(",".ToCharArray()); } else { Dime4IdArr = 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.ViewJobOrderBalance join t in db.JobOrderLine on p.JobOrderLineId equals t.JobOrderLineId into table from tab in table.DefaultIfEmpty() join product in db.Product on p.ProductId equals product.ProductId into table2 from tab2 in table2.DefaultIfEmpty() where (string.IsNullOrEmpty(svm.ProductId) ? 1 == 1 : ProductIdArr.Contains(p.ProductId.ToString())) && (svm.JobWorkerId == 0 ? 1 == 1 : p.JobWorkerId == svm.JobWorkerId) && (string.IsNullOrEmpty(svm.JobOrderId) ? 1 == 1 : SaleOrderIdArr.Contains(p.JobOrderHeaderId.ToString())) && (string.IsNullOrEmpty(svm.ProductGroupId) ? 1 == 1 : ProductGroupIdArr.Contains(tab2.ProductGroupId.ToString())) && (string.IsNullOrEmpty(svm.Dimension1Id) ? 1 == 1 : Dime1IdArr.Contains(p.Dimension1Id.ToString())) && (string.IsNullOrEmpty(svm.Dimension2Id) ? 1 == 1 : Dime2IdArr.Contains(p.Dimension2Id.ToString())) && (string.IsNullOrEmpty(svm.Dimension3Id) ? 3 == 3 : Dime3IdArr.Contains(p.Dimension3Id.ToString())) && (string.IsNullOrEmpty(svm.Dimension4Id) ? 3 == 3 : Dime4IdArr.Contains(p.Dimension4Id.ToString())) && (string.IsNullOrEmpty(Settings.filterContraSites) ? p.SiteId == Header.SiteId : ContraSites.Contains(p.SiteId.ToString())) && (string.IsNullOrEmpty(Settings.filterContraDivisions) ? p.DivisionId == Header.DivisionId : ContraDivisions.Contains(p.DivisionId.ToString())) && p.BalanceQty > 0 && p.JobWorkerId == svm.JobWorkerId orderby p.OrderDate, p.JobOrderNo, tab.Sr select new JobOrderCancelLineViewModel { BalanceQty = p.BalanceQty, Qty = p.BalanceQty, JobOrderDocNo = p.JobOrderNo, ProductName = tab2.ProductName, ProductId = p.ProductId, JobOrderCancelHeaderId = svm.JobOrderCancelHeaderId, JobOrderLineId = p.JobOrderLineId, Dimension1Id = p.Dimension1Id, Dimension2Id = p.Dimension2Id, Dimension3Id = p.Dimension3Id, Dimension4Id = p.Dimension4Id, Dimension1Name = p.Dimension1.Dimension1Name, Dimension2Name = p.Dimension2.Dimension2Name, Dimension3Name = p.Dimension3.Dimension3Name, Dimension4Name = p.Dimension4.Dimension4Name, Specification = tab.Specification, UnitId = tab2.UnitId, UnitName = tab2.Unit.UnitName, unitDecimalPlaces = tab2.Unit.DecimalPlaces, DealunitDecimalPlaces = tab.DealUnit.DecimalPlaces, ProductUidName = (tab.ProductUidHeaderId == null ? tab.ProductUid.ProductUidName : "") }); return(temp); }