public async Task <IActionResult> GetChart( [FromQuery, Required] string exchangeAddress, [FromQuery, Required] long startTime, [FromQuery, Required] long endTime, [FromQuery, Required] ChartUnit unit) { var charts = await _chartService.GetChartData(exchangeAddress, startTime, endTime, unit); return(Ok(_mapper.Map <List <Core.Chart.Chart>, List <ChartDto> >(charts.ToList()))); }
public async Task <IEnumerable <Chart> > GetChartData(string exchangeAddress, long startTime, long endTime, ChartUnit unit) { var start = startTime.ToUnixUtcDateTime(); var end = endTime.ToUnixUtcDateTime(); var chartAggregation = await _exchangeEventsRepository.GetChartsAsync(exchangeAddress, start, end, (int)unit); return(chartAggregation.Select(chart => new Chart { Date = new DateTime(chart.Id.Year, chart.Id.Month, chart.Id.Day), EthLiquidity = chart.EthLiquidity, EthVolume = chart.EthVolume, TokenLiquidity = chart.TokenLiquidity, MarginalEthRate = chart.EthLiquidity == 0 ? 0 : chart.TokenLiquidity / chart.EthLiquidity })); }