public Task NotifyFlowEnd(ChatModel chatModel, ChatStackItem chatStackItem)
        {
            var result        = chatModel.CurrentState.GetFlowAnswers(chatStackItem.Child.FlowName).GetFieldAnswer <object>("result");
            var callerAnswers = chatModel.CurrentState.GetFlowAnswers(chatStackItem.Step.Flow);

            foreach (var key in callerAnswers.FieldAnswers.Keys.ToArray())
            {
                if (callerAnswers[key] is FlowResult flowResult)
                {
                    if (flowResult.ResultId == chatStackItem.ResultPlaceholder.ResultId)
                    {
                        callerAnswers[key] = result;
                    }
                }
            }

            return(Task.CompletedTask);
        }
Beispiel #2
0
        public async Task NotifyFlowEnd(ChatModel chatModel, ChatStackItem chatStackItem)
        {
            var data = new { childFlow = chatStackItem.Child.FlowName, parentFlow = chatStackItem.Step.Flow };

            await CallNode(chatModel.DebugUserId, chatModel.ChatId, "flowEnded", null, data);
        }