Ejemplo n.º 1
0
        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>();
        }