| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- using Quadarax.Application.QLiberace.Common.Entities.Base;
- using Quadarax.Application.QLiberace.Processor.Enums;
- namespace Quadarax.Application.QLiberace.Processor.Entities
- {
- public abstract class BaseQueue : QlbrcEntityTenantCode
- {
- /// <summary>
- /// Reference to data collection
- /// </summary>
- public long DataId { get; set; }
- /// <summary>
- /// Reference to status history collection
- /// </summary>
- public long StatusHistoryId { get; set; }
- /// <summary>
- /// Owner (abstract) key identifier. Usually entity code
- /// </summary>
- public string Owner { get; set; } = null!;
- /// <summary>
- /// Owner worker identifier who processing task
- /// </summary>
- public string AffinityWorker { get; set; } = null!;
- /// <summary>
- /// Defines item priority (default = 100). Higher value represents lower priority. Priority is used to ordering gathering data.
- /// </summary>
- public int Priority { get; set; }
-
- /// <summary>
- /// Defines Fully qualified name of provider class to execute item.
- /// </summary>
- public string Provider { get; set; } = null!;
- /// <summary>
- /// Record status <seealso cref="QueueStatusEnum"/>
- /// </summary>
- public QueueStatusEnum Status { get; set; }
- /// <summary>
- /// Record processing from datetime
- /// </summary>
- public DateTime StartFrom { get; set; }
- /// <summary>
- /// Record processing to datetime. If overflow then record is expired.
- /// </summary>
- public DateTime? StartTo { get; set; }
- /// <summary>
- /// Last status change timestamp
- /// </summary>
- public DateTime LastStatusChanged { get; set; }
- /// <summary>
- /// Record created timestamp
- /// </summary>
- public DateTime Created { get; set; }
- //public virtual QueueData RootData { get; set; } = null!;
- //public virtual StatusHistory RootStatusHistory { get; set; } = null!;
- public virtual void CloneFrom(BaseQueue source)
- {
- Id = source.Id;
- DataId = source.DataId;
- StatusHistoryId = source.StatusHistoryId;
- Owner = source.Owner;
- AffinityWorker = source.AffinityWorker;
- Status = source.Status;
- StartFrom = source.StartFrom;
- StartTo = source.StartTo;
- LastStatusChanged = source.LastStatusChanged;
- Created = source.Created;
- Modified = source.Modified;
- Modifier = source.Modifier;
- TenantCode = source.TenantCode;
- Priority = source.Priority;
- Provider = source.Provider;
- }
- }
- }
|