DigitalFormLayout.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. using System.Linq.Expressions;
  3. namespace InABox.Core
  4. {
  5. [Caption("Layouts")]
  6. [EntitySecurity(
  7. CanEdit = typeof(CanEdit<DigitalForm>),
  8. CanDelete = typeof(CanEdit<DigitalForm>),
  9. CanView = typeof(CanView<DigitalForm>))]
  10. public class DigitalFormLayout : Entity, IRemotable, IPersistent, ILicense<DigitalFormsLicense>
  11. {
  12. [NullEditor]
  13. [Obsolete("Replaced by Form")]
  14. [ObsoleteProperty(nameof(Form))]
  15. public QAFormLink QAForm => InitializeField(ref _qAForm, nameof(QAForm));
  16. private QAFormLink _qAForm;
  17. [NullEditor]
  18. [EntityRelationship(DeleteAction.Cascade)]
  19. public DigitalFormLink Form => InitializeField(ref _form, nameof(Form));
  20. private DigitalFormLink _form;
  21. [EditorSequence(1)]
  22. [TextBoxEditor(Visible = Visible.Default, Editable = Editable.Enabled)]
  23. public string Description { get; set; }
  24. [EditorSequence(2)]
  25. [EnumLookupEditor(typeof(DFLayoutType), Visible = Visible.Default, Editable = Editable.Enabled)]
  26. public DFLayoutType Type { get; set; } = DFLayoutType.Desktop;
  27. [EditorSequence(3)]
  28. [MemoEditor(Visible = Visible.Hidden, Editable = Editable.Hidden)]
  29. public string Layout { get; set; }
  30. [NullEditor]
  31. public bool Active { get; set; }
  32. [Obsolete]
  33. [NullEditor]
  34. public string Code { get; set; }
  35. public IEntityDuplicator GetDuplicator() => new EntityDuplicator<DigitalFormLayout>();
  36. }
  37. }