// [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)); }
// [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)); }