/// <summary> /// Constructor /// </summary> public MainWindowVM() { Logging.Log.Info("initializing..."); Globals._mailClient.MailFinished += _mailClient_MailFinished; CsvReader.CsvFinished += _mailClient_MailFinished; // initial page is overview DisplayPage = new Views.ExpenseOverviewPage(); // get payments until now from database Logging.Log.Info("getting payments from database"); DataBaseHelper.GetPaymentsFromDB().ForEach(pm => Globals.Payments.Add(pm)); Logging.Log.Info($"found {Globals.Payments.Count} payments"); // get replacements until now from database DataBaseHelper.GetReplacementsFromDB().ForEach(rep => Globals.Replacements.Add(rep)); // get categories until now from database Logging.Log.Info("getting categories from database"); DataBaseHelper.GetCategoriesFromDB().ForEach(cat => Globals.Categories.Add(cat)); Logging.Log.Info($"found {Globals.Categories.Count} categories"); // get settings from database DataBaseHelper.GetSettingsFromDB().ForEach(set => Globals.Settings.Add(set)); // initialize default settings if (!Globals.Settings.Any(s => s.Name == Globals.PAYPAL_FOLDER_SETTING)) { Globals.Settings.Add(new Setting(Globals.PAYPAL_FOLDER_SETTING, "InBox")); } Logging.Log.Info($"PayPal folder is {Globals.Settings.Where(s=>s.Name==Globals.PAYPAL_FOLDER_SETTING).First().Value}"); // initialize update timer checkMailTimer = new Timer(1000 * 60 * 20); checkMailTimer.Elapsed += CheckMailTimer_Elapsed; checkMailTimer.Start(); OverviewCommand = new RelayCommand(ShowOverview); ReplacementsCommand = new RelayCommand(ShowReplacements); CategoriesCommand = new RelayCommand(ShowCategories); ChartsCommand = new RelayCommand(ShowCharts); SettingsCommand = new RelayCommand(ShowSettings); ReadCsvCommand = new RelayCommand(ReadCsv); Task.Run(() => { Globals._mailClient.ReadImap(); }); }
private void ShowOverview(object o) { DisplayPage = new Views.ExpenseOverviewPage(); Save(); }