Exemple #1
0
        private dynamic GetJobPerformanceTrend()
        {
            var data = new List <Dictionary <string, dynamic> >();
            var performanceTrendList = JobOperator.GetPerformanceTrend();
            var dates = performanceTrendList.GroupBy(p => p.Date).OrderBy(p => p.Key).Select(p => p.Key).ToList();
            var jobs  = performanceTrendList.GroupBy(p => p.Job).OrderBy(p => p.Key).Select(p => p.Key).ToList();

            foreach (var date in dates)
            {
                var dict = new Dictionary <string, dynamic>();
                dict.Add("period", date);
                foreach (var job in jobs)
                {
                    var jm = performanceTrendList.FirstOrDefault(p => p.Date == date && p.Job == job);
                    dict.Add(job, jm == null ? 0 : jm.ElapsedTime);
                }
                data.Add(dict);
            }
            return(Response.AsJson(new { data = data, ykeys = jobs }));
        }