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

Fixed LookupDefinition filter columns bug with wrong entity type

Kenric Nugteren пре 1 година
родитељ
комит
9f43776334
1 измењених фајлова са 11 додато и 5 уклоњено
  1. 11 5
      InABox.Core/ILookupDefinition.cs

+ 11 - 5
InABox.Core/ILookupDefinition.cs

@@ -375,6 +375,12 @@ namespace InABox.Core
             return DoInvoke(TLookup, typeof(TEntity), items, typeof(Filter<>), "DefineFilter") as IFilter;
         }
 
+        public static Filter<TLookup>? DefineFilter<TLookup>(Type TEntity, IEnumerable items)
+            where TLookup : Entity
+        {
+            return DefineFilter(typeof(TLookup), TEntity, items) as Filter<TLookup>;
+        }
+
         public static Filter<TLookup>? DefineFilter<TEntity, TLookup>(TEntity[] items) where TEntity : Entity where TLookup : Entity
         {
             return DefineFilter(items, typeof(TLookup)) as Filter<TLookup>;
@@ -400,10 +406,10 @@ namespace InABox.Core
             return (DefineColumns(typeof(TLookup)) as Columns<TLookup>)!;
         }
 
-        public static IColumns DefineFilterColumns(Type TLookup, Type TEntity, IEnumerable items)
+        public static IColumns DefineFilterColumns(Type TLookup, Type TEntity)
         {
             var result = DoInvoke(TLookup, TEntity, typeof(Columns<>).MakeGenericType(TEntity), "DefineFilterColumns") as IColumns;
-            result ??= Columns.Create(TLookup).DefaultColumns();
+            result ??= Columns.Create(TEntity).DefaultColumns();
             return result;
         }
 
@@ -412,14 +418,14 @@ namespace InABox.Core
             var result = DoInvoke(TLookup, typeof(TEntity), typeof(Columns<>).MakeGenericType(typeof(TEntity)), "DefineFilterColumns") as IColumns;
             if (result == null)
             {
-                result = Columns.Create(TLookup);
+                result = Columns.Create(typeof(TEntity));
             }
             return result;
         }
 
-        public static Columns<TLookup> DefineFilterColumns<TEntity, TLookup>() where TEntity : Entity where TLookup : Entity
+        public static Columns<TEntity> DefineFilterColumns<TEntity, TLookup>() where TEntity : Entity where TLookup : Entity
         {
-            return DefineFilterColumns<TEntity>(typeof(TLookup)) as Columns<TLookup>;
+            return DefineFilterColumns<TEntity>(typeof(TLookup)) as Columns<TEntity>;
         }
 
         #endregion