BaseQueue.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using Quadarax.Application.QLiberace.Common.Entities.Base;
  2. using Quadarax.Application.QLiberace.Processor.Enums;
  3. namespace Quadarax.Application.QLiberace.Processor.Entities
  4. {
  5. public abstract class BaseQueue : QlbrcEntity, ITenantCode
  6. {
  7. /// <summary>
  8. /// Reference to tenant code that queue belongs
  9. /// </summary>
  10. public string TenantCode { get; set; }
  11. /// <summary>
  12. /// Reference to data collection
  13. /// </summary>
  14. public long DataId { get; set; }
  15. /// <summary>
  16. /// Reference to status history collection
  17. /// </summary>
  18. public long StatusHistoryId { get; set; }
  19. /// <summary>
  20. /// Owner (abstract) key identifier. Usually entity code
  21. /// </summary>
  22. public string Owner { get; set; } = null!;
  23. /// <summary>
  24. /// Owner worker identifier who processing task
  25. /// </summary>
  26. public string AffinityWorker { get; set; } = null!;
  27. /// <summary>
  28. /// Record status <seealso cref="QueueStatusEnum"/>
  29. /// </summary>
  30. public QueueStatusEnum Status { get; set; }
  31. /// <summary>
  32. /// Record processing from datetime
  33. /// </summary>
  34. public DateTime StartFrom { get; set; }
  35. /// <summary>
  36. /// Record processing to datetime. If overflow then record is expired.
  37. /// </summary>
  38. public DateTime? StartTo { get; set; }
  39. /// <summary>
  40. /// Last status change timestamp
  41. /// </summary>
  42. public DateTime LastStatusChanged { get; set; }
  43. /// <summary>
  44. /// Record created timestamp
  45. /// </summary>
  46. public DateTime Created { get; set; }
  47. //public virtual QueueData RootData { get; set; } = null!;
  48. //public virtual StatusHistory RootStatusHistory { get; set; } = null!;
  49. }
  50. }