|
@@ -421,7 +421,7 @@ namespace PRSDesktop
|
|
|
Action<CoreTable?, Exception?> action)
|
|
|
{
|
|
|
|
|
|
- Filter<JobMaterial>? filter = Job.ID == Guid.Empty
|
|
|
+ var filter = Job.ID == Guid.Empty
|
|
|
? new Filter<JobMaterial>().None()
|
|
|
: new Filter<JobMaterial>(x => x.Job.ID).IsEqualTo(Job.ID)
|
|
|
.And(x => x.Product.ID).IsNotEqualTo(Guid.Empty);
|
|
@@ -431,7 +431,7 @@ namespace PRSDesktop
|
|
|
Progress.ShowModal("Loading Data",
|
|
|
(progress) =>
|
|
|
{
|
|
|
- CoreTable table = new CoreTable();
|
|
|
+ var table = new CoreTable();
|
|
|
table.LoadColumns(columns);
|
|
|
|
|
|
var data = new Client<JobMaterial>().Query(filter, columns, orderby);
|
|
@@ -439,40 +439,33 @@ namespace PRSDesktop
|
|
|
|
|
|
if (pids.Any())
|
|
|
{
|
|
|
-
|
|
|
- MultiQuery query = new MultiQuery();
|
|
|
-
|
|
|
- query.Add<StockHolding>(
|
|
|
- new Filter<StockHolding>(x => x.Product.ID).InList(pids)
|
|
|
- .And(x => x.Units).IsNotEqualTo(0.0F)
|
|
|
- .And(new Filter<StockHolding>(x => x.Job.ID).IsEqualTo(Guid.Empty).Or(x=>x.Job.ID).IsNotEqualTo(Job.ID)),
|
|
|
- new Columns<StockHolding>(x => x.Product.ID)
|
|
|
- .Add(x => x.Style.ID)
|
|
|
- .Add(x => x.Dimensions.UnitSize)
|
|
|
- .Add(x => x.Units)
|
|
|
- .Add(x => x.Job.ID)
|
|
|
- .Add(x => x.Job.JobStatus.Active)
|
|
|
- );
|
|
|
-
|
|
|
- query.Add<PurchaseOrderItem>(
|
|
|
- new Filter<PurchaseOrderItem>(x => x.ReceivedDate).IsEqualTo(DateTime.MinValue)
|
|
|
- .And(x => x.Product.ID).InList(pids)
|
|
|
- .And(new Filter<PurchaseOrderItem>(x => x.Job.ID).IsEqualTo(Guid.Empty).Or(x=>x.Job.ID).IsNotEqualTo(Job.ID)),
|
|
|
- new Columns<PurchaseOrderItem>(x => x.Product.ID)
|
|
|
- .Add(x => x.Style.ID)
|
|
|
- .Add(x => x.Dimensions.UnitSize)
|
|
|
- .Add(x => x.Qty)
|
|
|
- .Add(x => x.Job.ID)
|
|
|
- .Add(x => x.Job.JobStatus.Active)
|
|
|
- );
|
|
|
-
|
|
|
- query.Query();
|
|
|
-
|
|
|
- var freestock = query.Get<StockHolding>();
|
|
|
- Columns<StockHolding> freestockcolumns = new Columns<StockHolding>(freestock.Columns.Select(x => x.ColumnName));
|
|
|
-
|
|
|
- var freeorders = query.Get<PurchaseOrderItem>();
|
|
|
- Columns<PurchaseOrderItem> freeordercolumns = new Columns<PurchaseOrderItem>(freeorders.Columns.Select(x => x.ColumnName));
|
|
|
+ var results = Client.QueryMultiple(
|
|
|
+ new KeyedQueryDef<StockHolding>(
|
|
|
+ new Filter<StockHolding>(x => x.Product.ID).InList(pids)
|
|
|
+ .And(x => x.Units).IsNotEqualTo(0.0F)
|
|
|
+ .And(new Filter<StockHolding>(x => x.Job.ID).IsEqualTo(Guid.Empty).Or(x => x.Job.ID).IsNotEqualTo(Job.ID)),
|
|
|
+ new Columns<StockHolding>(x => x.Product.ID)
|
|
|
+ .Add(x => x.Style.ID)
|
|
|
+ .Add(x => x.Dimensions.UnitSize)
|
|
|
+ .Add(x => x.Units)
|
|
|
+ .Add(x => x.Job.ID)
|
|
|
+ .Add(x => x.Job.JobStatus.Active)),
|
|
|
+ new KeyedQueryDef<PurchaseOrderItem>(
|
|
|
+ new Filter<PurchaseOrderItem>(x => x.ReceivedDate).IsEqualTo(DateTime.MinValue)
|
|
|
+ .And(x => x.Product.ID).InList(pids)
|
|
|
+ .And(new Filter<PurchaseOrderItem>(x => x.Job.ID).IsEqualTo(Guid.Empty).Or(x => x.Job.ID).IsNotEqualTo(Job.ID)),
|
|
|
+ new Columns<PurchaseOrderItem>(x => x.Product.ID)
|
|
|
+ .Add(x => x.Style.ID)
|
|
|
+ .Add(x => x.Dimensions.UnitSize)
|
|
|
+ .Add(x => x.Qty)
|
|
|
+ .Add(x => x.Job.ID)
|
|
|
+ .Add(x => x.Job.JobStatus.Active)));
|
|
|
+
|
|
|
+ var freestock = results.Get<StockHolding>();
|
|
|
+ var freestockcolumns = new Columns<StockHolding>(freestock.Columns.Select(x => x.ColumnName));
|
|
|
+
|
|
|
+ var freeorders = results.Get<PurchaseOrderItem>();
|
|
|
+ var freeordercolumns = new Columns<PurchaseOrderItem>(freeorders.Columns.Select(x => x.ColumnName));
|
|
|
|
|
|
var hasStyle = StyleColumnVisible();
|
|
|
var keys = GetKeys(data.Rows, columns, hasStyle);
|