Преглед изворни кода

wpf: Fixed bugs with Employee screen

Kenric Nugteren пре 2 месеци
родитељ
комит
4b56e9f93a

+ 12 - 2
prs.desktop/Grids/EmployeeQualificationGrid.cs

@@ -9,8 +9,6 @@ using Comal.Classes;
 using InABox.Core;
 using InABox.Clients;
 using InABox.DynamicGrid;
-using Microsoft.Win32;
-using SaveFileDialog = Microsoft.Win32.SaveFileDialog;
 
 namespace PRSDesktop;
 
@@ -237,4 +235,16 @@ public class EmployeeQualificationGrid : QualificationManyToManyGrid<Employee>
         }
     }
 
+
+    public override void SaveItem(EmployeeQualification item)
+    {
+        base.SaveItem(item);
+        InABox.Clients.Client.Save(item, "Updated by User");
+    }
+
+    public override void DeleteItems(params CoreRow[] rows)
+    {
+        base.DeleteItems(rows);
+        InABox.Clients.Client.Delete(rows.ToObjects<EmployeeRosterItem>(),"Deleted by User");
+    }
 }

+ 16 - 1
prs.desktop/Panels/Employees/EmployeeGrid.cs

@@ -238,7 +238,22 @@ namespace PRSDesktop
             }
             return base.GetEditor(item, column);
         }
+
+        public override DynamicEditorPages LoadEditorPages(Employee item)
+        {
+            var pages = base.LoadEditorPages(item);
+            void RemovePage<T>() where T : Entity, new()
+            {
+                var page = pages.FirstOrDefault(x =>
+                    x.GetType().GetInterfaceDefinition(typeof(IDynamicGrid<>))?.GenericTypeArguments[0] == typeof(T));
+                if (page != null)
+                    pages.Remove(page);
+            }
         
-        
+            RemovePage<EmployeeQualification>();
+            RemovePage<EmployeeRosterItem>();
+
+            return pages;
+        }
     }
 }