UnprocessedAssignmentsWidget.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using System;
  2. using System.Windows.Media.Imaging;
  3. using Comal.Classes;
  4. using InABox.Core;
  5. using InABox.DynamicGrid;
  6. using InABox.WPF;
  7. using PRSDesktop.WidgetGroups;
  8. namespace PRSDesktop
  9. {
  10. internal class UnprocessedAssignmentsWidgetProperties : IDashboardProperties { }
  11. internal class UnprocessedAssignmentsWidgetElement : DashboardElement<UnprocessedAssignmentsWidget, HumanResources, UnprocessedAssignmentsWidgetProperties> { }
  12. internal class UnprocessedAssignmentsWidget : DynamicDataGrid<Assignment>, IDashboardWidget<HumanResources, UnprocessedAssignmentsWidgetProperties>
  13. {
  14. public UnprocessedAssignmentsWidgetProperties Properties { get; set; }
  15. public UnprocessedAssignmentsWidget()
  16. {
  17. Options.AddRange(DynamicGridOption.SelectColumns,
  18. DynamicGridOption.FilterRows
  19. );
  20. ActionColumns.Add(new DynamicMenuColumn(CreateAssignmentMenu));
  21. ColumnsTag = GetType().Name;
  22. }
  23. public void Refresh()
  24. {
  25. Refresh(false, true);
  26. }
  27. public void Setup()
  28. {
  29. Refresh(true, false);
  30. }
  31. public void Shutdown()
  32. {
  33. }
  34. private void CreateAssignmentMenu(DynamicMenuColumn column, CoreRow row)
  35. {
  36. column.AddItem("Create Quote", null, CreateQuote);
  37. column.AddSeparator();
  38. column.AddItem("Mark As Processed", null, MarkAsProcessed);
  39. }
  40. private void MarkAsProcessed(CoreRow obj)
  41. {
  42. }
  43. private void CreateQuote(CoreRow row)
  44. {
  45. }
  46. private bool BookJobAction(CoreRow arg)
  47. {
  48. return false;
  49. }
  50. private BitmapImage BookJobImage(CoreRow arg)
  51. {
  52. return PRSDesktop.Resources.attendance.AsBitmapImage();
  53. }
  54. protected override void Reload(Filters<Assignment> criteria, Columns<Assignment> columns, ref SortOrder<Assignment> sort,
  55. Action<CoreTable, Exception> action)
  56. {
  57. criteria.Add(new Filter<Assignment>(x => x.Completed).IsNotEqualTo(DateTime.MinValue).And(x => x.Processed).IsEqualTo(DateTime.MinValue));
  58. base.Reload(criteria, columns, ref sort, action);
  59. }
  60. }
  61. }