public async Task <List <Model> > Handle(Query request, CancellationToken cancellationToken)
            {
                var query = _query;

                var fromExpenseMonthId = request.FromExpenseMonthId.HasValue
                    ? request.FromExpenseMonthId.Value
                    : _expenseMonthService.GetExpenseMonthForNMonthsAgo(5);

                query = query.Where(q => q.ExpenseMonth >= fromExpenseMonthId);

                if (request.ToExpenseMonthId.HasValue)
                {
                    query = query.Where(q => q.ExpenseMonth <= request.ToExpenseMonthId);
                }

                var items = await query.ToListAsync(cancellationToken);

                var result = items.Select(x => new Model(
                                              x.Id,
                                              x.Value,
                                              x.ExpenseMonth,
                                              _expenseMonthService.GetExpenseMonthName(x.ExpenseMonth),
                                              x.ExpenseCategoryId.HasValue ? new Model.CategoryModel(x.ExpenseCategoryId.Value, x.ExpenseCategoryName) : null
                                              )).OrderBy(x => x.ExpenseMonth).ToList();

                return(result);
            }