|
@@ -27,24 +27,6 @@ namespace PRSDesktop
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- private static IDynamicGrid FindDataGrid(Type type)
|
|
|
- {
|
|
|
- var gridtypes = CoreUtils.TypeList(
|
|
|
- AppDomain.CurrentDomain.GetAssemblies(),
|
|
|
- myType =>
|
|
|
- myType.IsClass
|
|
|
- && !myType.IsAbstract
|
|
|
- && !myType.IsGenericType
|
|
|
- && myType.BaseType != null
|
|
|
- && myType.BaseType.Name == typeof(DynamicDataGrid<>).Name
|
|
|
- && myType.ContainsInheritedGenericType(type)
|
|
|
- ).ToArray();
|
|
|
-
|
|
|
- var gridtype = gridtypes.Any() ? gridtypes.First() : typeof(DynamicDataGrid<>).MakeGenericType(type);
|
|
|
- var grid = Activator.CreateInstance(gridtype) as IDynamicGrid;
|
|
|
- return grid;
|
|
|
- }
|
|
|
-
|
|
|
private static bool PerformAction(Guid[] ids, Func<Notification, bool> action)
|
|
|
{
|
|
|
if (!ids.Any())
|
|
@@ -143,7 +125,7 @@ namespace PRSDesktop
|
|
|
|
|
|
var entity = LoadEntity(type, id);
|
|
|
|
|
|
- var grid = FindDataGrid(type);
|
|
|
+ var grid = DynamicGridUtils.CreateDynamicGrid(typeof(DynamicDataGrid<>), type);
|
|
|
return grid.EditItems(new object[] { entity });
|
|
|
});
|
|
|
}
|
|
@@ -303,7 +285,9 @@ namespace PRSDesktop
|
|
|
{
|
|
|
var job = new Client<Job>().Load(new Filter<Job>(x => x.ID).IsEqualTo(notification.Job.ID)).FirstOrDefault();
|
|
|
if (job != null)
|
|
|
- FindDataGrid(typeof(Job)).EditItems(new[] { job });
|
|
|
+ {
|
|
|
+ DynamicGridUtils.EditEntity(job);
|
|
|
+ }
|
|
|
return false;
|
|
|
});
|
|
|
}
|