コード例 #1
0
        /// <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();
            });
        }
コード例 #2
0
 private void ShowOverview(object o)
 {
     DisplayPage = new Views.ExpenseOverviewPage(); Save();
 }