DigitalFormLayout.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. using System.Linq.Expressions;
  3. namespace InABox.Core
  4. {
  5. [Caption("Layouts")]
  6. public class DigitalFormLayout : Entity, IRemotable, IPersistent, IStringAutoIncrement<DigitalFormLayout>, IOneToMany<DigitalForm>,
  7. ILicense<DigitalFormsLicense>
  8. {
  9. [NullEditor]
  10. [Obsolete("Replaced by Form")]
  11. public QAFormLink QAForm { get; set; }
  12. [NullEditor]
  13. [EntityRelationship(DeleteAction.Cascade)]
  14. public DigitalFormLink Form { get; set; }
  15. [EditorSequence(1)]
  16. [CodeEditor(Visible = Visible.Default, Editable = Editable.Enabled)]
  17. public string Code { get; set; }
  18. [EditorSequence(2)]
  19. [TextBoxEditor(Visible = Visible.Default, Editable = Editable.Enabled)]
  20. public string Description { get; set; }
  21. [EditorSequence(3)]
  22. [EnumLookupEditor(typeof(DFLayoutType), Visible = Visible.Default, Editable = Editable.Enabled)]
  23. public DFLayoutType Type { get; set; }
  24. [EditorSequence(4)]
  25. [MemoEditor(Visible = Visible.Hidden, Editable = Editable.Hidden)]
  26. public string Layout { get; set; }
  27. [EditorSequence(5)]
  28. [CheckBoxEditor]
  29. public bool Active { get; set; }
  30. public Expression<Func<DigitalFormLayout, string>> AutoIncrementField()
  31. {
  32. return x => x.Code;
  33. }
  34. public Filter<DigitalFormLayout> AutoIncrementFilter()
  35. {
  36. return new Filter<DigitalFormLayout>(x => x.Form.ID).IsEqualTo(Form.ID);
  37. }
  38. public string AutoIncrementPrefix() => "L";
  39. public string AutoIncrementFormat()
  40. {
  41. return "{0:D3}";
  42. }
  43. public IEntityDuplicator GetDuplicator()
  44. {
  45. return new EntityDuplicator<DigitalFormLayout>();
  46. }
  47. protected override void Init()
  48. {
  49. base.Init();
  50. QAForm = new QAFormLink();
  51. Form = new DigitalFormLink();
  52. Type = DFLayoutType.Desktop;
  53. }
  54. }
  55. }