KanbanReference.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. public abstract class EntityKanban<TEntity, TLink> : Entity, IRemotable, IPersistent, ILicense<TaskManagementLicense>
  6. where TEntity : Entity
  7. where TLink : IEntityLink<TEntity>, new()
  8. {
  9. [EntityRelationship(DeleteAction.Cascade)]
  10. public TLink Entity { get; set; }
  11. [EntityRelationship(DeleteAction.Cascade)]
  12. public KanbanLink Kanban { get; set; }
  13. protected override void Init()
  14. {
  15. base.Init();
  16. Kanban = new KanbanLink();
  17. Entity = new TLink();
  18. }
  19. }
  20. public class RequisitionKanban : EntityKanban<Requisition, RequisitionLink>
  21. {
  22. }
  23. public class SetoutKanban : EntityKanban<Setout, SetoutLink>
  24. {
  25. }
  26. public class DeliveryKanban : EntityKanban<Delivery, DeliveryLink>
  27. {
  28. }
  29. public class PurchaseOrderKanban : EntityKanban<PurchaseOrder, PurchaseOrderLink>
  30. {
  31. }
  32. public class ManufacturingPacketKanban : EntityKanban<ManufacturingPacket, ManufacturingPacketLink>
  33. {
  34. }
  35. public class JobRequisitionKanban : EntityKanban<JobRequisition, JobRequisitionLink>
  36. {
  37. }
  38. }