Example #1
0
        private List <Document> GetQuickReplayMessages(QueryResponse queryResponse)
        {
            var quickReplayMessageCollection = queryResponse.ToQuickReplaies();

            if (quickReplayMessageCollection != null)
            {
                var documents = new List <Document>();

                for (int i = 0; i < quickReplayMessageCollection.Count; i++)
                {
                    var document = new Select
                    {
                        Scope   = SelectScope.Immediate,
                        Options = new SelectOption[quickReplayMessageCollection[i].Replies.Count()],
                        Text    = quickReplayMessageCollection[i].Title
                    };

                    if (quickReplayMessageCollection[i].Replies != null)
                    {
                        for (int j = 0; j < quickReplayMessageCollection[i].Replies.Count(); j++)
                        {
                            document.Options[j] = new SelectOption
                            {
                                Text  = quickReplayMessageCollection[i].Replies[j],
                                Order = j,
                                Value = new PlainText {
                                    Text = quickReplayMessageCollection[i].Replies[j]
                                }
                            };
                        }
                    }

                    documents.Add(document);
                }

                return(documents);
            }

            return(null);
        }
        public Task <IList <Document> > ParseAsync(QueryResponse queryResponse, MessageDescriptor messageDescriptor)
        {
            var quickReplayMessageCollection = queryResponse.ToQuickReplaies();

            if (quickReplayMessageCollection != null)
            {
                var documents = new List <Document>();

                for (int i = 0; i < quickReplayMessageCollection.Count; i++)
                {
                    var document = new Select
                    {
                        Scope   = SelectScope.Immediate,
                        Options = new SelectOption[quickReplayMessageCollection[i].Replies.Count()],
                        Text    = quickReplayMessageCollection[i].Title
                    };

                    if (quickReplayMessageCollection[i].Replies != null)
                    {
                        for (int j = 0; j < quickReplayMessageCollection[i].Replies.Count(); j++)
                        {
                            document.Options[j] = new SelectOption
                            {
                                Text  = quickReplayMessageCollection[i].Replies[j],
                                Order = j,
                                Value = new PlainText {
                                    Text = quickReplayMessageCollection[i].Replies[j]
                                }
                            };
                        }
                    }

                    documents.Add(document);
                }

                return(Task.FromResult <IList <Document> >(documents));
            }

            return(null);
        }
Example #3
0
        public Task <IList <Activity> > ParseAsync(QueryResponse queryResponse, MessageDescriptor messageDescriptor)
        {
            List <Activity> activities = null;

            var quickReplayCollection = queryResponse.ToQuickReplaies();

            if (quickReplayCollection != null)
            {
                activities = new List <Activity>();

                foreach (var quickReplay in quickReplayCollection)
                {
                    var activity = new Activity();
                    activity.Text       = quickReplay.Title;
                    activity.Type       = ActivityTypes.Message;
                    activity.TextFormat = TextFormatTypes.Plain;

                    activity.SuggestedActions         = new SuggestedActions();
                    activity.SuggestedActions.Actions = new List <CardAction>();

                    if (quickReplay.Replies != null)
                    {
                        foreach (var reply in quickReplay.Replies)
                        {
                            activity.SuggestedActions.Actions.Add(new CardAction()
                            {
                                Title = reply, Type = ActionTypes.ImBack, Value = reply
                            });
                        }
                    }

                    activities.Add(activity);
                }
            }

            return(Task.FromResult <IList <Activity> >(activities));
        }