DataModelTemplate.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using InABox.Clients;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Reflection;
  6. namespace InABox.Core
  7. {
  8. public class DataModelTemplate : Entity, IRemotable, IPersistent, ISequenceable, ILicense<CoreLicense>
  9. {
  10. [TextBoxEditor(Visible = Core.Visible.Hidden, Editable = Editable.Hidden)]
  11. public string Model { get; set; }
  12. [EditorSequence(1)]
  13. [TextBoxEditor]
  14. public string Name { get; set; }
  15. private class DataModelTemplateButtonGenerator : IButtonGenerator
  16. {
  17. public EditorButton[]? Generate()
  18. {
  19. return new EditorButton[]
  20. {
  21. new EditorButton(templates.FirstOrDefault(), "Edit", 60, TemplateEditorClicked, true)
  22. };
  23. }
  24. }
  25. [EditorSequence(2)]
  26. [TextBoxEditor(Editable = Editable.Enabled, Buttons = typeof(DataModelTemplateButtonGenerator))]
  27. public string To { get; set; }
  28. [EditorSequence(3)]
  29. [TextBoxEditor(Editable = Editable.Enabled)]
  30. public string Subject { get; set; }
  31. [EditorSequence(4)]
  32. [TextBoxEditor(Editable = Editable.Enabled)]
  33. public string AttachmentName { get; set; }
  34. [EditorSequence(5)]
  35. [TextBoxEditor(Editable = Editable.Enabled)]
  36. public string Template { get; set; }
  37. [EditorSequence(6)]
  38. [CheckBoxEditor]
  39. public bool Visible { get; set; }
  40. [EditorSequence(7)]
  41. [CheckBoxEditor]
  42. public bool Default { get; set; }
  43. [NullEditor]
  44. public long Sequence { get; set; }
  45. }
  46. }