public async Task <IReadOnlyList <TradeModel> > GetTradesByDates( DateTime from, DateTime to, [FromQuery] int offset = 0, [FromQuery] int limit = 100) { if (from >= to) { throw new ArgumentException($"Parameter '{nameof(from)}' must be earlier than parameter '{nameof(to)}'"); } var data = await _historyRecordsRepository.GetByDatesAsync( from, to, offset, limit); return(Mapper.Map <IReadOnlyList <TradeModel> >(data)); }
public override async Task <GetTradesResponse> GetTradesByDates(GetTradesByDatesRequest request, ServerCallContext context) { var pagination = GrpcMapper.EnsurePagination(request.Pagination); var data = await _historyRecordsRepository.GetByDatesAsync( request.From.ToDateTime(), request.To.ToDateTime(), pagination.Offset, pagination.Limit); var items = data.Select(GrpcMapper.Map).ToArray(); return(new GetTradesResponse() { Pagination = new PaginatedInt32Response() { Count = items.Length, Offset = pagination.Offset + items.Length }, Items = { items } }); }