示例#1
0
        public Dialog(CD.Dialog dialog) : base(dialog)
        {
            Dialogs = new List <Dialog>();
            Message =
                dialog is CD.PaginatedDialog ? (dialog as CD.PaginatedDialog).Content.ToList() : new List <string>()
            {
                dialog.Content
            };

            Buttons = new List <string>();
            foreach (var btn in dialog.SupportButtons)
            {
                Buttons.Add(btn.Id);
            }

            Operation = dialog.Operation?.ToString();
        }
示例#2
0
        /// <summary>
        /// Use recursion to extract subdialogs
        /// </summary>
        private List <Dialog> DialogsReader(CD.Dialog entryPoint)
        {
            if (entryPoint == null)
            {
                return(new List <Dialog>());
            }

            List <Dialog> result = new List <Dialog>();

            foreach (var dia in entryPoint.Dialogs)
            {
                Dialog parent = new Dialog(dia);
                parent.Dialogs = DialogsReader(dia);
                result.Add(parent);
            }
            return(result);
        }
示例#3
0
 /// <summary>
 /// Returns sorted subdialogs
 /// </summary>
 public virtual List <Dialog> GetSubDialogs(Dialog currentDialog = null)
 {
     return(Dialogs.OrderBy(x => x.DisplayPriority).ToList());
 }