private void AddToSumOfTheMonth(TransactionValue sumOfTheMonth, bool credit)
 {
     if (credit)
         _report.AddCreditForMonth(sumOfTheMonth);
     else
         _report.AddDebitsForMonth(sumOfTheMonth);
 }
        public void AddCreditForMonth(TransactionValue sumOfTheMonth)
        {
            var creditsOfMonth = CreditsSum.Values.FirstOrDefault(x => x.Date.Month == sumOfTheMonth.Date.Month);
            if (creditsOfMonth != null)
                creditsOfMonth.Value += sumOfTheMonth.Value;
            else
                CreditsSum.Values.Add(sumOfTheMonth);

            AddBalanceForMonth(sumOfTheMonth, true);
        }
        public void AddBalanceForMonth(TransactionValue sumOfTheMonth, bool credit)
        {
            var value = sumOfTheMonth.Value;
            if (!credit)
                value *= -1;

            var balanceOfMonth = Balance.Values.FirstOrDefault(x => x.Date.Month == sumOfTheMonth.Date.Month);
            if (balanceOfMonth != null)
                balanceOfMonth.Value += value;
            else
                Balance.Values.Add(new TransactionValue(value, sumOfTheMonth.Date));
        }
 public void AddValue(TransactionValue transactionValue)
 {
     Values.Add(transactionValue);
 }
        public void AddDebitsForMonth(TransactionValue sumOfTheMonth)
        {
            var debitsOfMonth = DebitsSum.Values.FirstOrDefault(x => x.Date.Month == sumOfTheMonth.Date.Month);
            if (debitsOfMonth != null)
                debitsOfMonth.Value += sumOfTheMonth.Value;
            else
                DebitsSum.Values.Add(sumOfTheMonth);

            AddBalanceForMonth(sumOfTheMonth, false);
        }