IActor IStewardManager.GetActor(IStewardDialogContext context, IConversationData conversationData) { if (conversationData.IsHandled()) { return(new WatsonActor(context, conversationData)); } if (conversationData.IsAskingForOwner()) { return(new OwnerServiceActor(context , conversationData , ServiceResolver.Get <ISettings>() , ServiceResolver.Get <ILogManager>().GetLogger(typeof(OwnerServiceActor)))); } if (conversationData.IsAskingForServiceCloudCase()) { return(new ServiceCloudCaseActor(context , conversationData , ServiceResolver.Get <ISettings>() , ServiceResolver.Get <ILogManager>().GetLogger(typeof(ServiceCloudCaseActor)))); } return(new QnAMakerActor(context)); }
public static void AssertIsTextDataWith(this IConversationData conversationData, string text) { Assert.IsTrue(conversationData is TextData); var textData = (TextData)conversationData; Assert.AreEqual(text, textData.Text); }
protected virtual async Task SendMessageToWatson(IDialogContext dialogContext, string message) { var log = GetLog(); try { var manager = GetObject <IStewardManager>(); var watsonContext = manager.GetWatsonContext(dialogContext); IConversationData conversationData = manager.GetConversationData(await GetObject <IWatsonConversationService>().SendMessage(message, watsonContext.Value)); if (conversationData.IsEnded()) { watsonContext.Remove(); } else { watsonContext.Value = conversationData.Context; watsonContext.Save(); } await manager.GetActor(manager.CreateStewardDialogContext(dialogContext), conversationData).Execute(); } catch (Exception exception) { log.Error($"exception.Message : {exception.Message}"); log.Error($"exception.StackTrace : {exception.StackTrace}"); } }
public static void AssertIsEntityDataWith(this IConversationData conversationData, string meta, string alias, string text) { Assert.IsTrue(conversationData is EntityData); var entityData = (EntityData)conversationData; Assert.AreEqual(alias, entityData.Alias); Assert.AreEqual(meta, entityData.Meta); Assert.AreEqual(text, entityData.Text); }
public static void UpdateData(this IMutableConversationData data, IConversationData update) { data.LastLineEndTime = update.LastLineEndTime ?? data.LastLineEndTime; data.Lines = update.Lines ?? data.Lines; if (update.Actors.Count > data.Actors.Count) { data.Actors.Resize((uint)update.Actors.Count); } for (int i = 0; i < update.Actors.Count; ++i) { data.Actors[i] = update.Actors[i] ?? data.Actors[i]; } }
public ConversationTemplate() : base() { ConversationData = new ConversationData(this); }
public virtual IConversationData ReadUpdateConversationData(Packet packet, IConversationData existingData, params object[] indexes) { return(existingData); }
internal WatsonActor(IStewardDialogContext context, IConversationData conversationData) : base(context) { this.conversationData = conversationData; }
public ServiceCloudCaseActor(IStewardDialogContext context, IConversationData conversationData, ISettings settings, ILog log) : base(context) { this.conversationData = conversationData; this.settings = settings; this.log = log; }
internal OwnerServiceActor(IStewardDialogContext context, IConversationData conversationData, ISettings settings, ILog log) : base(context) { this.conversationData = conversationData; this.settings = settings; this.log = log; }