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
}
}