|
@@ -30,6 +30,7 @@ public static class StockUtils
|
|
query.Add(
|
|
query.Add(
|
|
new Filter<StockHolding>(x => x.Location.ID).InList(locationIDs),
|
|
new Filter<StockHolding>(x => x.Location.ID).InList(locationIDs),
|
|
Columns.Required<StockHolding>().Add(x => x.ID)
|
|
Columns.Required<StockHolding>().Add(x => x.ID)
|
|
|
|
+ .Add(x => x.Location.ID)
|
|
.Add(x => x.Product.ID)
|
|
.Add(x => x.Product.ID)
|
|
.Add(x => x.Job.ID)
|
|
.Add(x => x.Job.ID)
|
|
.Add(x => x.Style.ID)
|
|
.Add(x => x.Style.ID)
|
|
@@ -45,6 +46,7 @@ public static class StockUtils
|
|
query.Add(
|
|
query.Add(
|
|
new Filter<StockMovement>(x => x.Location.ID).InList(locationIDs),
|
|
new Filter<StockMovement>(x => x.Location.ID).InList(locationIDs),
|
|
Columns.None<StockMovement>().Add(x => x.ID)
|
|
Columns.None<StockMovement>().Add(x => x.ID)
|
|
|
|
+ .Add(x=>x.Location.ID)
|
|
.Add(x => x.Product.ID)
|
|
.Add(x => x.Product.ID)
|
|
.Add(x => x.Job.ID)
|
|
.Add(x => x.Job.ID)
|
|
.Add(x => x.Style.ID)
|
|
.Add(x => x.Style.ID)
|
|
@@ -59,19 +61,19 @@ public static class StockUtils
|
|
var toDelete = new List<StockHolding>();
|
|
var toDelete = new List<StockHolding>();
|
|
var movements = query.Get<StockMovement>();
|
|
var movements = query.Get<StockMovement>();
|
|
|
|
|
|
|
|
+ double movementcount = (double)movements.Rows.Count;
|
|
progress.Report("Processing");
|
|
progress.Report("Processing");
|
|
var updates = new List<StockHolding>();
|
|
var updates = new List<StockHolding>();
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
while (movements.Rows.Any())
|
|
while (movements.Rows.Any())
|
|
{
|
|
{
|
|
-
|
|
|
|
|
|
+ double percent = ((movementcount - movements.Rows.Count) / movementcount) * 100.0;
|
|
|
|
+ progress.Report($"Processing ({percent:F2}% complete)");
|
|
var first = movements.Rows.First();
|
|
var first = movements.Rows.First();
|
|
var selected = movements.Rows.Where(x => x.IsEqualTo<StockMovement, StockMovement>(first)).ToList();
|
|
var selected = movements.Rows.Where(x => x.IsEqualTo<StockMovement, StockMovement>(first)).ToList();
|
|
|
|
|
|
var holdingrow = holdings.Rows.FirstOrDefault(x => x.IsEqualTo<StockHolding, StockMovement>(first));
|
|
var holdingrow = holdings.Rows.FirstOrDefault(x => x.IsEqualTo<StockHolding, StockMovement>(first));
|
|
StockHolding holding = null;
|
|
StockHolding holding = null;
|
|
- ;
|
|
|
|
if (holdingrow != null)
|
|
if (holdingrow != null)
|
|
{
|
|
{
|
|
holdings.Rows.Remove(holdingrow);
|
|
holdings.Rows.Remove(holdingrow);
|