瀏覽代碼

Added a string aggregate property for purchase order numbers on JobRequisitionItem; made JobRequisitionItemPurchaseOrderItem IRemotable and IPersistent

Kenric Nugteren 1 年之前
父節點
當前提交
957b2075f7

+ 17 - 0
prs.classes/Entities/Job/Requisitions/JobRequisitionItem.cs

@@ -126,6 +126,10 @@ namespace Comal.Classes
         [Obsolete("Replaced with JobRequisitionItemPurchaseOrderItem")]
         public PurchaseOrderItemLink PurchaseOrderItem { get; set; }
 
+        [Aggregate(typeof(JobRequisitionItemPurchaseOrderNumberAggregate))]
+        [TextBoxEditor(Editable = Editable.Hidden)]
+        public string PurchaseOrderNumbers { get; set; }
+
         [RequiredColumn]
         public DateTime Cancelled { get; set; } = DateTime.MinValue;
 
@@ -133,6 +137,7 @@ namespace Comal.Classes
         public DateTime Archived { get; set; } = DateTime.MinValue;
 
         [RequiredColumn]
+        [Obsolete("Replaced with JobRequisitionItemPurchaseOrderItem")]
         public DateTime Ordered { get; set; } = DateTime.MinValue;
 
         [RequiredColumn]
@@ -264,4 +269,16 @@ namespace Comal.Classes
             }
         }
     }
+
+    public class JobRequisitionItemPurchaseOrderNumberAggregate : CoreAggregate<JobRequisitionItem, JobRequisitionItemPurchaseOrderItem, string>
+    {
+        public override Expression<Func<JobRequisitionItemPurchaseOrderItem, string>> Aggregate => x => x.PurchaseOrderItem.PurchaseOrderLink.PONumber;
+
+        public override Dictionary<Expression<Func<JobRequisitionItemPurchaseOrderItem, object>>, Expression<Func<JobRequisitionItem, object>>> Links { get; } = new Dictionary<Expression<Func<JobRequisitionItemPurchaseOrderItem, object>>, Expression<Func<JobRequisitionItem, object>>>
+        {
+            { x => x.JobRequisitionItem.ID, x => x.ID }
+        };
+
+        public override AggregateCalculation Calculation => AggregateCalculation.Concat;
+    }
 }

+ 1 - 1
prs.classes/Entities/Job/Requisitions/JobRequisitionItemPurchaseOrderItem.cs

@@ -5,7 +5,7 @@ using System.Text;
 
 namespace Comal.Classes
 {
-    public class JobRequisitionItemPurchaseOrderItem : Entity, IOneToMany<JobRequisitionItem>
+    public class JobRequisitionItemPurchaseOrderItem : Entity, IRemotable, IPersistent, IOneToMany<JobRequisitionItem>
     {
         [NullEditor]
         public JobRequisitionItemLink JobRequisitionItem { get; set; }

+ 0 - 1
prs.stores/JobRequisitionItemStore.cs

@@ -2,7 +2,6 @@
 using Comal.Stores;
 using InABox.Core;
 using InABox.Database;
-using RazorEngine.Compilation.ImpromptuInterface.InvokeExt;
 using System;
 using System.Collections.Generic;
 using System.Linq;