using System; using InABox.Core; namespace Comal.Classes { public abstract class EntitySpreadsheet : Entity, IRemotable, IPersistent, IOneToMany, ISpreadsheet where TParent : Entity where TParentLink : IEntityLink, new() { [EditorSequence(1)] [CodeEditor(Visible = Visible.Default, Editable = Editable.Enabled)] public String Code { get; set; } [EditorSequence(2)] [TextBoxEditor] public String Description { get; set; } [EditorSequence(3)] [TimestampEditor] [LoggableProperty] public DateTime Superceded { get; set; } [NullEditor] public TParentLink Parent { get; set; } public byte[] Data { get; set; } = Array.Empty(); } public class JobSpreadsheet : EntitySpreadsheet, ILicense { } public class QuoteSpreadsheet : EntitySpreadsheet, ILicense { } public class ProductSpreadsheet : EntitySpreadsheet, ILicense { } public class CustomerSpreadsheet : EntitySpreadsheet, ILicense { } public class SupplierSpreadsheet : EntitySpreadsheet, ILicense { } public class EmployeeSpreadsheet : EntitySpreadsheet, ILicense { } }