Exemple #1
0
        public MainViewModel(
            WelcomeViewModel welcomeViewModel,
            ConnectingViewModel connectingViewModel,
            ContactsViewModel contactsViewModel,
            SettingsViewModel settingsViewModel,
            CoreDispatcher uiDispatcher) : base(uiDispatcher)
        {
            if (welcomeViewModel == null || connectingViewModel == null ||
                contactsViewModel == null || settingsViewModel == null ||
                uiDispatcher == null)
            {
                throw new ArgumentNullException();
            }
            WelcomeViewModel    = welcomeViewModel;
            ConnectingViewModel = connectingViewModel;
            ContactsViewModel   = contactsViewModel;
            SettingsViewModel   = settingsViewModel;

            WelcomeViewModel.OnCompleted             += WelcomeCompleted;
            ConnectingViewModel.OnRegistered         += ConnectingViewModel_OnRegistered;
            ConnectingViewModel.OnRegistrationFailed += ConnectingViewModel_OnRegistrationFailed;
            ShowSettingsCommand = new DelegateCommand(() => IsSettingsVisible = true);

            WelcomeViewModel.OnShowSettings    += () => IsSettingsVisible = true;
            ContactsViewModel.OnShowSettings   += () => IsSettingsVisible = true;
            ConnectingViewModel.OnShowSettings += () => IsSettingsVisible = true;
            SettingsViewModel.OnClose          += SettingsViewModelOnClose;
            SettingsViewModel.OnRegistrationSettingsChanged += RegistrationSettingChanged;
        }
Exemple #2
0
 private async void WelcomeCompleted()
 {
     ApplicationView.GetForCurrentView().Title = WelcomeViewModel.Name;
     await ConnectingViewModel.EstablishConnection();
 }
Exemple #3
0
 private async void RegistrationSettingChanged()
 {
     IsActive = false;
     await ConnectingViewModel.SwitchSignalingServer();
 }