public async Task <ActionResult <SensorDto> > Add([FromBody] SensorAddDto sensorDto)
        {
            var outcome = await _sensorDataProvider.Add(sensorDto);

            if (outcome.Successful)
            {
                return(Ok(_mapper.Map <SensorDto>(outcome.Result)));
            }

            return(BadRequest(outcome.ErrorMessage));
        }
Esempio n. 2
0
        public async Task <Outcome <Sensor> > Add(SensorAddDto sensorDto)
        {
            var result = new Outcome <Sensor>();

            if (!Enum.GetNames(typeof(SensorState)).Any(x => x.Equals(sensorDto.State, StringComparison.InvariantCultureIgnoreCase)))
            {
                result.ErrorMessage = "State is not valid";
                return(result);
            }

            var farm = await _uow.Repository <Farm>().GetEntityWithSpec(new FarmNameSpecifications(a => a.Name.ToLower() == sensorDto.Farm.ToLower()));

            if (farm != null)
            {
                var state  = Enum.GetNames(typeof(SensorState)).FirstOrDefault(x => x.Equals(sensorDto.State, StringComparison.InvariantCultureIgnoreCase));
                var sensor = new Sensor();
                sensor.FarmId = farm.FarmId;
                sensor.State  = (SensorState)Enum.Parse(typeof(SensorState), state);

                sensor.CreateDt = DateTime.Now;
                _uow.Repository <Sensor>().Add(sensor);
                int output = await _uow.Complete();

                if (output >= 1)
                {
                    result.Result = sensor;
                    return(result);
                }
            }
            else
            {
                result.ErrorMessage = "Farm not found";
            }

            return(result);
        }