using System; using System.Linq.Expressions; namespace InABox.Core { [Caption("Layouts")] public class DigitalFormLayout : Entity, IRemotable, IPersistent, IStringAutoIncrement, IOneToMany, ILicense { [NullEditor] [Obsolete("Replaced by Form")] public QAFormLink QAForm { get; set; } [NullEditor] [EntityRelationship(DeleteAction.Cascade)] public DigitalFormLink Form { get; set; } [EditorSequence(1)] [CodeEditor(Visible = Visible.Default, Editable = Editable.Enabled)] public string Code { get; set; } [EditorSequence(2)] [TextBoxEditor(Visible = Visible.Default, Editable = Editable.Enabled)] public string Description { get; set; } [EditorSequence(3)] [EnumLookupEditor(typeof(DFLayoutType), Visible = Visible.Default, Editable = Editable.Enabled)] public DFLayoutType Type { get; set; } [EditorSequence(4)] [MemoEditor(Visible = Visible.Hidden, Editable = Editable.Hidden)] public string Layout { get; set; } [EditorSequence(5)] [CheckBoxEditor] public bool Active { get; set; } public Expression> AutoIncrementField() { return x => x.Code; } public Filter AutoIncrementFilter() { return new Filter(x => x.Form.ID).IsEqualTo(Form.ID); } public string AutoIncrementFormat() { return "L{0:D3}"; } public IEntityDuplicator GetDuplicator() { return new EntityDuplicator(); } protected override void Init() { base.Init(); QAForm = new QAFormLink(); Form = new DigitalFormLink(); Type = DFLayoutType.Desktop; } } }