コード例 #1
0
ファイル: VisualizeController.cs プロジェクト: rasyidf/Venjix
        public async Task <IActionResult> TableData([FromBody] VisualizeTableRequestDto model)
        {
            var chain = _context.Recordings.Where(x => x.SensorId == model.SensorId)
                        .Where(x => x.Timestamp >= model.StartDate && x.Timestamp <= model.EndDate);

            if (model.Ordering.Count > 0)
            {
                var ordering = model.Ordering.First();
                if (ordering.Column == 0)
                {
                    chain = ordering.Direction == DataTablesOrdering.Ascending
                        ? chain.OrderBy(x => x.Timestamp)
                        : chain.OrderByDescending(x => x.Timestamp);
                }
                else
                {
                    chain = ordering.Direction == DataTablesOrdering.Ascending
                        ? chain.OrderBy(x => x.Value)
                        : chain.OrderByDescending(x => x.Value);
                }
            }

            var filterCount = await chain.CountAsync();

            var recordset = await chain.Skip(model.Start).Take(model.Length).ToListAsync();

            return(Json(new DataTablesResponseModel
            {
                Draw = model.Draw + 1,
                Data = recordset,
                RecordsFiltered = filterCount,
                RecordsTotal = await _context.Recordings.CountAsync(x => x.SensorId == model.SensorId)
            }));
        }
コード例 #2
0
ファイル: VisualizeController.cs プロジェクト: rasyidf/Venjix
        public async Task <IActionResult> TableExport([FromBody] VisualizeTableRequestDto model)
        {
            var records = await _context.Recordings.Where(x => x.SensorId == model.SensorId)
                          .Where(x => x.Timestamp >= model.StartDate && x.Timestamp <= model.EndDate)
                          .Select(x => new CsvRecordDto {
                Timestamp = x.Timestamp, Value = x.Value
            })
                          .ToListAsync();

            return(File(await CommonHelpers.SerializeCsvRecords(records), "text/csv", "export.csv"));
        }