1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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; }
- protected override void Init()
- {
- base.Init();
- Parent = new TParentLink();
- Data = new 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> { }
-
- }
|