public void FillData(IList<BalancesOfMonth> balancesOfMonthList)
        {
            ValuesOfMonth valuesOfMonth = new ValuesOfMonth();
            int balance = 0;

            foreach (BalancesOfMonth balancesOfMonth in balancesOfMonthList)
            {
                DateTime dateOfMonth = balancesOfMonth.Date;
                IList<Transaction> transactionsOfMonth = TransactionsOfMonth(dateOfMonth);

                int ultimo = dateOfMonth.Day;

                double averageBalance = 0;
                int dayOfLatestBalance = 1;
                foreach (Transaction transaction in transactionsOfMonth)
                {
                    int day = transaction.Date.Day;
                    averageBalance += CalculateProportionalBalance(dayOfLatestBalance, balance, day, ultimo);
                    balance += transaction.Amount;
                    dayOfLatestBalance = day;
                }

                averageBalance += CalculateProportionalBalance(dayOfLatestBalance, balance, ultimo + 1, ultimo);

                valuesOfMonth.Balance = balance;
                valuesOfMonth.AverageBalance = (int)averageBalance;

                balancesOfMonth.Balance = valuesOfMonth.Balance;
                balancesOfMonth.AverageBalance = valuesOfMonth.AverageBalance;
            }
        }
        public void FillData(IList<BalancesOfMonth> balancesOfMonthList)
        {
            ValuesOfMonth valuesOfMonth = new ValuesOfMonth();

            foreach (BalancesOfMonth balancesOfMonth in balancesOfMonthList)
            {
                DateTime dateOfMonth = balancesOfMonth.Date;
                IList<Transaction> transactionsOfMonth = TransactionsOfMonth(dateOfMonth);

                int precedingBalance = valuesOfMonth.Balance;

                valuesOfMonth = new ValuesOfMonth(dateOfMonth, transactionsOfMonth, precedingBalance);
                balancesOfMonth.Balance = valuesOfMonth.Balance;
                balancesOfMonth.AverageBalance = valuesOfMonth.AverageBalance;
            }
        }
        public void FillData(IList<BalancesOfMonth> balancesOfMonthList)
        {
            ValuesOfMonth valuesOfMonth = new ValuesOfMonth();
            int balance = 0;

            foreach (BalancesOfMonth balancesOfMonth in balancesOfMonthList)
            {
                DateTime dateOfMonth = balancesOfMonth.Date;
                IList<Transaction> transactionsOfMonth = TransactionsOfMonth(dateOfMonth);

                valuesOfMonth = CalculateValuesForMonth(balance, dateOfMonth, transactionsOfMonth);
                balance = valuesOfMonth.Balance;

                balancesOfMonth.Balance = valuesOfMonth.Balance;
                balancesOfMonth.AverageBalance = valuesOfMonth.AverageBalance;
            }
        }
 private ValuesOfMonth CalculateValuesForMonth(int precedingBalance, DateTime dateOfMonth, IList<Transaction> transactionsOfMonth)
 {
     ValuesOfMonth valuesOfMonth = new ValuesOfMonth();
     valuesOfMonth.CalculateValues(dateOfMonth, transactionsOfMonth, precedingBalance);
     return valuesOfMonth;
 }