private async Task GetPoolInfosAsync(HttpContext context, Match m) { var response = new GetPoolsResponse { Pools = clusterConfig.Pools.Where(x => x.Enabled).Select(config => { var stats = cf.Run(con => statsRepo.GetLastPoolStats(con, config.Id)); var result = config.ToPoolInfo(mapper, stats); result.TotalPaid = cf.Run(con => statsRepo.GetTotalPoolPayments(con, config.Id)); #if DEBUG var from = new DateTime(2018, 1, 6, 16, 0, 0); #else var from = clock.Now.AddDays(-1); #endif result.TopMiners = cf.Run(con => statsRepo.PagePoolMinersByHashrate( con, config.Id, from, 0, 15)) .Select(mapper.Map <MinerPerformanceStats>) .ToArray(); return(result); }).ToArray() }; await SendJsonAsync(context, response); }
private async Task HandleGetPoolsAsync(HttpContext context, Match m) { GetPoolsResponse response; lock (pools) { response = new GetPoolsResponse { Pools = pools.Select(pool => { var poolInfo = mapper.Map <PoolInfo>(pool.Config); poolInfo.PoolStats = pool.PoolStats; poolInfo.NetworkStats = pool.NetworkStats; poolInfo.PoolFeePercent = (float)pool.Config.RewardRecipients .Where(x => x.Type == RewardRecipientType.Op) .Sum(x => x.Percentage); poolInfo.DonationsPercent = (float)pool.Config.RewardRecipients .Where(x => x.Type == RewardRecipientType.Dev) .Sum(x => x.Percentage); return(poolInfo); }).ToArray() }; } await SendJson(context, response); }
private async Task HandleGetPoolsAsync(HttpContext context, Match m) { GetPoolsResponse response; lock (pools) { response = new GetPoolsResponse { Pools = pools.Select(pool => pool.ToPoolInfo(mapper)).ToArray() }; } await SendJson(context, response); }
private async Task HandleGetPoolsAsync(HttpContext context, Match m) { GetPoolsResponse response; lock (pools) { response = new GetPoolsResponse { Pools = pools.Select(pool => { var poolInfo = mapper.Map <PoolInfo>(pool.Config); poolInfo.PoolStats = pool.PoolStats; poolInfo.NetworkStats = pool.NetworkStats; return(poolInfo); }).ToArray() }; } await SendJson(context, response); }