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); } } }
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); }