Bladeren bron

Add JobRequisitionItemPurchaseOrderItemStore to update status when saved.

Kenric Nugteren 1 jaar geleden
bovenliggende
commit
389173be9d

+ 2 - 0
prs.classes/Entities/Job/Requisitions/JobRequisitionItemPurchaseOrderItem.cs

@@ -8,8 +8,10 @@ namespace Comal.Classes
     public class JobRequisitionItemPurchaseOrderItem : Entity, IRemotable, IPersistent, IOneToMany<JobRequisitionItem>, ILicense<ProjectManagementLicense>
     {
         [NullEditor]
+        [EntityRelationship(DeleteAction.Cascade)]
         public JobRequisitionItemLink JobRequisitionItem { get; set; }
 
+        [EntityRelationship(DeleteAction.Cascade)]
         public PurchaseOrderItemLink PurchaseOrderItem { get; set; }
     }
 }

+ 21 - 0
prs.stores/JobRequisitionItemPurchaseOrderItemStore.cs

@@ -0,0 +1,21 @@
+using Comal.Classes;
+using Comal.Stores;
+using InABox.Core;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace PRSStores;
+
+public class JobRequisitionItemPurchaseOrderItemStore : BaseStore<JobRequisitionItemPurchaseOrderItem>
+{
+    protected override void AfterSave(JobRequisitionItemPurchaseOrderItem entity)
+    {
+        base.AfterSave(entity);
+
+        if(entity.PurchaseOrderItem.HasOriginalValue(x => x.ID) || entity.JobRequisitionItem.HasOriginalValue(x => x.ID))
+        {
+            JobRequisitionItemStore.UpdateStatus(this, entity.JobRequisitionItem.ID);
+        }
+    }
+}

+ 1 - 0
prs.stores/PRSStores.projitems

@@ -50,6 +50,7 @@
     <Compile Include="$(MSBuildThisFileDirectory)InvoiceStore.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)JobBillOfMaterialsItemStore.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)JobMaterialRequsitionStore.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)JobRequisitionItemPurchaseOrderItemStore.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)JobRequisitionItemStore.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)JobRequisitionStore.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)JobStageStore.cs" />