DailyReportFavouriteGrid.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Windows.Media.Imaging;
  5. using Comal.Classes;
  6. using InABox.Core;
  7. using InABox.DynamicGrid;
  8. using InABox.WPF;
  9. namespace PRSDesktop
  10. {
  11. public class DailyReportFavouriteGrid : DynamicGrid<AssignmentFavourite>
  12. {
  13. public DailyReportFavouriteGrid()
  14. {
  15. Options.Clear();
  16. MasterColumns.Clear();
  17. MasterColumns.Add(new DynamicGridColumn { ColumnName = "Title", Width = 0 });
  18. MasterColumns.Add(new DynamicGridColumn { ColumnName = "JobNumber", Width = 100, Alignment = Alignment.MiddleCenter });
  19. MasterColumns.Add(new DynamicGridColumn { ColumnName = "ITPCode", Width = 100, Caption = "ITP", Alignment = Alignment.MiddleCenter });
  20. MasterColumns.Add(new DynamicGridColumn { ColumnName = "ActivityName", Width = 0, Caption = "Activity" });
  21. ActionColumns.Add(new DynamicActionColumn(PRSDesktop.Resources.delete.AsBitmapImage(), DeleteClick) { Position = DynamicActionColumnPosition.Start });
  22. }
  23. public List<AssignmentFavourite> Items { get; set; }
  24. private bool DeleteClick(CoreRow? arg)
  25. {
  26. if (arg == null)
  27. return false;
  28. DeleteItems(arg);
  29. return true;
  30. }
  31. protected override void DeleteItems(params CoreRow[] rows)
  32. {
  33. foreach (var row in rows.OrderByDescending(x => x.Index))
  34. {
  35. var item = Items[row.Index];
  36. Items.Remove(item);
  37. }
  38. }
  39. protected override AssignmentFavourite LoadItem(CoreRow row)
  40. {
  41. return row.ToObject<AssignmentFavourite>();
  42. }
  43. protected override void Reload(Filters<AssignmentFavourite> criteria, Columns<AssignmentFavourite> columns,
  44. ref SortOrder<AssignmentFavourite>? sort, Action<CoreTable, Exception?> action)
  45. {
  46. var result = new CoreTable();
  47. result.LoadColumns(typeof(AssignmentFavourite));
  48. result.LoadRows(Items);
  49. action.Invoke(result, null);
  50. }
  51. protected override void SaveItem(AssignmentFavourite item)
  52. {
  53. }
  54. }
  55. }