| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 
							- 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;
 
-                 }
 
-                 // manually setting original value because originally the same.
 
-                 movement.SetOriginalValue(x => x.Type, StockMovementType.Receive);
 
-             }
 
-             DbFactory.Provider.Save(movements);
 
-         }
 
-         return true;
 
-     }
 
- }
 
 
  |