public MainWindow() { DataContext = this; InitializeComponent(); Unloaded += MainWindow_Unloaded; // Check for internet connection CheckConnection(); // Initialize login config window Config = ConfigHandler.Load(); _loginConfigWindow = GetLoginConfig(); Repository = new MailRepository(Config.Address, Config.Password); if (!OfflineMode) { Repository.CheckCredentials(); } SelectedMailList = Mails; MailRefreshTimer.Interval = new TimeSpan(0, 0, 5); MailRefreshTimer.Tick += (obj, args) => RefreshMailListAsync(); MailRefreshTimer.Start(); // Setup commands SignInCommand = new RelayCommand(ShowSignInWindow); SaveMailsToStorageCommand = new RelayCommand(SaveMailsToStorage); LoadMailsFromStorageCommand = new RelayCommand(LoadMailsFromStorage); LoadMailsFromServerCommand = new RelayCommand(LoadMailsFromServer, (o) => !IsRefreshing); SearchCommand = new RelayCommand((obj) => Search(obj), (obj) => obj.ToString().Length > 3 || obj.ToString().Length == 0); ShowSendEmailWindowCommand = new RelayCommand(ShowSendEmailWindow, (obj) => !OfflineMode); }
private void SignIn(object passwordBox) { var pb = passwordBox as PasswordBox; var newRepo = new MailRepository(Config.Address, pb.Password); if (newRepo.CheckCredentials()) { Config.Password = pb.Password; Config.Save(); Repository = newRepo; Close(); } else { MessageBox.Show("The entered credentials are incorrect."); } }