| 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> {  }
 
-     
 
- }
 
 
  |