/// <summary>
        /// Text message is created and added to the message collection.
        /// </summary>
        /// <param name="text">new message text.</param>
        /// <param name="suggestedActions">suggestion value for message</param>
        private void AddTextMessage(string text, SuggestedActions suggestedActions = null)
        {
            TextMessage message = new TextMessage();

            message.Text   = text;
            message.Author = this.ViewModel.Bot;

            if (suggestedActions != null)
            {
                ChatSuggestions suggestions     = new ChatSuggestions();
                var             suggestionItems = new ObservableCollection <ISuggestion>();
                foreach (CardAction action in suggestedActions.Actions)
                {
                    var suggestion = new Suggestion();
                    suggestion.Text = action.Title;
                    if (!string.IsNullOrEmpty(action.Image))
                    {
                        suggestion.Image = action.Image;
                    }

                    suggestionItems.Add(suggestion);
                }

                suggestions.Items   = suggestionItems;
                message.Suggestions = suggestions;
            }

            ViewModel.Messages.Add(message);
        }
예제 #2
0
        /// <summary>
        /// Text message is created and added to the message collection.
        /// </summary>
        /// <param name="text">new message text.</param>
        /// <param name="suggestedActions">suggestion value for message</param>
        private void AddTextMessage(Activity activity)
        {
            TextMessage message = new TextMessage();

            message.Text     = activity.Text;
            message.Author   = this.ViewModel.Bot;
            message.DateTime = DateTime.Now;

            if (activity.SuggestedActions != null && activity.SuggestedActions.Actions.Count > 0)
            {
                ChatSuggestions suggestions     = new ChatSuggestions();
                var             suggestionItems = new ObservableCollection <ISuggestion>();
                foreach (CardAction action in activity.SuggestedActions.Actions)
                {
                    var suggestion = new Suggestion();
                    suggestion.Text = action.Title;
                    suggestionItems.Add(suggestion);
                }

                suggestions.Items   = suggestionItems;
                message.Suggestions = suggestions;
            }

            ViewModel.Messages?.Add(message);
        }
예제 #3
0
        public TravelChatViewModel()
        {
            this.messages    = new ObservableCollection <object>();
            this.CurrentUser = new Author()
            {
                Name = "LadyBug", Avatar = "ladybugimg.png"
            };

            chatSuggestions = new ChatSuggestions();

            suggestions = new ObservableCollection <ISuggestion>();
            suggestions.Add(new Suggestion()
            {
                Text = "Airways 1", Image = "plane.png"
            });
            suggestions.Add(new Suggestion()
            {
                Text = "Airways 2"
            });
            suggestions.Add(new Suggestion()
            {
                Text = "Airways 3"
            });
            suggestions.Add(new Suggestion()
            {
                Text = "Airways 4"
            });

            chatSuggestions.Orientation = SuggestionsOrientation.Vertical;

            chatSuggestions.Items = suggestions;
            this.GenerateMessages();
        }