public async Task <ChartViewModel> CreateAsync() { var results = await _parkRepository.GetAllSportsClubsAsync(); var sports = (await _parkRepository.GetAllSportTypesAsync()).Select(x => x.Name).ToArray(); var count = new decimal[sports.Length]; foreach (var result in results) { count[Array.FindIndex(sports, s => s.Equals(result.Sport.ToString()))]++; } var builder = new ChartBuilder(ChartType.doughnut) .AddDataX(sports) .AddDatasetY(count, label: "Make up of sports offered by our clubs", borderWidth: 1, dp: 0 ) .AddBackgroundColors() .SetTitle("Sports of all of our clubs") .SetDuration(5) .SetMaintainAspectRatio(true, true); var chart = builder.GetChart(); return(new ChartViewModel(chart)); }
public async Task <IEnumerable <SelectListItem> > GetSportListItems() { return(from i in (await _parkRepository.GetAllSportTypesAsync()).ToArray() select new SelectListItem { Selected = false, Text = i.Name, Value = i.Name }); }
public async Task <int> SportCount() => (await _parkRepository.GetAllSportTypesAsync()).Length;