public void RunCommand(int deviceId, AirConditionerStatusViewModel model)
        {
            try
            {
                var acDeviceRep = _unitOfWork.GetRepository <AirConditionerDevice>();

                var sensorUniqueId = acDeviceRep.FindBy(r => r.Id == deviceId).Select(r => r.SensorUniqueId).FirstOrDefault();

                if (!string.IsNullOrEmpty(sensorUniqueId))
                {
                    throw new Exception("Device not found");
                }

                var acCommandRep = _unitOfWork.GetRepository <AirConditionerCommand>();

                var acCommand = acCommandRep.FindBy(r =>
                                                    r.Temperature == model.Temperature &&
                                                    r.Mode.Equals(model.Mode) &&
                                                    r.Fan == model.Fan)
                                .FirstOrDefault();

                if (acCommand == null)
                {
                    throw new Exception("Command not found");
                }

                SendCommand(sensorUniqueId, acCommand);
            }
            catch (Exception e)
            {
                Log.Fatal(e.Message);
                //throw e;
            }
        }
Пример #2
0
        public ActionResult Put([FromRoute] int deviceId, [FromBody] AirConditionerStatusViewModel model)
        {
            if (deviceId <= 0)
            {
                return(this.BadRequest());
            }

            _airConditionerService.RunCommand(deviceId, model);
            return(this.Ok());
        }
Пример #3
0
 public ActionResult Put([FromRoute] string roomName, [FromBody] AirConditionerStatusViewModel model)
 {
     return(this.NotFound());
 }