12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using System;
- using InABox.Core;
- namespace Comal.Classes
- {
-
- public abstract class EntitySpreadsheet<TParent, TParentLink> : Entity, IRemotable, IPersistent, IOneToMany<TParent>, ISpreadsheet<TParent,TParentLink>
- where TParent : Entity
- where TParentLink : IEntityLink<TParent>, 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<byte>();
- }
- public class JobSpreadsheet : EntitySpreadsheet<Job, JobLink>, ILicense<ProjectManagementLicense> { }
-
- public class QuoteSpreadsheet : EntitySpreadsheet<Quote, QuoteLink>, ILicense<QuotesManagementLicense> { }
- public class ProductSpreadsheet : EntitySpreadsheet<Product, ProductLink>, ILicense<ProductManagementLicense> { }
-
- public class CustomerSpreadsheet : EntitySpreadsheet<Customer, CustomerLink>, ILicense<AccountsReceivableLicense> { }
-
- public class SupplierSpreadsheet : EntitySpreadsheet<Supplier, SupplierLink>, ILicense<AccountsPayableLicense> { }
- public class EmployeeSpreadsheet : EntitySpreadsheet<Employee, EmployeeLink>, ILicense<HumanResourcesLicense> { }
-
- }
|