瀏覽代碼

CLASSES - JobBOM item additions to enhance BOM imports

Nick-PRSDigital@bitbucket.org 2 年之前
父節點
當前提交
aed621d8de
共有 2 個文件被更改,包括 19 次插入2 次删除
  1. 17 2
      prs.classes/Entities/Job/JobBillOfMaterials.cs
  2. 2 0
      prs.classes/Entities/Job/JobBillOfMaterialsItem.cs

+ 17 - 2
prs.classes/Entities/Job/JobBillOfMaterials.cs

@@ -1,19 +1,24 @@
 using System;
+using System.Linq.Expressions;
 using InABox.Core;
 
 namespace Comal.Classes
 {
-    public class JobBillOfMaterials : Entity, IRemotable, IPersistent, IOneToMany<Job>, ISequenceable, ILicense<ProjectManagementLicense>
+    public class JobBillOfMaterials : Entity, IRemotable, IPersistent, IOneToMany<Job>, ISequenceable, ILicense<ProjectManagementLicense>, INumericAutoIncrement<JobBillOfMaterials>
     {
         [NullEditor]
         [EntityRelationship(DeleteAction.Cascade)]
         public JobLink Job { get; set; }
 
+        [IntegerEditor(Visible = Visible.Default, Editable = Editable.Disabled)]
         [EditorSequence(1)]
+        public int Number { get; set; }
+
+        [EditorSequence(2)]
         public string Description { get; set; }
 
         [TimestampEditor]
-        [EditorSequence(2)]
+        [EditorSequence(3)]
         [LoggableProperty]
         public DateTime Approved { get; set; }
 
@@ -23,6 +28,16 @@ namespace Comal.Classes
         [MemoEditor]
         public string Notes { get; set; }
 
+        public Expression<Func<JobBillOfMaterials, int>> AutoIncrementField()
+        {
+            return x => x.Number;
+        }
+
+        public Filter<JobBillOfMaterials> AutoIncrementFilter()
+        {
+            return new Filter<JobBillOfMaterials>(x => x.Job.ID).IsEqualTo(Job.ID);
+        }
+
         protected override void Init()
         {
             base.Init();

+ 2 - 0
prs.classes/Entities/Job/JobBillOfMaterialsItem.cs

@@ -52,6 +52,8 @@ namespace Comal.Classes
 
         public PurchaseOrderItemLink PurchaseOrderItem { get; set; }
 
+        public ManufacturingPacketLink Packet { get; set; }
+
         protected override void Init()
         {
             base.Init();