示例#1
0
        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);
     }
 }