Browse Source

Added JobStageLink to Assignment

Kenric Nugteren 1 month ago
parent
commit
9b37dd802b
1 changed files with 18 additions and 2 deletions
  1. 18 2
      prs.classes/Entities/Assignment/Assignment.cs

+ 18 - 2
prs.classes/Entities/Assignment/Assignment.cs

@@ -84,17 +84,33 @@ namespace Comal.Classes
         [EditorSequence(10)]
         public JobITPLink ITP { get; set; }
 
+        private class JobStageLookup : LookupDefinitionGenerator<JobStage, Assignment>
+        {
+            public override Filter<JobStage> DefineFilter(Assignment[] items)
+            {
+                if (items.Length == 1)
+                    return Filter<JobStage>.Where(x => x.Job.ID).IsEqualTo(items.First().Job.ID);
+                return LookupFactory.DefineFilter<JobStage>();
+            }
+            
+            public override Columns<Assignment> DefineFilterColumns()
+                => Columns.None<Assignment>().Add(x => x.Job.ID);
+        }
+        [LookupDefinition(typeof(JobStageLookup))]
         [EditorSequence(11)]
+        public JobStageLink JobStage { get; set; }
+
+        [EditorSequence(12)]
         [CoreTimeEditor]
         public TimeBlock Booked { get; set; }
 
-        [EditorSequence(12)]
+        [EditorSequence(13)]
         [CoreTimeEditor]
         public TimeBlock Actual { get; set; }
         
         [TimestampEditor]
         [RequiredColumn]
-        [EditorSequence(13)]
+        [EditorSequence(14)]
         public DateTime Completed { get; set; }
 
         [Editable(Editable.Disabled)]