private ChatBoxViewModel CreateChatboxViewModel(ChatBox chatbox) { var chatBoxVM = new ChatBoxViewModel(chatbox); chatBoxVM.NewMessage += SendMessage; return(chatBoxVM); }
public ChatViewModel(INavigationService navigationService, IRepository <Message> messageRepository, ChatbotViewModel chatbotViewModel, ICommandFactory commandFactory, IDialogService dialogService, IQueryFactory queryFactory, ChatBoxViewModel message) : base(navigationService) { Guard.Against.Null(navigationService, nameof(navigationService)); Guard.Against.Null(messageRepository, nameof(messageRepository)); Guard.Against.Null(chatbotViewModel, nameof(chatbotViewModel)); Guard.Against.Null(commandFactory, nameof(commandFactory)); Guard.Against.Null(dialogService, nameof(dialogService)); Guard.Against.Null(queryFactory, nameof(queryFactory)); Guard.Against.Null(message, nameof(message)); ChatbotViewModel = chatbotViewModel; _dialogService = dialogService; Messages = messageRepository; ChatBoxViewModel = message; Title = "Chat Page"; SendMessage = commandFactory .MakeDelegateWithParameter <SendMessageCommand, IChatBoxModel>(); GotoOptions = new DelegateCommand(GotoOptionsCommand); _getMessagesQuery = queryFactory.MakeQuery <GetMessagesQuery>(); }
public async Task <ChatBoxViewModel> GetChatBoxAsync(string roomId) { ChatBoxViewModel chatBoxVM = null; try { chatBoxVM = CreateChatboxViewModel(await _chatBoxService.GetNewChatBoxAsync(roomId)); _chatBoxViewModelList.Add(chatBoxVM); } catch (Exception e) { System.Windows.MessageBox.Show("An error occured while retrieving a new ChatBox " + Environment.NewLine + "Message : " + e.Message + Environment.NewLine + "Stack Trace : " + e.StackTrace + Environment.NewLine + "Inner Exception : " + e.InnerException ); } return(chatBoxVM); }