KanbanSettings.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. using System;
  2. using InABox.Configuration;
  3. using InABox.Core;
  4. namespace Comal.Classes
  5. {
  6. public enum KanbanView
  7. {
  8. Status,
  9. User,
  10. Planner,
  11. List
  12. }
  13. public abstract class KanbanSettingsSection
  14. {
  15. }
  16. public abstract class KanbanCardSettings : KanbanSettingsSection
  17. {
  18. public KanbanCardSettings()
  19. {
  20. CompactView = false;
  21. IncludeCompleted = false;
  22. IncludeObserved = true;
  23. }
  24. public bool CompactView { get; set; }
  25. public bool IncludeCompleted { get; set; }
  26. public bool IncludeObserved { get; set; }
  27. }
  28. public class KanbanStatusSettings : KanbanCardSettings
  29. {
  30. public KanbanStatusSettings()
  31. {
  32. SelectedEmployee = Guid.Empty;
  33. SelectedType = CoreUtils.FullGuid;
  34. IncludeLocked = true;
  35. }
  36. public Guid SelectedEmployee { get; set; }
  37. public Guid SelectedType { get; set; }
  38. public bool IncludeLocked { get; set; }
  39. }
  40. public class KanbanUserSettings : KanbanCardSettings
  41. {
  42. public KanbanUserSettings()
  43. {
  44. TeamsHeight = 200.0F;
  45. EmployeeWidth = 300.0F;
  46. SelectedTeams = new Guid[] { };
  47. SelectedEmployees = new Guid[] { };
  48. IncludeManaged = false;
  49. }
  50. public double EmployeeWidth { get; set; }
  51. public double TeamsHeight { get; set; }
  52. public Guid[] SelectedTeams { get; set; }
  53. public Guid[] SelectedEmployees { get; set; }
  54. public bool IncludeManaged { get; set; }
  55. }
  56. public class KanbanPlannerSettings : KanbanSettingsSection
  57. {
  58. public KanbanPlannerSettings()
  59. {
  60. SelectedType = CoreUtils.FullGuid;
  61. IncludeCompleted = false;
  62. }
  63. public Guid SelectedType { get; set; }
  64. public bool IncludeCompleted { get; set; }
  65. }
  66. public class KanbanListSettings : KanbanSettingsSection
  67. {
  68. }
  69. public class KanbanSettings : UserConfigurationSettings
  70. {
  71. public KanbanSettings()
  72. {
  73. ViewType = KanbanView.Status;
  74. StatusSettings = new KanbanStatusSettings();
  75. UserSettings = new KanbanUserSettings();
  76. PlannerSettings = new KanbanPlannerSettings();
  77. ListSettings = new KanbanListSettings();
  78. }
  79. public KanbanView ViewType { get; set; }
  80. public KanbanStatusSettings StatusSettings { get; set; }
  81. public KanbanUserSettings UserSettings { get; set; }
  82. public KanbanPlannerSettings PlannerSettings { get; set; }
  83. public KanbanListSettings ListSettings { get; set; }
  84. }
  85. }