JobScopeStore.cs 1.1 KB

1234567891011121314151617181920212223242526272829
  1. using Comal.Classes;
  2. using InABox.Core;
  3. namespace Comal.Stores;
  4. public class JobScopeStore : BaseStore<JobScope>
  5. {
  6. protected override void BeforeSave(JobScope entity)
  7. {
  8. base.BeforeSave(entity);
  9. if (entity.ID == Guid.Empty)
  10. {
  11. var filter = entity.Type == JobScopeType.Contract
  12. ? new Filter<JobScopeStatus>(x => x.ContractDefault).IsEqualTo(true)
  13. : entity.Type == JobScopeType.Variation
  14. ? new Filter<JobScopeStatus>(x => x.VariationDefault).IsEqualTo(true)
  15. : new Filter<JobScopeStatus>(x => x.AdjustmentDefault).IsEqualTo(true);
  16. var status = Provider.Query(filter,Columns.Required<JobScopeStatus>()).Rows.FirstOrDefault()?.ToObject<JobScopeStatus>();
  17. if (status != null)
  18. entity.Status.CopyFrom(status);
  19. var tax = Provider.Query(
  20. new Filter<TaxCode>(x => x.Default).IsEqualTo(true)
  21. ).Rows.FirstOrDefault()?.ToObject<TaxCode>();
  22. if (tax != null)
  23. entity.TaxCode.CopyFrom(tax);
  24. }
  25. }
  26. }