public CriticalSectionResumptionInfo(CriticalSectionQueueExtension workflowInstanceExtension, string resumptionBookmark, long priorityTicket) { WorkflowInstanceExtension = workflowInstanceExtension; ResumptionBookmark = resumptionBookmark; PriorityTicket = priorityTicket; }
public CriticalSectionResumptionInfo Add(CriticalSectionQueueExtension workflowInstaceExtension, string bookmark, long priorityTicket) { if (priorityTicket == long.MinValue) { priorityTicket = GetPriorityTicket(); } int positionInTheQueue = ResumptionQueue.TakeWhile( resumptionItem => resumptionItem.PriorityTicket <= priorityTicket).Count(); CriticalSectionResumptionInfo criticalSectionResumptionInfo = new CriticalSectionResumptionInfo(workflowInstaceExtension, bookmark, priorityTicket); ResumptionQueue.Insert(positionInTheQueue, criticalSectionResumptionInfo); return(criticalSectionResumptionInfo); }