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()); }
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(); }
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); }