Ejemplo n.º 1
0
        public ActionResult Post(DataSourceModel dataSource)
        {
            logger.Info($"POST: {Request.Path} called");

            logger.Info("Storing Datasource: Id={0}, DeviceId={1}, Type={2}, Description={3}",
                        dataSource.Id,
                        dataSource.DeviceId,
                        //dataSource.ChannelId,
                        dataSource.Description);
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                datasourceRepo.Add(dataSource);
            }
            catch (DbUpdateException ex)
            {
                logger.Error(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.InnerException.InnerException.Message));
            }
            logger.Info("Datasource added: Id={0}, DeviceId={1}, Type={2}, Description={3}",
                        dataSource.Id,
                        dataSource.DeviceId,
                        //  dataSource.ChannelId,
                        dataSource.Description);
            return(Created(Request.Path, dataSource));
        }
        public async Task <ActionResult> PostSensorData(SensorData.Api.Models.SensorDataModel dataModel)
        {
            logger.Info($"POST: {Request.Path} called");
            if (!ModelState.IsValid)
            {
                logger.Info("Bad request");
                return(BadRequest(ModelState));
            }

            var ds = dataSource.GetDataSource(dataModel.DeviceId);

            if (ds == null)
            {
                dataSource.Add(dataModel.DeviceId);
            }
            sensorData.PostSensorData(dataModel);

            dataModel.TimeStamp = DateTime.Now;
            await hubContext.Clients.All.SendAsync("SensorData", dataModel);

            logger.Info("Dataset added for sensor ", dataModel.DeviceId);
            return(NoContent());
        }