public override Task DeleteActivity(ITurnContext context, ConversationReference reference) { lock (_activeQueueLock) { var replies = ActiveQueue.ToList(); for (int i = 0; i < ActiveQueue.Count; i++) { if (replies[i].Id == reference.ActivityId) { replies.RemoveAt(i); ActiveQueue.Clear(); foreach (var item in replies) { ActiveQueue.Enqueue(item); } break; } } } return(Task.CompletedTask); }
public override Task <ResourceResponse> UpdateActivity(ITurnContext context, Activity activity) { lock (_activeQueueLock) { var replies = ActiveQueue.ToList(); for (int i = 0; i < ActiveQueue.Count; i++) { if (replies[i].Id == activity.Id) { replies[i] = activity; ActiveQueue.Clear(); foreach (var item in replies) { ActiveQueue.Enqueue(item); } return(Task.FromResult(new ResourceResponse(activity.Id))); } } } return(Task.FromResult(new ResourceResponse())); }