123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using com.sun.net.ssl.@internal.ssl;
- using Comal.Classes;
- using InABox.Core;
- using InABox.Database;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace PRS.Shared.Database_Update_Scripts;
- public class Update_7_63 : DatabaseUpdateScript
- {
- public override VersionNumber Version => new VersionNumber(7, 63);
- public override bool Update()
- {
- Logger.Send(LogType.Information, "", $"Updating uninitialised stock movement types");
- while (true)
- {
- var movements = DbFactory.Provider.Query(
- new Filter<StockMovement>(x => x.Type).IsEqualTo(null),
- new Columns<StockMovement>(x => x.ID)
- .Add(x => x.Received)
- .Add(x => x.Issued)
- .Add(x => x.IsTransfer)
- .Add(x => x.Batch.Type),
- top: 1000)
- .ToArray<StockMovement>();
- if (movements.Length == 0) break;
- Logger.Send(LogType.Information, "", $"Updating {movements.Length} movements");
- foreach(var movement in movements)
- {
- if (movement.IsTransfer)
- {
- if(movement.Received > 0)
- {
- movement.Type = StockMovementType.TransferIn;
- }
- else
- {
- movement.Type = StockMovementType.TransferOut;
- }
- }
- else if(movement.Batch.Type == StockMovementBatchType.Stocktake)
- {
- movement.Type = StockMovementType.StockTake;
- }
- else if(movement.Received > 0)
- {
- movement.Type = StockMovementType.Receive;
- }
- else
- {
- movement.Type = StockMovementType.Issue;
- }
- }
- DbFactory.Provider.Save(movements);
- }
- return true;
- }
- }
|