KanbanReference.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. }
  14. public class RequisitionKanban : EntityKanban<Requisition, RequisitionLink>
  15. {
  16. }
  17. public class SetoutKanban : EntityKanban<Setout, SetoutLink>
  18. {
  19. }
  20. public class DeliveryKanban : EntityKanban<Delivery, DeliveryLink>
  21. {
  22. }
  23. public class PurchaseOrderKanban : EntityKanban<PurchaseOrder, PurchaseOrderLink>
  24. {
  25. }
  26. public class ManufacturingPacketKanban : EntityKanban<ManufacturingPacket, ManufacturingPacketLink>
  27. {
  28. }
  29. public class JobRequisitionKanban : EntityKanban<JobRequisition, JobRequisitionLink>
  30. {
  31. }
  32. public class MeetingItemKanban : EntityKanban<MeetingItem, MeetingItemLink>
  33. {
  34. }
  35. public class JobDocumentSetMileStoneKanban : EntityKanban<JobDocumentSetMileStone, JobDocumentSetMileStoneLink>
  36. {
  37. }
  38. }