JobRequisitionItemUtils.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // using Comal.Classes;
  2. // using Comal.Stores;
  3. // using InABox.Core;
  4. // using InABox.Database;
  5. // using PRSStores;
  6. // using System;
  7. // using System.Collections.Generic;
  8. // using System.Linq;
  9. // using System.Text;
  10. // using System.Threading.Tasks;
  11. //
  12. // namespace PRS.Shared.Database_Update_Scripts.Utils;
  13. //
  14. // public static class JobRequisitionItemUtils
  15. // {
  16. // public static void RefreshStatuses(IStore store)
  17. // {
  18. // Logger.Send(LogType.Information, "", $"Refreshing JobRequisitionItem statuses");
  19. // var jobRequiItems = store.Provider.Query(
  20. // null,
  21. // JobRequisitionItemStore.StatusRequiredColumns().Add(x => x.Status))
  22. // .ToObjects<JobRequisitionItem>()
  23. // .ToList();
  24. //
  25. // var statusUpdates = new Dictionary<Tuple<JobRequisitionItemStatus, JobRequisitionItemStatus>, List<Guid>>();
  26. //
  27. // var i = 0;
  28. // foreach(var item in jobRequiItems)
  29. // {
  30. // if(i % 50 == 0)
  31. // {
  32. // Logger.Send(LogType.Information, "", $"Refreshing statuses: {(((double)i) / (double)jobRequiItems.Count * 100):F0}%");
  33. // }
  34. // if (JobRequisitionItemStore.CalculateStatus(store, item))
  35. // {
  36. // var key = new Tuple<JobRequisitionItemStatus, JobRequisitionItemStatus>(item.GetOriginalValue(x=>x.Status), item.Status);
  37. // if(!statusUpdates.TryGetValue(key, out var list))
  38. // {
  39. // list = new List<Guid>();
  40. // statusUpdates.Add(key, list);
  41. // }
  42. // list.Add(item.ID);
  43. // //item.Issues += $"Updated status from {item.GetOriginalValue(x=>x.Status)} to {item.Status}";
  44. //
  45. // }
  46. // ++i;
  47. // }
  48. //
  49. // foreach(var ((from, to), list) in statusUpdates)
  50. // {
  51. // Logger.Send(LogType.Information, "", $"{from} -> {to}: {list.Count} entries");
  52. // }
  53. //
  54. // new BaseStore<JobRequisitionItem>
  55. // {
  56. // UserGuid = Guid.Empty,
  57. // UserID = "",
  58. // Platform = Platform.Server,
  59. // Version = CoreUtils.GetVersion(),
  60. // Provider = DbFactory.NewProvider(Logger.Main)
  61. // }.Save(jobRequiItems, "");
  62. // }
  63. // }