public async Task <IEnumerable <Income> > GetAllIncomesAsync(IncomeRequestDTO request)
        {
            var incomes = (await incomeRepository.GetAllAsync(request.DateFilter));

            if (request.SourceId.HasValue)
            {
                incomes = incomes.Where(x => request.IsSecondCat ? x.SecondSourceId == request.SourceId.Value : x.SourceId == request.SourceId.Value);
            }

            return(incomes.OrderByDescending(x => x.Date).ThenBy(x => x.Source));
        }
        public async Task <HttpResponseMessage> GetIncomesAsync(IncomeRequestDTO request)
        {
            var incomes = (await incomeService.GetAllIncomesAsync(request))
                          .Where(x => x.SourceId != (int)Categories.SavingsPot);

            return(Request.CreateResponse(HttpStatusCode.OK, new {
                Incomes =
                    incomes.Select(x => new
                {
                    x.Id,
                    x.Name,
                    x.Source,
                    x.SecondSource,
                    Date = x.Date.ToString("MM/dd/yyyy"),
                    x.Amount,
                    x.WeekNo
                })
            }));;;
        }