public void AllInfo(ObjEquip c)
 {
     foreach (Equipment d in c.Eq.Values)
     {
         if (d is Light)
         {
             Label_lamp.Text = "<br />" + d.ToString();
         }
         if (d is Split)
         {
             Label_split.Text = "<br />" + d.ToString();
         }
         if (d is Heating)
         {
             Label_heating.Text = "<br />" + d.ToString();
         }
         if (d is Stove)
         {
             Label_stove.Text = "<br />" + d.ToString();
         }
         if (d is KitchenHood)
         {
             Label_kitch_hood.Text = "<br />" + d.ToString();
         }
     }
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                objEq = new ObjEquip();
                Session["eqKey"] = objEq;
                AllInfo(objEq);
                FormDroplist();
            }
            else
            {

                Choose_split.Click += Choose_Equip;
                Choose_heating.Click += Choose_Equip;
                Choose_kitch_hood.Click += Choose_Equip;
                Choose_lamp.Click += Choose_Equip;
                Choose_stove.Click += Choose_Equip;
                heatTempMin.Click += ForIRegulator;
                heatTempPlus.Click += ForIRegulator;
                splitTempMin.Click += ForIRegulator;
                splitTempPlus.Click += ForIRegulator;
                ovenTempPlus.Click += OvenIRegulator;
                OvenTempMin.Click += OvenIRegulator;
                buttonSetHeating.Click += ForISetTemp;
                buttonSetSplit.Click += ForISetTemp;
                button_set_oven.Click += OvenISetTemp;
                error.Text = "";

            }
        }
 protected void OvenISetTemp(object sender, EventArgs e)
 {
     objEq = (ObjEquip)Session["eqKey"];
     Stove d = (Stove)Session["s"];
     if (d != null)
     {
         if (d.State == true)
         {
             if(d.Oven.State== true)
             {
             int t;
             t = Convert.ToInt32(boxSetOven.Text);
             ((Stove)d).Oven.Temperature = t;
             Label_stove.Text = d.ToString();
         }
             else
             {
                 Label_stove.Text = "прибор выключен. управление не доступно!";
             }
         }
         else
         {
             Label_stove.Text = "прибор выключен. управление не доступно!";
         }
         Session["d"] = d;
         Session["eqKey"] = objEq;
     }
     else
     {
         Label_stove.Text = "прибор выключен. управление не доступно!";
     }
 }
 protected void OvenIRegulator(object sender, EventArgs e)
 {
     objEq = (ObjEquip)Session["eqKey"];
     Stove d = (Stove)Session["s"];
     if(d !=null)
     {
      if (d.State == true)
     {
         if (d.Oven.State == true)
         {
             switch (((Button)sender).ID)
             {
                 case "ovenTempPlus":
                     d.SetOvenNextPoint();
                     break;
                 case "OvenTempMin":
                     d.SetOvenPrevPoint();
                     break;
             }
             Label_stove.Text = d.ToString();
         }
         else
         {
             Label_stove.Text = "прибор выключен. управление не доступно!";
         }
       }
     else
     {
                  Label_stove.Text = "прибор выключен. управление не доступно!";
     }
        }
     else
     {
         Label_stove.Text = "прибор не выбран. управление не доступно!";
     }
 }
        protected void ForISwich(object sender, EventArgs e)
        {
            objEq = (ObjEquip)Session["eqKey"];
            d = (Equipment)Session["d"];
            if( d != null)
            {
               string k = d.Name;
               switch (k)
                {
                    case "лампа":
                        if (RadioButtonLampOnOff.SelectedItem.Value == "вкл")
                        {
                            ((ISwitch)d).SwitchOn();
                        }
                        else
                        {
                            ((ISwitch)d).SwitchOff();
                        }
                        Label_lamp.Text = d.ToString();
                        break;
                    case "котел":
                        if (RadioButtonHeatingOnOff.SelectedItem.Value == "вкл")
                        {
                            ((ISwitch)d).SwitchOn();
                        }
                        else
                        {
                            ((ISwitch)d).SwitchOff();
                        }
                        Label_heating.Text = d.ToString();
                        break;
                    case "кондиционер":
                        if (RadioButtonSplitOnOff.SelectedItem.Value == "вкл")
                        {
                            ((ISwitch)d).SwitchOn();
                        }
                        else
                        {
                            ((ISwitch)d).SwitchOff();
                        }
                        Label_split.Text = d.ToString();
                        break;
                    case "вытяжка":
                        if (RadioButtonKHOnOff.SelectedItem.Value == "вкл")
                        {
                            ((ISwitch)d).SwitchOn();
                        }
                        else
                        {
                            ((ISwitch)d).SwitchOff();
                        }
                        Label_kitch_hood.Text = d.ToString();
                        break;
                    case "плита":
                        if (RadioButtonStoveOnOff.SelectedItem.Value == "вкл")
                        {
                            ((ISwitch)d).SwitchOn();
                        }
                        else
                        {
                            ((ISwitch)d).SwitchOff();
                        }
                        Label_stove.Text = d.ToString();
                        break;
                }
            }
            else
            {
                error.Text = "ВЫ НЕ ВЫБРАЛИ ЭЛЕМЕНТ УПРАВЛЕНИЕ НЕ ДОСТУПНО";
            }

            Session["d"] = d;
            Session["eqKey"] = objEq;
        }
        protected void ForISetTemp(object sender, EventArgs e)
        {
            objEq = (ObjEquip)Session["eqKey"];
            d = (Equipment)Session["d"];

            if ( d != null)
            {
                string k = d.Name;
                if(d.State == true)
                {
                    switch (k)
                {
                    case "кондиционер":
                        SetTempSplit((ISettingTemperature)d);
                        Label_split.Text = d.ToString();
                        break;
                    case "котел":
                        SetTempHeating((ISettingTemperature)d);
                        Label_heating.Text = d.ToString();
                        break;
                 }
                }
                else
                {
                    error.Text = "Ошибка прибор выключен или  не выбран из списка! управление не доступно!";
                }
             }
            else
            {
                error.Text = "Ошибка прибор выключен или  не выбран из списка! управление не доступно!";
            }
            Session["d"] = d;
            Session["eqKey"] = objEq;
        }
 protected void ForIRegulator(object sender, EventArgs e)
 {
     objEq = (ObjEquip)Session["eqKey"];
     d = (Equipment)Session["d"];
     if(d!= null)
     {
         string k = d.Name;
         if(d.State==true)
         {
             switch (k)
             {
                 case "котел":
                     switch (((Button)sender).ID)
                     {
                         case "heatTempPlus":
                             ((IRegulator)d).NextPoint();
                             Label_heating.Text = d.ToString();
                             break;
                         case "heatTempMin":
                             ((IRegulator)d).PrevPoint();
                             Label_heating.Text = d.ToString();
                             break;
                     }
                     break;
                 case "кондиционер":
                     switch (((Button)sender).ID)
                     {
                         case "splitTempPlus":
                             ((IRegulator)d).NextPoint();
                             Label_split.Text = d.ToString();
                             break;
                         case "splitTempMin":
                             ((IRegulator)d).PrevPoint();
                             Label_split.Text = d.ToString();
                             break;
                     }
                     break;
             }
         }
         else
         {
             error.Text = "Ошибка прибор выключен или  не выбран из списка! управление не доступно!";
         }
     }
     else
     {
         error.Text = "Ошибка прибор выключен или  не выбран из списка! управление не доступно!";
     }
 }
        protected void ForIMode(object sender, EventArgs e)
        {
            objEq = (ObjEquip)Session["eqKey"];
            d = (Equipment)Session["d"];

            if (d!= null)
            {
                string k = d.Name;
               if(d.State == true)
               {
                   switch (k)
                   {
                        case "котел":
                        if (RadioButtonHeatingImode.SelectedItem.Value == "режим Зима" )
                        {
                            ((IMode)d).WinterMode();
                        }
                        else
                        {
                            ((IMode)d).SummerMode();
                        }
                        Label_heating.Text = d.ToString();
                        break;
                    case "кондиционер":
                        if (RadioButtonSplitIMode.SelectedItem.Value == "режим Зима")
                        {
                            ((IMode)d).WinterMode();
                        }
                        else
                        {
                            ((IMode)d).SummerMode();
                        }
                        Label_split.Text = d.ToString();
                        break;
                }
             }
               else
               {
                   error.Text = "Ошибка прибор выключен или  не выбран из списка! управление не доступно!";

               }
               }
            else
            {
               error.Text = "Ошибка прибор выключен или  не выбран из списка! управление не доступно!";

            }
            Session["d"] = d;
            Session["eqKey"] = objEq;
        }
        protected void ForIMinMax(object sender, EventArgs e)
        {
            objEq = (ObjEquip)Session["eqKey"];
            d = (Equipment)Session["d"];

            if ( d!= null)
            {
                string k = null;
                k = RadioButtonKHMinMax.SelectedItem.Value;
               if(d.State == true)
             {
                   switch(k)
                {
                    case"режим min":
                        ((IRegimeMinMax)d).SetMin();
                 Label_kitch_hood.Text = d.ToString();
                        break;
                    case"режим norm":
                        ((IRegimeMinMax)d).SetNorm();
                  Label_kitch_hood.Text = d.ToString();
                        break;
                    case"режим max":
                        ((IRegimeMinMax)d).SetMax();
                   Label_kitch_hood.Text = d.ToString();
                        break;
                        }
                   }
               else
               {
                   error.Text = "Ошибка прибор выключен или  не выбран из списка! управление не доступно!";
               }
            }
              else
            {
                error.Text = "Ошибка прибор выключен или  не выбран из списка! управление не доступно!";
            }

            Session["d"] = d;
            Session["eqKey"] = objEq;
        }