Beispiel #1
0
        public ActionResult AdjustTemperature(string id, string direction)
        {
            ViewBag.Title = title;

            SmartHouseContext shContext = LoadContext();

            ISmartDevice dev = shContext.SmartHouse[id];

            if (dev is IHaveThermostat)
            {
                IHaveThermostat thermo = dev as IHaveThermostat;
                switch (direction)
                {
                case AdjustDirections.increase:
                    thermo.IncreaseTemperature();
                    break;

                case AdjustDirections.decrease:
                    thermo.DecreaseTemperature();
                    break;
                }
            }

            SmartHouseConfig shConfig = GetConfig();

            SaveSmartHouse(shContext.SmartHouse);

            return(View("Index", shContext as object));
        }
Beispiel #2
0
        protected void DisplayIHaveThermostat(Control destination)
        {
            if (Device is IHaveThermostat)
            {
                IHaveThermostat dev = Device as IHaveThermostat;
                Label           td;
                Button          b;
                Panel           tr = new Panel();

                b    = new Button();
                b.ID = "btnTemperatureDec" + Device.Name;
                b.Attributes["title"] = "Min = " + dev.TempMin;
                b.CssClass            = "btnArrow btnArrowLeft";

                b.Click += (senderCtrl, eargs) =>
                {
                    dev.DecreaseTemperature();
                    ResetSubControls(templatePath);
                    BuildControlMarkup();
                };
                tr.Controls.Add(b);

                td          = new Label();
                td.CssClass = "value";
                td.Text     = dev.Temperature.ToString();
                tr.Controls.Add(td);

                b    = new Button();
                b.ID = "btnTemperatureInc" + Device.Name;
                b.Attributes["title"] = "Max = " + dev.TempMax;
                b.CssClass            = "btnArrow btnArrowRight";

                b.Click += (senderCtrl, eargs) =>
                {
                    dev.IncreaseTemperature();
                    ResetSubControls(templatePath);
                    BuildControlMarkup();
                };
                tr.Controls.Add(b);

                td      = new Label();
                td.Text = "Температура";
                tr.Controls.Add(td);

                destination.Controls.Add(tr);
            }
            else
            {
            }
        }