GanttRelationship.cs 872 B

123456789101112131415161718192021222324252627282930
  1. using InABox.Core;
  2. namespace Comal.Classes
  3. {
  4. public abstract class GanttRelationship<TEntityLink, TStageLink> : Entity, IRemotable, IPersistent
  5. where TEntityLink : IEntityLink, new()
  6. where TStageLink : IEntityLink, new()
  7. {
  8. [EntityRelationship(DeleteAction.Cascade)]
  9. public TEntityLink Parent { get; set; }
  10. [EntityRelationship(DeleteAction.Cascade)]
  11. public TStageLink Predecessor { get; set; }
  12. [EntityRelationship(DeleteAction.Cascade)]
  13. public TStageLink Successor { get; set; }
  14. public GanttRelationshipType Type { get; set; }
  15. public int Offset { get; set; }
  16. protected override void Init()
  17. {
  18. base.Init();
  19. Parent = new TEntityLink();
  20. Predecessor = new TStageLink();
  21. Successor = new TStageLink();
  22. }
  23. }
  24. }