public static void StartupStage(StartStage StagetoRun) { switch (StagetoRun) { case StartStage.PreUI: SettingsData.Instance.RestartTriggered = false; CommonCommands.ChangeTheme((SharedResourceDictionary)null); App.StartupStage(StartStage.MainWindow); break; case StartStage.MainWindow: new MainWindow().Show(); break; case StartStage.UIRendered: if (SettingsData.Instance.SettingsRecreated) { Messenger.Default.Send<DialogMessage>(new DialogMessage(string.Empty, (Action<MessageBoxResult>)(o => { })), (object)DialogType.ConfigError); SettingsData.Instance.SettingsRecreated = false; } App.StartupStage(StartStage.OOBE); break; case StartStage.OOBE: if (!SettingsData.Instance.OOBEScreenDisplayed && Enumerable.Count<Decimal>((IEnumerable<Decimal>)CommonCommands.GetAvailableUserAccounts()) > 0) { SettingsData.Instance.OOBEScreenDisplayed = true; SettingsData.Save(); } if (!SettingsData.Instance.OOBEScreenDisplayed) { WelcomeView content = new WelcomeView(); AccountManagementViewModel model = new AccountManagementViewModel(0M) { IsOOBE = true }; content.DataContext = model; Messenger.Default.Send<GenericMessage<UserControl>>(new GenericMessage<UserControl>(content), ViewModelMessages.ShowCenterModalWindowHost); } App.StartupStage(StartStage.ProfileUpdate); break; case StartStage.ProfileUpdate: foreach (Decimal num in CommonCommands.GetAvailableUserAccounts()) { if (num > new Decimal(0)) { UserAccountViewModel accountViewModel = new UserAccountViewModel(num); if (accountViewModel.Settings.TwitterAccountID > new Decimal(0) && !string.IsNullOrEmpty(accountViewModel.Settings.TwitterAccountName)) { App.AppState.Accounts.Add(accountViewModel); (System.Windows.Application.Current as App).LoadExtensions(num); } else CommonCommands.DeleteAccountData(num); } else { try { Directory.Delete(ApplicationPaths.AppConfigPath + "\\0", true); } catch { } } } App.AppState.Accounts.Sort<int>((Func<UserAccountViewModel, int>)(x => x.Settings.Index), ListSortDirection.Ascending); if (App.AppState.Accounts.Count > 0) LoginView.Show(System.Windows.Application.Current.MainWindow); else if (SettingsData.Instance.OOBEScreenDisplayed) { Messenger.Default.Send<GenericMessage<object>>(new GenericMessage<object>((object)null), (object)ViewModelMessages.CloseCenterModalWindowHost); AccountManagementViewModel managementViewModel = new AccountManagementViewModel(new Decimal(0)); ManageAccountView manageAccountView = new ManageAccountView(); manageAccountView.DataContext = (object)managementViewModel; Messenger.Default.Send<GenericMessage<System.Windows.Controls.UserControl>>(new GenericMessage<System.Windows.Controls.UserControl>((System.Windows.Controls.UserControl)manageAccountView), (object)ViewModelMessages.ShowCenterModalWindowHost); managementViewModel.AddUserAccountCommand.Execute((object)null); } foreach (UserAccountViewModel accountViewModel in (Collection<UserAccountViewModel>)App.AppState.Accounts) accountViewModel.UpdateProfile(true); App.StartupStage(StartStage.LoadTwitViews); break; case StartStage.LoadTwitViews: ((System.Windows.Application.Current.MainWindow as MainWindow).DataContext as MainViewModel).PostLoad(); break; } }
private void AddUserAccount() { Messenger.Default.Send<GenericMessage<object>>(new GenericMessage<object>((object) null), (object) ViewModelMessages.CloseCenterModalWindowHost); ManageAccountView manageAccountView = new ManageAccountView(); manageAccountView.DataContext = (object) new AccountManagementViewModel(new Decimal(0)); Messenger.Default.Send<GenericMessage<UserControl>>(new GenericMessage<UserControl>((UserControl) manageAccountView), (object) ViewModelMessages.ShowCenterModalWindowHost); }
private void ManageAccounts() { this.IsOOBE = false; Messenger.Default.Send<GenericMessage<object>>(new GenericMessage<object>(null), ViewModelMessages.CloseCenterModalWindowHost); ManageAccountView content = new ManageAccountView { DataContext = this }; Messenger.Default.Send<GenericMessage<UserControl>>(new GenericMessage<UserControl>(content), ViewModelMessages.ShowCenterModalWindowHost); }