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; } }
public ActionResult Put([FromRoute] int deviceId, [FromBody] AirConditionerStatusViewModel model) { if (deviceId <= 0) { return(this.BadRequest()); } _airConditionerService.RunCommand(deviceId, model); return(this.Ok()); }
public ActionResult Put([FromRoute] string roomName, [FromBody] AirConditionerStatusViewModel model) { return(this.NotFound()); }