예제 #1
0
        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));
        }