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>(); }