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