StockMovementStore.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using Comal.Classes;
  2. using Comal.Stores;
  3. using InABox.Core;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. namespace PRSStores;
  9. public class StockMovementStore : BaseStore<StockMovement>
  10. {
  11. protected override void AfterSave(StockMovement sm)
  12. {
  13. if (sm.JobRequisitionItem.ID != Guid.Empty)
  14. JobRequisitionItemStore.UpdateStatus(
  15. this,
  16. sm.JobRequisitionItem.ID,
  17. sm.HasOriginalValue(x=>x.ID)
  18. ? JobRequisitionItemAction.Created
  19. : JobRequisitionItemAction.Updated
  20. );
  21. base.AfterSave(sm);
  22. }
  23. protected override void BeforeDelete(StockMovement entity)
  24. {
  25. base.BeforeDelete(entity);
  26. entity.JobRequisitionItem.ID = Provider.Query<StockMovement>(
  27. new Filter<StockMovement>(x => x.ID).IsEqualTo(entity.ID),
  28. new Columns<StockMovement>(x => x.JobRequisitionItem.ID)
  29. ).Rows
  30. .FirstOrDefault()?
  31. .Get<StockMovement, Guid>(x => x.JobRequisitionItem.ID) ?? Guid.Empty;
  32. }
  33. protected override void AfterDelete(StockMovement sm)
  34. {
  35. if (sm.JobRequisitionItem.ID != Guid.Empty)
  36. JobRequisitionItemStore.UpdateStatus(this, sm.JobRequisitionItem.ID, JobRequisitionItemAction.Deleted);
  37. base.AfterDelete(sm);
  38. }
  39. }