AssignmentViewCommon.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using System;
  2. using System.Collections.Concurrent;
  3. using System.ComponentModel;
  4. using System.Windows.Controls;
  5. using System.Windows.Media;
  6. using System.Windows.Media.Imaging;
  7. using Comal.Classes;
  8. using InABox.Core;
  9. namespace PRSDesktop
  10. {
  11. public enum AssignmentViewTimeInterval
  12. {
  13. FiveMinutes,
  14. SixMinutes,
  15. TenMinutes,
  16. FifteenMinutes,
  17. TwentyMinutes,
  18. ThirtyMinutes,
  19. SixyMinutes
  20. }
  21. public delegate void AssignmentSelectionChangedEvent(object sender, Assignment assignment);
  22. public delegate void AssignmentChangedEvent(object sender, Assignment assignment);
  23. public delegate void CustomiseAssignments(object sender, CoreTable assignments);
  24. public delegate void CustomiseAssignmentsContextMenu(ContextMenu menu, IAssignmentData e);
  25. public class AssignmentViewSettings : EventArgs
  26. {
  27. public DateTime SelectedDate { get; init; }
  28. public double Zoom { get; init; }
  29. public Guid SelectedTeam { get; init; }
  30. public Guid[] SelectedEmployees { get; init; }
  31. public bool SideBarOpen { get; init; }
  32. }
  33. public delegate void AssignmentViewSettingsChanged(object sender, AssignmentViewSettings args);
  34. public interface IAssignmentViewModel
  35. {
  36. Guid AssignmentID { get; set; }
  37. Guid EmployeeID { get; set; }
  38. int Number { get; set; }
  39. string JobNumber { get; set; }
  40. BitmapImage Completed { get; set; }
  41. BitmapImage HasDelivery { get; set; }
  42. BitmapImage Locked { get; set; }
  43. BitmapImage TimeSheet { get; set; }
  44. String Subject { get; set; }
  45. String Notes { get; set; }
  46. DateTime StartTime { get; set; }
  47. DateTime EndTime { get; set; }
  48. Brush AppointmentForeground { get; set; }
  49. Brush AppointmentBackground { get; set; }
  50. }
  51. public interface IAssignmentData
  52. {
  53. IAssignmentViewModel Model { get; }
  54. Guid EmployeeID { get; }
  55. DateTime Time { get; }
  56. }
  57. public class AssignmentData : EventArgs, IAssignmentData
  58. {
  59. public AssignmentData(IAssignmentViewModel model, Guid employeeid, DateTime time)
  60. {
  61. Model = model;
  62. EmployeeID = employeeid;
  63. Time = time;
  64. }
  65. public IAssignmentViewModel Model { get; }
  66. public Guid EmployeeID { get; }
  67. public DateTime Time { get; }
  68. }
  69. }