public async Task <IViewComponentResult> InvokeAsync(DateTime startDate, DateTime endDate, List <string> address) { //ActivityCountWidgetViewModel response = new ActivityCountWidgetViewModel(); // var countData = await GetActivityCountAsync(startDate, endDate, address); var listOfFullHours = DateExtensions.ListOfFullHours(endDate).ToArray(); var model = new ActivityCountWidgetViewModel(); model.Categories = listOfFullHours; foreach (var a in address) { var countData = await GetActivityCountAsync(startDate, endDate, a); int[] series = new int[24]; int x = 0; foreach (var h in listOfFullHours) { var dataHourly = countData.FirstOrDefault(a => a.Hourly.ToString("yyyy-MM-dd HH:mm") == h); if (dataHourly != null) { series[x] = dataHourly.CountActivity; } else { series[x] = 0; } x += 1; } model.Series.Add(new ActivityCountSeriesViewModel() { Name = a, Stack = a, Data = series //new int[] { 1, 2, 3 } }); } return(View("Default", model)); }