using qdr.fnd.core.pqueue.Enums; using Quadarax.Foundation.Core.Data; namespace qdr.fnd.core.pqueue { public class PsQueueItem : IPsQueueItem { #region *** Properties *** /// public string Id { get; protected set; } /// public string Owner { get; protected set; } /// public string OwnerRef { get; protected set; } /// public int Priority { get; internal set; } /// public DateTime ValidFrom { get; internal set; } /// public DateTime? ValidTo { get; internal set; } /// public DateTime Created { get; protected set; } /// public DateTime? Started { get; internal set; } /// public DateTime? Finished { get; internal set; } /// public PsStatusEnum Status { get; internal set; } /// public bool IsStatusTransient { get; internal set; } /// public int AttemptsLeft { get; internal set; } /// public int AtteptsInitial { get; internal set; } /// public string ProcessProviderClass { get; protected set; } /// public IEnumerable Arguments { get; protected set; } /// public IEnumerable Log { get; protected set;} /// public IEnumerable StatusJournal { get; protected set; } #endregion #region *** Constructors *** public PsQueueItem(string id) : this(id, string.Empty, string.Empty, string.Empty, DateTime.Now) { } public PsQueueItem(string id, string owner, string ownerRef, string providerClass, DateTime created) { Id = id; Status = PsStatusEnum.New; IsStatusTransient = false; Owner = owner; OwnerRef = ownerRef; ProcessProviderClass = providerClass; Created = created; Arguments = new List(); Log = new List(); StatusJournal = new List(); } #endregion } }