Browse Source

Made JobFormGrid inherit from EntityFormGrid

Kenric Nugteren 6 days ago
parent
commit
84e9b0ac1b
1 changed files with 13 additions and 16 deletions
  1. 13 16
      prs.desktop/Panels/Jobs/Digital Forms/JobFormGrid.cs

+ 13 - 16
prs.desktop/Panels/Jobs/Digital Forms/JobFormGrid.cs

@@ -9,9 +9,10 @@ using System.Threading;
 
 namespace PRSDesktop
 {
-    public class JobFormGrid : DynamicDataGrid<JobForm>, IMasterDetailControl<Job,JobForm>, IDataModelSource
+    public class JobFormGrid : DynamicEntityFormGrid<JobForm, Job, JobLink>, IMasterDetailControl<Job,JobForm>, IDataModelSource
     {
-        
+        protected override Job Entity { get => Master; set => Master = value; }
+
         public Job? Master { get; set; }
 
         public Filter<JobForm> MasterDetailFilter => (Master?.ID ?? Guid.Empty) != Guid.Empty
@@ -30,7 +31,6 @@ namespace PRSDesktop
 
         public JobFormGrid()
         {
-            ActionColumns.Add(new DynamicImageColumn(PRSDesktop.Resources.pencil.AsBitmapImage(), EditAction));
         }
 
         protected override void DoReconfigure(DynamicGridOptions options)
@@ -40,19 +40,6 @@ namespace PRSDesktop
             options.FilterRows = true;
         }
 
-        
-        private bool EditAction(CoreRow? row)
-        {
-            if (row == null) return false;
-
-            if(DynamicFormEditWindow.EditDigitalForm<JobForm>(row.Get<JobForm, Guid>(x => x.ID), out var dataModel))
-            {
-                dataModel.Update(null);
-                return true;
-            }
-            return false;
-        }
-
         protected override void Reload(
         	Filters<JobForm> criteria, Columns<JobForm> columns, ref SortOrder<JobForm>? sort,
         	CancellationToken token, Action<CoreTable?, Exception?> action)
@@ -66,6 +53,16 @@ namespace PRSDesktop
             return base.CanCreateItems() && Master != null;
         }
 
+        protected override void OnFormCreated(JobForm form)
+        {
+            base.OnFormCreated(form);
+
+            if (DynamicFormEditWindow.EditDigitalForm(form, out var dataModel))
+            {
+                dataModel.Update(null);
+            }
+        }
+
         public override JobForm CreateItem()
         {
             var result = base.CreateItem();