Sfoglia il codice sorgente

Fixed Broken Editor in Projects/Designs/Manufacturing

frogsoftware 1 settimana fa
parent
commit
710b28b3cd
1 ha cambiato i file con 8 aggiunte e 2 eliminazioni
  1. 8 2
      prs.desktop/Panels/Manufacturing/ManufacturingGrid.cs

+ 8 - 2
prs.desktop/Panels/Manufacturing/ManufacturingGrid.cs

@@ -175,7 +175,11 @@ public class ManufacturingGrid : DynamicDataGrid<ManufacturingPacket>, IMasterDe
             //}
 
             var stagetype = typeof(IDynamicOneToManyGrid<,>).MakeGenericType(typeof(ManufacturingPacket), typeof(ManufacturingPacketStage));
-            var stagepage = editor.Pages.FirstOrDefault(x => x.GetType().GetInterface(stagetype.Name) != null);
+            var stagepage = editor.Pages
+                .FirstOrDefault(x => 
+                    x.GetType().GetInterface(stagetype.Name) != null 
+                    && x.GetType().GenericTypeArguments.Contains(typeof(ManufacturingPacketStage))
+                );
             if (stagepage != null)
             {
                 var tstages = Stages.Where(x => x.Template.ID.Equals(value)).OrderBy(x => x.Sequence);
@@ -204,7 +208,9 @@ public class ManufacturingGrid : DynamicDataGrid<ManufacturingPacket>, IMasterDe
 
                 if (!stagepage.Ready)
                     stagepage.Load(items.First(), null);
-                var load = stagepage.GetType().GetMethod("LoadItems");
+                var load = stagepage.GetType()
+                    .GetMethods()
+                    .First(x => x.Name.Equals("LoadItems") && x.ReturnType == typeof(void));
                 load.Invoke(stagepage, new object[] { pstages.ToArray() });
             }
         }