private void CategoryDialogClosing(object sender, RoutedEventArgs e) { DialogClosingEventArgs eventArgs = (DialogClosingEventArgs)e; if (eventArgs.Parameter.Equals(false)) { return; } if (!string.IsNullOrWhiteSpace(ProfitUC.UserControl.CategoryText.Text)) { using (var ctx = new UserContext()) { ProfitCategory category = new ProfitCategory() { name = ProfitUC.UserControl.CategoryText.Text }; ctx.ProfitCategories.Add(category); ctx.SaveChanges(); _ProfitCategories = _ProfitCategories.Concat(new[] { category }); PropChanged("Categories"); } } }
public MainWindow() { InitializeComponent(); this.DataContext = this; this.WindowState = WindowState.Maximized; using (var ctx = new UserContext()) { loggedUser = ctx.Properties.Where(p => p.key == PropertyConstants.LOGGED_USER).SingleOrDefault(); if (string.IsNullOrWhiteSpace(loggedUser.value)) { new Login().Show(); this.Close(); return; } user = ctx.Users.Where(u => u.username.Equals(loggedUser.value)).Single(); expenseCategories = new List <ExpenseCategory>(ctx.ExpenseCategories.ToList()); profitCategories = new List <ProfitCategory>(ctx.ProfitCategories.ToList()); activities = new List <Activity>(); profitActivities = new List <Activity>(); expenseActivities = new List <Activity>(); foreach (Profit profit in ctx.Profits.Where(p => p.user_id == user.id).OrderBy(p => p.date)) { ProfitCategory profitCategory = ctx.ProfitCategories.Where(p => p.id == profit.category_id).SingleOrDefault(); profitActivities.Add(new Activity() { dateTime = profit.date, amount = profit.amount, type = Constants.PROFIT, category = profitCategory.name }); } foreach (Expense expense in ctx.Expenses.Where(e => e.user_id == user.id).OrderBy(e => e.date)) { ExpenseCategory expenseCategory = ctx.ExpenseCategories.Where(e => e.id == expense.category_id).SingleOrDefault(); expenseActivities.Add(new Activity() { dateTime = expense.date, amount = expense.amount, type = Constants.EXPENSE, category = expenseCategory.name }); } activities.AddRange(profitActivities); activities.AddRange(expenseActivities); activities = activities.OrderBy(a => a.dateTime).ToList(); profitExpenses = activities; } typeList = new List <string>() { Constants.ALL_DATA, Constants.PROFIT, Constants.EXPENSE }; allList = new List <string>() { Constants.ALL_DATA }; periodList = new List <string>() { Constants.ALL_DATA, Constants.PERIOD_DAY, Constants.PERIOD_MONTH, Constants.PERIOD_YEAR }; categoryList = allList; SelectedType = Constants.ALL_DATA; SelectedCategory = Constants.ALL_DATA; SelectedPeriod = Constants.ALL_DATA; chartData(activities, activities); showDataButton = new RelayCommand(ShowData, p => true); document = new RelayCommand(ShowDocument, p => true); }