Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. using System.Collections.ObjectModel;
  2. using System.Threading.Tasks;
  3. using System.Windows.Input;
  4.  
  5. using WeatherBotv4App.Helpers;
  6. using WeatherBotv4App.Models;
  7. using WeatherBotv4App.Services;
  8.  
  9. using Xamarin.Forms;
  10.  
  11. namespace WeatherBotv4App.ViewModels
  12. {
  13. public class ConversationViewModel : BaseViewModel
  14. {
  15. DirectLineService service;
  16. public ObservableCollection<Message> Messages { get; set; }
  17.  
  18. private string _query;
  19.  
  20. public string Query
  21. {
  22. get { return _query; }
  23. set { SetProperty(ref _query, value); }
  24. }
  25.  
  26. public ICommand SendQueryCommand { get; private set; }
  27.  
  28. public ConversationViewModel()
  29. {
  30. service = new DirectLineService(Constants.BotUser);
  31. Messages = new ObservableCollection<Message>();
  32. SendQueryCommand = new Command(SendMessage);
  33. StartConversation();
  34. }
  35.  
  36. async Task StartConversation() => await service.GetMessages(Messages);
  37.  
  38. void SendMessage()
  39. {
  40. if (!string.IsNullOrWhiteSpace(_query))
  41. {
  42. var user = service.Account.Name.ToUpper();
  43. var message = new Message(_query, user);
  44.  
  45. Messages.Add(message);
  46. service.SendMessage(_query);
  47. }
  48.  
  49. Query = string.Empty;
  50. }
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement