private HeroPowerChartData HeroChartData(IEnumerable <Hero> heroes, IEnumerable <Power> powers) { HeroPowerChartData results = new HeroPowerChartData() { ChartXData = heroes.Select(h => h.Name) }; var barChartData = InitializeBarChart(powers).ToList(); foreach (var power in powers) { foreach (var hero in heroes) { var heroPower = hero.Powers.FirstOrDefault(hp => hp.Power.Id == power.Id); var powerIndex = powers.IndexOf(power); if (heroPower != null) { barChartData[powerIndex].Data.Add(heroPower.Power.Strength); } else { barChartData[powerIndex].Data.Add(0); } } } results.Data = barChartData; return(results); }
private HeroPowerChartData PowerChartData(IEnumerable <Hero> heroes, IEnumerable <Power> powers) { HeroPowerChartData results = new HeroPowerChartData() { ChartXData = powers.Select(p => p.Name) }; var barChartData = heroes.Select(hero => new ChartData { Data = new List <int>() }) .ToList(); foreach (var power in powers) { var powerIndex = powers.IndexOf(power); barChartData[powerIndex].Data.Add(power.Heroes.ToList().Count); } results.Data = barChartData; return(results); }