public bool TryUpdate(string convId, HandoffRecord newHandoffRecord, HandoffRecord existingHandoffRecord)
 {
     return(_handoffRecords.TryUpdate(convId, newHandoffRecord, existingHandoffRecord));
 }
 public virtual async Task <bool> Add(string conversationId, HandoffRecord handoffRecord)
 {
     return(_handoffRecords.TryAdd(conversationId, handoffRecord));
 }
 public abstract Task RouteActivityToExistingHandoff(ITurnContext turnContext, HandoffRecord handoffRecord);
 public virtual Task HandleHandoffStatusEvent(ITurnContext turnContext, HandoffRecord handoffRecord)
 {
     return(Task.CompletedTask);
 }
 public virtual async Task HandleHandoffStatusCompletedEvent(ITurnContext turnContext, HandoffRecord handoffRecord)
 {
     await _conversationHandoffRecordMap.Remove(turnContext.Activity.Conversation.Id);
 }