Esempio n. 1
0
 private static void WriteFatHeadAnswers(XmlWriter xw, FatHeadAnswers childNode)
 {
     xw.WriteStartElement("FatHeadAnswer");
     WriteDialogNodeProperties(xw, childNode);
     if (!String.IsNullOrEmpty(childNode.MessageExpression))
     {
         xw.WriteStartElement("Message");
         xw.WriteString(childNode.MessageExpression);
         xw.WriteEndElement();
     }
     WriteChildrenNodes(xw, childNode);
     xw.WriteEndElement();
     if (childNode.MappingUris != null)
     {
         foreach (var uri in childNode.MappingUris)
         {
             xw.WriteComment(uri);
         }
     }
 }
Esempio n. 2
0
        private static void ExecuteFatHeadNode(Dialog dialog, IDictionary <string, string> variablesValues, FatHeadAnswers fatHeadAnswerNode, DialogExecutionResult result)
        {
            // Adjust variables values
            ExecuteVariableAssignments(fatHeadAnswerNode, variablesValues);

            // Build the mapping URI
            bool redirectToLongTail;
            bool directAnswserValueNotSupportedInFederation;
            var  mappingUri = MappingUriGenerator.ComputeMappingURI(variablesValues, dialog.MappingUriConfig, out redirectToLongTail, out directAnswserValueNotSupportedInFederation);

            // Store the result of this execution
            DialogNodeExecution nodeExecution = null;

            if (redirectToLongTail || directAnswserValueNotSupportedInFederation || String.IsNullOrEmpty(mappingUri))
            {
                nodeExecution = new DialogNodeExecution(fatHeadAnswerNode);
            }
            else
            {
                nodeExecution = new FatHeadAnswerNodeExecution(fatHeadAnswerNode, mappingUri);
            }
            result.AddDialogNodeExecution(nodeExecution);
        }