public string GetString(YearStatistic yearStatistic)
        {
            var sb = new StringBuilder();

            sb.Append($"Year: {yearStatistic.Date.Year}");
            sb.Append(Environment.NewLine);
            sb.Append(Environment.NewLine);

            foreach (var month in yearStatistic.ByMonth)
            {
                sb.Append(this.monthExchangeRateReportPresenter.GetString(month));
                sb.Append(Environment.NewLine);
                sb.Append(Environment.NewLine);
            }

            return(sb.ToString());
        }
        public virtual async Task <YearStatistic> GetYearStatistic(DateTime year)
        {
            var model = new YearStatistic
            {
                Date = year
            };

            var startDate = new DateTime(year.Year, 1, 1);
            var endDate   = startDate.AddYears(1).AddDays(-1);

            var list = new List <MonthExchangeRateReport>(12);

            while (startDate < endDate)
            {
                var monthReport = await this.GetMonthReport(startDate);

                list.Add(monthReport);
                startDate = startDate.AddMonths(1);
            }

            model.ByMonth = list;

            return(model);
        }