public UserListPageViewModel(INavigationService navigationService,
                                     IPageDialogService dialogService,
                                     AudioPlayer audioPlayer,
                                     ClientChatHub chatHub)
            : base(navigationService)
        {
            Guard.Against.Null(dialogService, nameof(dialogService));
            Guard.Against.Null(audioPlayer, nameof(audioPlayer));
            Guard.Against.Null(chatHub, nameof(chatHub));

            _dialogService = dialogService;
            _audioPlayer   = audioPlayer;
            _chatHub       = chatHub;

            _chatHub.OnUpdateConnectedUsers(UpdateConnectedUser);
            _chatHub.OnNewUserAvailable(NewUserAvailable);
            _chatHub.OnUserNotAvailable(UserNotAvailable);
            _chatHub.OnUpdateUnreadMessages(UpdateUnreadMessages);

            Title               = Resources.MainPageTitle;
            IsProcessing        = false;
            AvailableUsers      = new ObservableCollection <UserViewModel>();
            UserSelectedCommand = new DelegateCommand <UserViewModel>(UserSelected);

            RequestAvailableUsers();
        }
Example #2
0
        public ConnectPageViewModel(INavigationService navigationService,
                                    IPageDialogService dialogService,
                                    ClientChatHub chatHub)
            : base(navigationService)
        {
            Guard.Against.Null(dialogService, nameof(dialogService));
            Guard.Against.Null(chatHub, nameof(chatHub));

            _dialogService = dialogService;
            _chatHub       = chatHub;

            Title                = Resources.ConnectPageTitle;
            UserName             = "";
            IsProcessing         = false;
            ConnectAsUserCommand = new DelegateCommand(ConnectAsUser)
                                   .ObservesCanExecute(() => IsUserNameValid);
            ConnectAsAdminCommand = new DelegateCommand(ConnectAsAdmin)
                                    .ObservesCanExecute(() => IsUserNameValid);
            //ValidateUserNameCommand = new DelegateCommand(ValidateUserName);
        }
Example #3
0
        public ChatPageViewModel(INavigationService navigationService,
                                 IPageDialogService dialogService,
                                 ClientChatHub chatHub)
            : base(navigationService)
        {
            Guard.Against.Null(dialogService, nameof(dialogService));
            Guard.Against.Null(chatHub, nameof(chatHub));

            _dialogService = dialogService;
            _chatHub       = chatHub;

            _chatHub.OnConnectWith(ConnectWith);
            _chatHub.OnReceiveConversation(ReceiveConversation);
            _chatHub.OnReceiveMessage(ReceiveMessage);

            Message            = "";
            IsProcessing       = false;
            Messages           = new ObservableCollection <MessageDetail>();
            SendMessageCommand = new DelegateCommand(SendMessage)
                                 .ObservesCanExecute(() => IsMessageValid);
        }