| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- using System;
 
- using InABox.Core;
 
- namespace Comal.Classes
 
- {
 
-     public interface ICustomerActivity
 
-     {
 
-         CustomerLink Customer { get; set; }
 
-         ActivityLink Activity { get; set; }
 
-         ActivityCharge Charge { get; set; }
 
-     }
 
-     [UserTracking(typeof(Customer))]
 
-     public class CustomerActivity :
 
-         Entity, IPersistent, IRemotable,
 
-         ICustomerActivity,
 
-         IManyToMany<Customer, Activity>,
 
-         IManyToMany<Activity, Customer>,
 
-         ILicense<CoreLicense>
 
-     {
 
-         [EditorSequence(1)]
 
-         [EntityRelationship(DeleteAction.Cascade)]
 
-         public CustomerLink Customer { get; set; }
 
-         [EditorSequence(2)]
 
-         [EntityRelationship(DeleteAction.Cascade)]
 
-         public ActivityLink Activity { get; set; }
 
-         
 
-         [EditorSequence(3)]
 
-         public ActivityCharge Charge { get; set; }
 
-     }
 
-     public class CustomerActivityUnionGenerator : AutoEntityUnionGenerator<ICustomerActivity>
 
-     {
 
-         protected override void Configure()
 
-         {
 
-             AddTable<CustomerActivity>();
 
-             AddTable<Assignment>()
 
-                 .AddConstant(x => x.Customer.ID, Guid.Empty)
 
-                 .AddConstant(x=>x.Activity.ID, new Column<Activity>(x=>x.ID));
 
-         }
 
-         public override bool Distinct => false;
 
-         public override Column<ICustomerActivity>[] IDColumns => new Column<ICustomerActivity>[]
 
-         {
 
-             new Column<ICustomerActivity>(x => x.Customer.ID),
 
-             new Column<ICustomerActivity>(x => x.Activity.ID)
 
-         };
 
-     }
 
-     [AutoEntity(typeof(CustomerActivityUnionGenerator))]
 
-     public class CustomerActivitySummary : Entity, IRemotable, IPersistent, ICustomerActivity, ILicense<CoreLicense>
 
-     {
 
-         public CustomerLink Customer { get; set; }
 
-         
 
-         public ActivityLink Activity { get; set; }
 
-         
 
-         public ActivityCharge Charge { get; set; }
 
-     }
 
- }
 
 
  |