public async Task <GetPoolStatsResponse> GetPoolPerformanceAsync(string poolId, [FromQuery(Name = "r")] SampleRange range = SampleRange.Day, [FromQuery(Name = "i")] SampleInterval interval = SampleInterval.Hour) { var pool = GetPool(poolId); // set range var end = clock.Now; DateTime start; switch (range) { case SampleRange.Day: start = end.AddDays(-1); break; case SampleRange.Month: start = end.AddDays(-30); break; default: throw new ApiException("invalid interval"); } var stats = await cf.Run(con => statsRepo.GetPoolPerformanceBetweenAsync( con, pool.Id, interval, start, end)); var response = new GetPoolStatsResponse { Stats = stats.Select(mapper.Map <AggregatedPoolStats>).ToArray() }; return(response); }
private async Task GetPoolPerformanceAsync(HttpContext context, Match m) { var pool = GetPool(context, m); // set range var end = clock.Now; var start = end.AddDays(-1); var stats = await cf.Run(con => statsRepo.GetPoolPerformanceBetweenHourlyAsync( con, pool.Id, start, end)); var response = new GetPoolStatsResponse { Stats = stats.Select(mapper.Map <AggregatedPoolStats>).ToArray() }; await SendJsonAsync(context, response); }
public async Task <GetPoolStatsResponse> GetPoolPerformanceAsync(string poolId) { var pool = GetPool(poolId); // set range var end = clock.Now; var start = end.AddDays(-1); var stats = await cf.Run(con => statsRepo.GetPoolPerformanceBetweenHourlyAsync( con, pool.Id, start, end)); var response = new GetPoolStatsResponse { Stats = stats.Select(mapper.Map <AggregatedPoolStats>).ToArray() }; return(response); }
private async Task HandleGetPoolStatsAsync(HttpContext context, Match m) { var pool = GetPool(context, m); if (pool == null) { return; } // set range var end = clock.Now; var start = end.AddDays(-1); var stats = cf.Run(con => statsRepo.GetPoolStatsBetweenHourly( con, pool.Config.Id, start, end)); var response = new GetPoolStatsResponse { Stats = stats.Select(mapper.Map <AggregatedPoolStats>).ToArray() }; await SendJson(context, response); }