public string TestAirConditioner(string manufacturer, string model) { var airConditioner = AirConditionerData.GetAirConditioner(manufacturer, model); // airConditioner.energyRating += 5; var mark = airConditioner.Test(); AirConditionerData.Reports.Add(new Reprot(airConditioner.Manufacturer, airConditioner.Model, mark)); throw new InvalidOperationException(string.Format(Messages.Test, model, manufacturer)); }
public string Status() { var reports = AirConditionerData.GetReportsCount(); double airConditioners = AirConditionerData.GetAirConditionersCount(); var percent = reports / airConditioners; percent = percent * 100; throw new InvalidOperationException(string.Format(Messages.Status, percent)); //return string.Format(Messages.Status, percent); }
public string FindAllReportsByManufacturer(string manufacturer) { var reports = AirConditionerData.GetReportsByManufacturer(manufacturer); if (reports.Count == 0) { return(Messages.NoReports); } reports = reports.OrderBy(x => x.Mark).ToList(); var reportsPrint = new StringBuilder(); reportsPrint.AppendLine(string.Format("Reports from {0}:", manufacturer)); reportsPrint.Append(string.Join(Environment.NewLine, reports)); //return reportsPrint.ToString(); throw new InvalidOperationException(reportsPrint.ToString()); }
public IActionResult Data(string version, string device) { AirConditionerData data = new AirConditionerData(); AirConditionerDataHeader header; AirConditionerDataHeader6 header6; Dictionary <string, object> dDataField; DataResponse response = new DataResponse(); StreamReader reader; string strData; Newtonsoft.Json.Linq.JArray aZones, aZoneTemperatures; Logging.WriteDebugLog("DeviceController.Data() Client: {0}:{1}", HttpContext.Connection.RemoteIpAddress.ToString(), HttpContext.Connection.RemotePort.ToString()); HttpContext.Response.Headers.Add("Access-Control-Allow-Headers", new Microsoft.Extensions.Primitives.StringValues("Accept, Content-Type, Authorization, Content-Length, X-Requested-With, X-Ninja-Token")); HttpContext.Response.Headers.Add("Access-Control-Allow-Methods", new Microsoft.Extensions.Primitives.StringValues("GET,PUT,POST,DELETE,OPTIONS")); HttpContext.Response.Headers.Add("Access-Control-Allow-Origin", new Microsoft.Extensions.Primitives.StringValues("*")); reader = new StreamReader(HttpContext.Request.Body); strData = reader.ReadToEnd(); reader.Dispose(); try { header = JsonConvert.DeserializeObject <AirConditionerDataHeader>(strData); switch (header.D) { case 6: Logging.WriteDebugLog("DeviceController.Data() Data: {0}", strData); header6 = JsonConvert.DeserializeObject <AirConditionerDataHeader6>(strData); dDataField = header6.DA; data.iCompressorActivity = int.Parse(dDataField["compressorActivity"].ToString()); data.strErrorCode = dDataField["errorCode"].ToString(); data.iFanContinuous = int.Parse(dDataField["fanIsCont"].ToString()); data.iFanSpeed = int.Parse(dDataField["fanSpeed"].ToString()); data.bOn = bool.Parse(dDataField["isOn"].ToString()); data.bESPOn = bool.Parse(dDataField["isInESP_Mode"].ToString()); data.iMode = int.Parse(dDataField["mode"].ToString()); data.dblRoomTemperature = double.Parse(dDataField["roomTemp_oC"].ToString()); data.dblSetTemperature = double.Parse(dDataField["setPoint"].ToString()); aZones = (Newtonsoft.Json.Linq.JArray)dDataField["enabledZones"]; data.bZone1 = (aZones[0].ToString() == "1"); data.bZone2 = (aZones[1].ToString() == "1"); data.bZone3 = (aZones[2].ToString() == "1"); data.bZone4 = (aZones[3].ToString() == "1"); data.bZone5 = (aZones[4].ToString() == "1"); data.bZone6 = (aZones[5].ToString() == "1"); data.bZone7 = (aZones[6].ToString() == "1"); data.bZone8 = (aZones[7].ToString() == "1"); aZoneTemperatures = (Newtonsoft.Json.Linq.JArray)dDataField["individualZoneTemperatures_oC"]; if (aZones[0].ToString() != "null") { double.TryParse(aZoneTemperatures[0].ToString(), out data.dblZone1Temperature); } if (aZones[1].ToString() != "null") { double.TryParse(aZoneTemperatures[1].ToString(), out data.dblZone2Temperature); } if (aZones[2].ToString() != "null") { double.TryParse(aZoneTemperatures[2].ToString(), out data.dblZone3Temperature); } if (aZones[3].ToString() != "null") { double.TryParse(aZoneTemperatures[3].ToString(), out data.dblZone4Temperature); } if (aZones[4].ToString() != "null") { double.TryParse(aZoneTemperatures[4].ToString(), out data.dblZone5Temperature); } if (aZones[5].ToString() != "null") { double.TryParse(aZoneTemperatures[5].ToString(), out data.dblZone6Temperature); } if (aZones[6].ToString() != "null") { double.TryParse(aZoneTemperatures[6].ToString(), out data.dblZone7Temperature); } if (aZones[7].ToString() != "null") { double.TryParse(aZoneTemperatures[7].ToString(), out data.dblZone8Temperature); } AirConditioner.PostData(data); break; } } catch (Exception eException) { Logging.WriteDebugLogError("DeviceController.Data()", eException, "Unable to parse air conditioner data."); } response.result = 1; response.error = null; response.id = 0; if (Service.ForwardToOriginalWebService) { ForwardDataToOriginalWebService(strData); } return(new ObjectResult(response)); }
public string FindReport(string manufacturer, string model) { var report = AirConditionerData.GetReport(manufacturer, model); throw new InvalidOperationException(report.ToString()); }
public string FindAirConditioner(string manufacturer, string model) { var airConditioner = AirConditionerData.GetAirConditioner(manufacturer, model); throw new InvalidOperationException(airConditioner.ToString()); }