Update_7_48_RequisitionActualQuantity.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. using Comal.Classes;
  2. using InABox.Configuration;
  3. using InABox.Core;
  4. using InABox.Database;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace PRS.Shared;
  10. using Comal.Classes;
  11. public class Update_7_48_RequisitionActualQuantity : DatabaseUpdateScript
  12. {
  13. public override VersionNumber Version => new VersionNumber(7, 48);
  14. public override bool Update()
  15. {
  16. Logger.Send(LogType.Information, "", "Updating Quantity -> ActualQuantity");
  17. var items = DbFactory.NewProvider(Logger.Main).Query(
  18. new Filter<RequisitionItem>(x=>x.ActualQuantity).IsEqualTo(0)
  19. .And(x=>x.Quantity).IsNotEqualTo(0),
  20. Columns.None<RequisitionItem>().Add(x => x.ID)
  21. .Add(x => x.Quantity)
  22. .Add(x=>x.ActualQuantity)
  23. ).ToObjects<RequisitionItem>().ToList();
  24. foreach (var item in items)
  25. item.ActualQuantity = item.Quantity;
  26. DbFactory.NewProvider(Logger.Main).Save(items);
  27. return true;
  28. }
  29. }