示例#1
0
        //    [Authorize("Admin")]
        public IActionResult PutSystemStats([FromBody] SystemStatsViewModel systemStatsViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var startDate = new DateTime(2017, 11, 1);
            var endDate   = new DateTime(2017, 12, 14);

            //      var stats = _context.SystemStats.Where(s => s.Date >= systemStatsViewModel.startDate &&
            //                                                  s.Date <= systemStatsViewModel.endDate).ToArray();
            var stats = _context.SystemStats.Where(s => s.Date >= startDate &&
                                                   s.Date <= endDate).ToArray();

            return(Ok(stats));
        }
示例#2
0
        //    [Authorize("Admin")]
        public IActionResult PuFrontierStats([FromBody] SystemStatsViewModel systemStatsViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var startDate = new DateTime(2017, 1, 1);
            var endDate   = new DateTime(2017, 12, 1);

            FrontierStat[] stats = _context.FrontierStats.Where(s => s.StatDate >= startDate &&
                                                                s.StatDate <= endDate).ToArray();

            var            formats             = stats.Select(x => x.FormatId).Distinct();
            var            sortedStats         = stats.OrderBy(x => x.StatDate).ToList();
            var            sortedStatsDistinct = sortedStats.Select(x => x.StatDate).Distinct();
            FrontierResult result = new FrontierResult
            {
                Labels = new List <DateTime>(),
                Datas  = new List <FrontierResultData>()
            };

            foreach (var stat in sortedStatsDistinct)
            {
                result.Labels.Add(stat);
            }
            foreach (var format in formats)
            {
                result.Datas.Add(new FrontierResultData(format));
            }
            foreach (var stat in sortedStats)
            {
                foreach (var resultData in result.Datas)
                {
                    if (stat.FormatId == resultData.Label)
                    {
                        resultData.Data.Add(stat.Quantity);
                    }
                }
            }
            return(Ok(result));
        }