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);
        }