public async Task <ActionResult <TransactionToReturnDto> > GetTransactionAsync(int id)
        {
            var spec = new TransactionsWithStocksSpecification(id);

            var transaction = await _transactionsRepo.GetEntityWithSpec(spec);

            if (transaction == null)
            {
                return(NotFound(new ApiResponse(404)));
            }

            return(_mapper.Map <StockTransaction, TransactionToReturnDto>(transaction));
        }
        public async Task <ActionResult <Pagination <TransactionToReturnDto> > > GetTransactionsAsync(
            [FromQuery] TransactionSpecParams transactionParams)
        {
            var spec = new TransactionsWithStocksSpecification(transactionParams);

            var countSpec = new TransactionWithFiltersForCountSpecification(transactionParams);

            var totalItems = await _transactionsRepo.CountAsync(countSpec);

            var transactions = await _transactionsRepo.ListAsync(spec);

            var data = _mapper
                       .Map <IReadOnlyList <StockTransaction>, IReadOnlyList <TransactionToReturnDto> >(transactions);

            return(Ok(new Pagination <TransactionToReturnDto>(transactionParams.PageIndex,
                                                              transactionParams.PageSize, totalItems, data)));
        }