Exemplo n.º 1
0
        public static string[] Fillcategories()
        {
            List <string> _categories = new List <string>();

            _categories.Add("All Expenses ex. Miscellaneous");
            _categories.Add("All Income ex. Miscellaneous");
            _categories.Add("Gross Salary");
            _categories.AddRange(BudgetCategory.GetCategories(true));
            return(_categories.ToArray());
        }
Exemplo n.º 2
0
        public DataDefinitions()
        {
            InitializeComponent();

            Holder holder = new Holder();

            HoldersItems             = holder.HolderCollection();
            HoldersRadio.DataContext = this;

            FinancialInstitution financialinstitutions = new FinancialInstitution();

            FinancialInstitutions = financialinstitutions.GetFinancialInstitutions();
            Accounts = FinancialInstitutions.First().Accounts;
            if (!Accounts.Any(r => r.IsChecked == true))
            {
                Accounts.First().IsChecked = true;
            }
            ReportFormats = Accounts.First().ExcelImportFormats;
            if (!ReportFormats.Any(r => r.IsChecked == true))
            {
                ReportFormats.First().IsChecked = true;
            }

            comboBank.DataContext   = this;
            comboBank.SelectedIndex = 0;

            AccountRadio.DataContext = this;

            comboFormat.DataContext   = this;
            comboFormat.SelectedIndex = 0;

            comboDate.SelectedIndex      = 4;
            Holders.ItemsSource          = holder.GetHolders;
            Categories.ItemsSource       = BudgetCategory.GetCategories();
            CustomCategories.ItemsSource = BudgetCategory.GetCategories().Concat(new[] { "" });

            SetSalaryDatepicker();
            DisplayDefaultSalary();

            DataGridDefinitions.ItemContainerGenerator.StatusChanged += ItemContainerGenerator_StatusChanged;
            UpdateDataGrid();
        }
Exemplo n.º 3
0
        public void Make_Grid(bool change)
        {
            DataTable dt = new DataTable();
            string    selected_person = HoldersItems.Where(r => r.IsChecked == true).Select(x => x.HolderName).First();

            dt.Columns.Add("RowHeader");
            foreach (string rowheader in new [] { "Mean", "Median", "Standard Deviation" })
            {
                DataRow row = dt.NewRow();
                row["RowHeader"] = rowheader;
                dt.Rows.Add(row);
            }

            Dispatcher.Invoke(() => {
                DataGridAverage.DataContext = dt;
            });

            DateTime from_month = from_month = new DateTime(Convert.ToDateTime(date_month_from.SelectedDate).Year, Convert.ToDateTime(date_month_from.SelectedDate).Month, 1);
            DateTime to_month   = Convert.ToDateTime(date_month_to.SelectedDate);

            //savings
            Task saving_task = Task.Run(() =>
            {
                Tuple <string, string, string> mean_median_std = MonthlyStatement.GetHistoricalAggregateCategoryAmount("savings", selected_person, from_month, to_month);
                Dispatcher.Invoke(() => {
                    dt.Columns.Add("savings");

                    dt.Rows[0]["savings"] = mean_median_std.Item1;
                    dt.Rows[1]["savings"] = mean_median_std.Item2;
                    dt.Rows[2]["savings"] = mean_median_std.Item3;

                    DataGridAverage.DataContext = dt;
                });
            });

            //expenses
            Task expense_task = Task.Run(() =>
            {
                Tuple <string, string, string> mean_median_std = MonthlyStatement.GetHistoricalAggregateCategoryAmount("expenses", selected_person, from_month, to_month);
                Dispatcher.Invoke(() => {
                    dt.Columns.Add("expenses");

                    dt.Rows[0]["expenses"] = mean_median_std.Item1;
                    dt.Rows[1]["expenses"] = mean_median_std.Item2;
                    dt.Rows[2]["expenses"] = mean_median_std.Item3;

                    DataGridAverage.DataContext = dt;
                });
            });

            //categories
            Task categories_task = Task.Run(() =>
            {
                foreach (string category in BudgetCategory.GetCategories())
                {
                    if (category != "Miscellaneous" && !category.Contains("Investment"))
                    {
                        Tuple <string, string, string> mean_median_std = MonthlyStatement.GetHistoricalAggregateCategoryAmount(category, selected_person, from_month, to_month);
                        Dispatcher.Invoke(() => {
                            if (!change)
                            {
                                DataGridTextColumn c = new DataGridTextColumn();
                                c.Header             = category;
                                c.IsReadOnly         = true;
                                c.CellStyle          = (System.Windows.Style)FindResource("RightAlignment");
                                c.Binding            = new System.Windows.Data.Binding(category);
                                DataGridAverage.Columns.Add(c);
                            }

                            dt.Columns.Add(category);
                            dt.Rows[0][category] = mean_median_std.Item1;
                            dt.Rows[1][category] = mean_median_std.Item2;
                            dt.Rows[2][category] = mean_median_std.Item3;
                        });
                    }
                }
                Dispatcher.Invoke(() => {
                    DataGridAverage.DataContext = dt;
                });
            });

            tasks.Add(categories_task);
            tasks.Add(saving_task);
            tasks.Add(expense_task);
        }