public void PrepareSummary() { List <TransactionCategory> _transactionCategories = _transactionCategoryManager.GetAll(); List <User> _users = _userManager.GetAll(); Dictionary <string, UserTransactionsViewModel> usersTransactions = new Dictionary <string, UserTransactionsViewModel>(); foreach (var user in _users.Select(z => z.Name)) { usersTransactions.Add(user, new UserTransactionsViewModel { UserName = user, Expenses = 0, Income = 0 }); } Dictionary <string, TransactionCategoryViewModel> expenseCategories = new Dictionary <string, TransactionCategoryViewModel>(); Dictionary <string, TransactionCategoryViewModel> incomeCategories = new Dictionary <string, TransactionCategoryViewModel>(); foreach (var transactionCategory in _transactionCategories) { if (transactionCategory.TransactionType == ETransactionType.Expense) { expenseCategories.Add(transactionCategory.TransactionCategoryName, new TransactionCategoryViewModel { TransactionCategoryName = transactionCategory.TransactionCategoryName, Amount = 0 }); } else { incomeCategories.Add(transactionCategory.TransactionCategoryName, new TransactionCategoryViewModel { TransactionCategoryName = transactionCategory.TransactionCategoryName, Amount = 0 } ); } } foreach (var transaction in Transactions.Where(z => z.TransactionDate >= StartTime && z.TransactionDate < EndTime)) { if (transaction.TransactionCategory.TransactionType == ETransactionType.Expense) { usersTransactions[transaction.User.Name].Expenses += transaction.Sum; expenseCategories[transaction.TransactionCategory.TransactionCategoryName].Amount += transaction.Sum; TotalExpenses += transaction.Sum; } else { usersTransactions[transaction.User.Name].Income += transaction.Sum; incomeCategories[transaction.TransactionCategory.TransactionCategoryName].Amount += transaction.Sum; TotalIncome += transaction.Sum; } } Balance = TotalIncome - TotalExpenses; UsersExpensesIncomes = usersTransactions.Values.ToList(); IncomesByCategory = incomeCategories.Values.ToList(); ExpensesByCategory = expenseCategories.Values.ToList(); }
public void SetValues() { _transactionCategories = _transactionCategoryManager.GetAll(); cmbExpenseOrIncome.ItemsSource = Enum.GetNames(typeof(ETransactionType)); cmbCategory.ItemsSource = _transactionCategories.Select(z => z.TransactionCategoryName).ToList(); dpDate.SelectedDate = SelectedTransaction.TransactionDate; cmbExpenseOrIncome.SelectedItem = Enum.GetName(typeof(ETransactionType), SelectedTransaction.TransactionCategory.TransactionType); cmbCategory.SelectedItem = SelectedTransaction.TransactionCategory.TransactionCategoryName; txtAmount.Text = SelectedTransaction.Sum.ToString(); }
private void cmbExpenseOrIncome_DropDownClosed(object sender, EventArgs e) { _transactionCategories = _transactionCategoryManager.GetAll(); cmbCategory.IsEnabled = true; if ((string)cmbExpenseOrIncome.SelectedItem == Enum.GetName(typeof(ETransactionType), ETransactionType.Expense)) { cmbCategory.ItemsSource = _transactionCategories.Where(z => z.TransactionType == ETransactionType.Expense).Select(z => z.TransactionCategoryName); } else { cmbCategory.ItemsSource = _transactionCategories.Where(z => z.TransactionType == ETransactionType.Income).Select(z => z.TransactionCategoryName); } }