Example #1
0
        public CommandResult Handle(UpdateSensorCommand command)
        {
            CommandResult result = new CommandResult();

            ObjectId sensorId = new ObjectId();

            if (!ObjectId.TryParse(command.SensorId, out sensorId))
            {
                AddNotification(nameof(command.SensorId), ENotifications.InvalidFormat);
            }

            if (Valid)
            {
                Sensor sensor = _sensorRepository.Get(sensorId);

                if (sensor == null && _sensorRepository.Valid)
                {
                    AddNotification(nameof(command.SensorId), ENotifications.NotFound);
                }

                if (Valid)
                {
                    PinPort pinPort = null;

                    if (command.PinPort != null)
                    {
                        pinPort = new PinPort(command.PinPort);
                    }

                    sensor.Update(command.Description, pinPort, command.Type);

                    if (sensor.Valid)
                    {
                        _sensorRepository.Update(sensor);

                        if (_sensorRepository.Valid)
                        {
                            result = new CommandResult(HttpStatusCode.OK);
                        }
                    }

                    else
                    {
                        result = new CommandResult(HttpStatusCode.BadRequest, sensor.Notifications);
                    }
                }

                else
                {
                    result = new CommandResult(HttpStatusCode.BadRequest, Notifications);
                }
            }

            else
            {
                result = new CommandResult(HttpStatusCode.BadRequest, Notifications);
            }

            return(result);
        }
        public Task Put(Guid id, [FromBody] CreateSensorCommand request)
        {
            var update = new UpdateSensorCommand
            {
                Id     = id,
                FarmId = request.FarmId,
                State  = request.State
            };

            return(_mediator.Send(update));
        }
Example #3
0
        public CommandResult Update(string sensorId, [FromBody] UpdateSensorCommand command)
        {
            if (command == null)
            {
                command = new UpdateSensorCommand();
            }

            command.SetSensorId(sensorId);

            return(Execute <UpdateSensorCommand, CommandResult>(command));
        }
        public async Task <ActionResult <int> > Update([FromBody] UpdateSensorCommand command)
        {
            int result = await Mediator.Send(command);

            return(Ok(result));
        }