private IEnumerable <TransactionResponse> FilterTransactions(GetTransactionsByDateQuery query) { return(_context.Set <Transaction>() .Where(x => query.Filter.From.HasValue && x.Date.Value >= query.Filter.From.Value.Date) .Where(x => query.Filter.To.HasValue && x.Date.Value <= query.Filter.To.Value.Date) .AsNoTracking() .AsEnumerable() .Select(_mapper.Map <TransactionResponse>)); }
public async Task <IActionResult> Get([FromQuery] DateTime?from, [FromQuery] DateTime?to) { GetTransactionsByDateQuery query = (from, to); var transactions = await _mediator.Send(query); if (transactions.Any()) { return(Ok(transactions)); } return(NoContent()); }
public async Task <IEnumerable <TransactionResponse> > Handle(GetTransactionsByDateQuery query, CancellationToken cancellationToken) { return(FilterTransactions(query)); }