예제 #1
0
        public async Task <IActionResult> getAllData()
        {
            if (database == null)
            {
                return(StatusCode(500));
            }

            List <SensorModel> dbResponse = await database.GetAllValues();

            if (dbResponse == null)
            {
                return(StatusCode(500));
            }


            var retData = new List <CollectorDataRecords>();

            foreach (SensorModel model in dbResponse)
            {
                var newRecord = new CollectorDataRecords(
                    model.sensorName,
                    model.values.Count,
                    model.values.Select((value) =>
                {
                    var str_value = JsonConvert.SerializeObject(value);
                    return((JObject.Parse(str_value)).ToObject <SensorValues>());
                }).ToList()
                    );

                retData.Add(newRecord);
            }

            return(Ok(retData));
        }
예제 #2
0
        public async Task <IActionResult> getRecordsRange(
            [FromQuery] string sensorName,
            [FromQuery] long fromTimestamp,
            [FromQuery] long toTimestamp)
        {
            if (fromTimestamp >= toTimestamp)
            {
                string message = "Requested invalid timestamps: "
                                 + $"FromTimestamp: {fromTimestamp} "
                                 + $"ToTimestamp: {toTimestamp}";

                Console.WriteLine(message);

                return(BadRequest(message));
            }

            SensorModel dbRecord = await database.getRecordRange(
                sensorName,
                fromTimestamp,
                toTimestamp);

            if (dbRecord != null)
            {
                var retData = new CollectorDataRecords(
                    dbRecord.sensorName,
                    dbRecord.values.Count,
                    dbRecord.values.Select((value) =>
                {
                    var str_value = JsonConvert.SerializeObject(value);
                    return((JObject.Parse(str_value)).ToObject <SensorValues>());
                }).ToList()
                    );

                return(Ok(retData));
            }

            return(StatusCode(500));
        }
예제 #3
0
        public async Task <IActionResult> getRecordsList(
            [FromBody] GetListOfRecordsArg reqArg)
        {
            SensorModel dbResult = await database.getRecordsList(
                reqArg.sensorName,
                reqArg.timestamps);

            if (dbResult != null)
            {
                var retData = new CollectorDataRecords(
                    dbResult.sensorName,
                    dbResult.values.Count,
                    dbResult.values.Select((value) =>
                {
                    var str_value = JsonConvert.SerializeObject(value);
                    return((JObject.Parse(str_value)).ToObject <SensorValues>());
                }).ToList()
                    );

                return(new OkObjectResult(retData));
            }

            return(StatusCode(500));
        }