Beispiel #1
0
        public IActionResult UpdateInfos([FromBody] SensorV sensorV, long idSensor)
        {
            try
            {
                Sensor sensor = Sensor.FindById(idSensor);
                if (sensor == null || sensor.Id == 0)
                {
                    return(StatusCode(404, new ErrorClass(404, "Sensor não encontrado", DateTime.Now)));
                }
                bool needUpdate = false;
                if (sensorV.Nome != sensor.Nome & !string.IsNullOrEmpty(sensorV.Nome))
                {
                    sensor.ChangeName(sensorV.Nome);
                    needUpdate = true;
                }
                DirecaoConverter direcaoConverter = new DirecaoConverter();
                if (!sensor.Direcao.Equals(direcaoConverter.Parser(sensorV.Direcao)))
                {
                    sensor.ChangeDirecao(direcaoConverter.Parser(sensorV.Direcao));
                    needUpdate = true;
                }


                if (needUpdate)
                {
                    sensor.UpdateSensor();
                }
                else
                {
                    return(StatusCode(400, new ErrorClass(400, "Nenhuma mudança encontrada", DateTime.Now)));
                }


                return(StatusCode(200, _converter.Parser(sensor)));
            }
            catch (MercurioCoreException ex)
            {
                return(StatusCode(400, new ErrorClass(400, ex.Message, DateTime.Now)));
            }
            catch (DBConnectionException ex)
            {
                return(StatusCode(500, new ErrorClass(500, ex.Message, DateTime.Now)));
            }
        }
Beispiel #2
0
        public IActionResult CreateSensor([FromBody] SensorV sensorV)
        {
            try
            {
                Sensor sensor = _converter.Parser(sensorV);
                if (sensor == null)
                {
                    return(StatusCode(404, new ErrorClass(404, "Sensor não encontrado", DateTime.Now)));
                }
                sensor.CreateSensor();

                return(StatusCode(200, _converter.Parser(sensor)));
            }
            catch (MercurioCoreException ex)
            {
                return(StatusCode(400, new ErrorClass(400, ex.Message, DateTime.Now)));
            }
            catch (DBConnectionException ex)
            {
                return(StatusCode(500, new ErrorClass(500, ex.Message, DateTime.Now)));
            }
        }