using Quadarax.Application.QLiberace.Common.Entities.Base;
using Quadarax.Application.QLiberace.Processor.Enums;
namespace Quadarax.Application.QLiberace.Processor.Entities
{
public abstract class BaseQueue : QlbrcEntity, ITenantCode
{
///
/// Reference to tenant code that queue belongs
///
public string TenantCode { get; set; }
///
/// Reference to data collection
///
public long DataId { get; set; }
///
/// Reference to status history collection
///
public long StatusHistoryId { get; set; }
///
/// Owner (abstract) key identifier. Usually entity code
///
public string Owner { get; set; } = null!;
///
/// Owner worker identifier who processing task
///
public string AffinityWorker { get; set; } = null!;
///
/// Record status
///
public QueueStatusEnum Status { get; set; }
///
/// Record processing from datetime
///
public DateTime StartFrom { get; set; }
///
/// Record processing to datetime. If overflow then record is expired.
///
public DateTime? StartTo { get; set; }
///
/// Last status change timestamp
///
public DateTime LastStatusChanged { get; set; }
///
/// Record created timestamp
///
public DateTime Created { get; set; }
//public virtual QueueData RootData { get; set; } = null!;
//public virtual StatusHistory RootStatusHistory { get; set; } = null!;
}
}