ActivityGrid.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. using Comal.Classes;
  2. using InABox.Core;
  3. using InABox.DynamicGrid;
  4. using InABox.WPF;
  5. using System.Windows;
  6. using System.Windows.Controls;
  7. namespace PRSDesktop
  8. {
  9. public class ActivityGrid : DynamicDataGrid<Activity>
  10. {
  11. public ActivityGrid()
  12. {
  13. AddButton("Employees", PRSDesktop.Resources.employee.AsBitmapImage(), ShowEmployees);
  14. }
  15. private bool ShowEmployees(Button button, CoreRow[] rows)
  16. {
  17. if (rows.Length == 0)
  18. {
  19. MessageBox.Show("Please select an activity.");
  20. return false;
  21. }
  22. else if (rows.Length > 1)
  23. {
  24. MessageBox.Show("Please select only one activity");
  25. return false;
  26. }
  27. DynamicGridUtils.CreateGridWindow("Employees",
  28. new DynamicCrossJoinGrid<EmployeeActivity, Activity>(rows[0].ToObject<Activity>(), x => x.Activity.ID, x => x.ID)).ShowDialog();
  29. return false;
  30. }
  31. //public override bool EditItems(Activity[] items, Func<Type, CoreTable> PageDataHandler = null, bool PreloadPages = false)
  32. //{
  33. // return base.EditItems(items, CheckNewActivity(items, PageDataHandler), PreloadPages);
  34. //}
  35. //private Func<Type,CoreTable> CheckNewActivity(Activity[] items, Func<Type, CoreTable> handler )
  36. //{
  37. // return items.Any() && items.First().ID.Equals(Guid.Empty) ? RoleHandler : handler;
  38. //}
  39. //private CoreTable RoleHandler(Type t)
  40. //{
  41. // if (t == typeof(RoleActivity))
  42. // {
  43. // CoreTable result = new CoreTable();
  44. // result.LoadColumns(typeof(RoleActivity));
  45. // var roles = new Client<Role>().Query();
  46. // foreach (var row in roles.Rows)
  47. // {
  48. // RoleActivity ra = new RoleActivity();
  49. // ra.Role.ID = row.Get<Role, Guid>(c => c.ID);
  50. // ra.Role.Code = row.Get<Role, String>(c => c.Code);
  51. // ra.Role.Name = row.Get<Role, String>(c => c.Name);
  52. // ra.Enabled = true;
  53. // CoreRow newrow = result.NewRow();
  54. // result.LoadRow(newrow, ra);
  55. // result.Rows.Add(newrow);
  56. // }
  57. // return result;
  58. // }
  59. // return null;
  60. //}
  61. }
  62. }