123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- using System;
- using System.Linq;
- using System.Reactive;
- using Comal.Classes;
- using InABox.Core;
- namespace Comal.Stores
- {
- public class JobBillOfMaterialsItemStore : BaseStore<JobBillOfMaterialsItem>
- {
- protected override void BeforeSave(JobBillOfMaterialsItem entity)
- {
- base.BeforeSave(entity);
- EnsureJobMaterials(entity.Product, entity.Job, entity.Style, entity.Dimensions);
- }
- protected override void AfterSave(JobBillOfMaterialsItem entity)
- {
- base.AfterSave(entity);
- CleanupJobMaterials(entity.ID, entity.Product, entity.Job, entity.Style, entity.Dimensions, false);
- }
-
- protected override void AfterDelete(JobBillOfMaterialsItem entity)
- {
- base.AfterDelete(entity);
-
- var delete = Provider.Query(
- new Filter<JobBillOfMaterialsItem>(x => x.ID).IsEqualTo(entity.ID),
- new Columns<JobBillOfMaterialsItem>(x => x.ID)
- .Add(x => x.Product.ID)
- .Add(x => x.Job.ID)
- .Add(x => x.Style.ID)
- .Add(x => x.Dimensions.Unit.ID)
- .Add(x => x.Dimensions.Length)
- .Add(x => x.Dimensions.Width)
- .Add(x => x.Dimensions.Height)
- .Add(x => x.Dimensions.Weight)
- ).Rows.FirstOrDefault()?.ToObject<JobBillOfMaterialsItem>();
-
- if (delete != null)
- CleanupJobMaterials(delete.ID, delete.Product, delete.Job, delete.Style, delete.Dimensions, true);
- }
- }
- }
|