Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        public string FindReport(string manufacturer, string model)
        {
            var report = AirConditionerData.GetReport(manufacturer, model);

            throw new InvalidOperationException(report.ToString());
        }
Ejemplo n.º 6
0
        public string FindAirConditioner(string manufacturer, string model)
        {
            var airConditioner = AirConditionerData.GetAirConditioner(manufacturer, model);

            throw new InvalidOperationException(airConditioner.ToString());
        }