wei
2021-04-01 ccdff82fac4bcc1067ec806ade5ae897f1214f4d
HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs
@@ -9,11 +9,11 @@
    public partial class ACPage
    {
        static DateTime updataTime = DateTime.MinValue;
        public static void UpdataStates(AC uAc)
        public static void UpdataStates(Function updateTemp)
        {
            try
            {
                Application.RunOnMainThread(() =>
                Application.RunOnMainThread((() =>
                {
                    if (bodyView == null)
                    {
@@ -23,22 +23,36 @@
                    {
                        return;
                    }
                    AC temp = new AC();
                    updataTime = DateTime.Now;
                    bodyView.arcBar.ProgressBarColor = bodyView.aC.trait_on_off.curValue.ToString() == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2;
                    bodyView.btnTemp.Text = uAc.trait_temp.curValue.ToString();
                    bodyView.btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(uAc.trait_IndoorTemp.curValue)) + "°C";
                    bodyView.btnMode.UnSelectedImagePath = uAc.curModeImage;
                    bodyView.btnWindSpeed.UnSelectedImagePath = uAc.curFanImage;
                    bodyView.btnSwitch.IsSelected = uAc.trait_on_off.curValue.ToString() == "on";
                    if (uAc.refreshTime.AddMilliseconds(1000) < DateTime.Now)
                    bodyView.btnTemp.Text = updateTemp.GetAttrState(FunctionAttributeKey.SetTemp);
                    bodyView.btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(updateTemp.GetAttrState((string)FunctionAttributeKey.RoomTemp))) + "°C";
                    bodyView.btnMode.UnSelectedImagePath = temp.GetModeIconPath(updateTemp.GetAttrState(FunctionAttributeKey.Mode));
                    bodyView.btnWindSpeed.UnSelectedImagePath = temp.GetFanIconPath(updateTemp.GetAttrState(FunctionAttributeKey.FanSpeed));
                    bodyView.arcBar.Progress = Convert.ToInt32(Convert.ToDouble(updateTemp.GetAttrState(FunctionAttributeKey.SetTemp)));
                    if (updateTemp.trait_on_off.curValue.ToString() == "on")
                    {
                        bodyView.arcBar.Progress = Convert.ToInt32(Convert.ToDouble(uAc.trait_temp.curValue));
                        bodyView.arcBar.IsOffline = false;
                        bodyView.btnSwitch.IsSelected = true;
                        bodyView.arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
                        if (updateTemp.GetAttrState((string)FunctionAttributeKey.Mode) == "fan")
                        {
                            bodyView.arcBar.IsClickable = false;
                        }
                        else
                        {
                            bodyView.arcBar.IsClickable = true;
                        }
                    }
                    bodyView.arcBar.ProgressBarColor = uAc.trait_on_off.curValue.ToString() == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2;
                    bodyView.arcBar.ThumbImagePath = uAc.trait_on_off.curValue.ToString() == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
                    bodyView.arcBar.IsClickable = uAc.trait_on_off.curValue.ToString() == "on";
                });
                    else
                    {
                        bodyView.arcBar.IsOffline = true;
                        bodyView.btnSwitch.IsSelected = false;
                        bodyView.arcBar.IsClickable = false;
                        bodyView.arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
                    }
                }));
            }
            catch (Exception ex)
            {
@@ -54,8 +68,8 @@
            //回退刷新信息事件
            actionRefresh = () =>
            {
                btnFunctionName.Text = btnFunctionName_Out.Text = aC.name;
                btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = aC.GetRoomListName();
                btnFunctionName.Text = btnFunctionName_Out.Text = function.name;
                btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName();
            };
        }
@@ -66,8 +80,8 @@
        {
            btnCollection.MouseUpEventHandler += (sender, e) =>
            {
                btnCollection.IsSelected = aC.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
                aC.SaveFunctionData(true);
                btnCollection.IsSelected = function.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
                function.CollectFunction();
            };
        }
@@ -78,50 +92,57 @@
        {
            btnMinus.MouseUpEventHandler = (sender, e) =>
            {
                var temp = Convert.ToInt32(aC.trait_temp.curValue);
                if (temp < 17)
                if (function.trait_on_off.curValue.ToString() == "off" || function.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                {
                    return;
                }
                var temp = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.SetTemp));
                if (temp <= function.GetAttribute(FunctionAttributeKey.Mode).min)
                {
                    return;
                }
                temp--;
                arcBar.Progress = temp;
                btnTemp.Text = temp.ToString();
                aC.trait_temp.curValue = temp;
                //Control.Send(CommandType_A.write, aC);
                function.SetAttrState(FunctionAttributeKey.SetTemp,temp.ToString());
                //Control.Send(CommandType_A.write, function);
                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
                Control.Ins.SendWriteCommand(aC, d);
                Control.Ins.SendWriteCommand(function, d);
            };
            btnPlus.MouseUpEventHandler = (sender, e) =>
            {
                var temp = Convert.ToInt32(aC.trait_temp.curValue);
                if (temp > 37)
                if (function.trait_on_off.curValue.ToString() == "off" || function.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                {
                    return;
                }
                var temp = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.SetTemp));
                if (temp >= function.GetAttribute(FunctionAttributeKey.SetTemp).max)
                {
                    return;
                }
                temp++;
                arcBar.Progress = temp;
                btnTemp.Text = temp.ToString();
                aC.trait_temp.curValue = temp;
                function.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                d.Add(FunctionAttributeKey.SetTemp, aC.trait_temp.curValue.ToString());
                Control.Ins.SendWriteCommand(aC, d);
                //aC.GetSendJObject
                d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
                Control.Ins.SendWriteCommand(function, d);
                //function.GetSendJObject
            };
            arcBar.OnStopTrackingTouchEvent = (sender, e) =>
           {
               aC.trait_temp.curValue = arcBar.Progress;
               btnTemp.Text = aC.trait_temp.curValue.ToString();
                //Control.Send(CommandType_A.write, aC);
                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
               d.Add(FunctionAttributeKey.SetTemp, aC.trait_temp.curValue.ToString());
               Control.Ins.SendWriteCommand(aC, d);
               function.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
               btnTemp.Text = arcBar.Progress.ToString();
               System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
               d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
               Control.Ins.SendWriteCommand(function, d);
           };
            arcBar.OnProgressChangedEvent = (sender, e) =>
            {
                aC.trait_temp.curValue = e;
                btnTemp.Text = aC.trait_temp.curValue.ToString();
                function.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString());
                btnTemp.Text = e.ToString();
            };
        }
        /// <summary>
@@ -131,36 +152,47 @@
        {
            btnMode.MouseUpEventHandler = (sender, e) =>
            {
                if (function.trait_on_off.curValue.ToString() == "off")
                {
                    return;
                }
                LoadDiv_ChangeModeView();
            };
            btnWindSpeed.MouseUpEventHandler = (sender, e) =>
            {
                if (function.trait_on_off.curValue.ToString() == "off")
                {
                    return;
                }
                LoadDiv_ChangeFanView();
            };
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                btnSwitch.IsSelected = !btnSwitch.IsSelected;
                aC.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
                bodyView.arcBar.ProgressBarColor = aC.trait_on_off.curValue.ToString() == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2;
                bodyView.arcBar.ThumbImagePath = aC.trait_on_off.curValue.ToString() == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
                bodyView.arcBar.IsClickable = aC.trait_on_off.curValue.ToString() == "on";
                //bodyView.arcBar.ProgressBarColor = aC.on_off == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2;
                //bodyView.arcBar.ThumbImagePath = aC.on_off == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
                //bodyView.arcBar.IsClickable = aC.on_off == "on";
                //Control.Send(CommandType_A.write, aC);
                function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
                if (function.trait_on_off.curValue.ToString() == "on")
                {
                    arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
                    btnSwitch.IsSelected = true;
                    arcBar.IsOffline = false;
                }
                else
                {
                    arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
                    btnSwitch.IsBold = false;
                    arcBar.IsOffline = true;
                }
                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                d.Add(FunctionAttributeKey.OnOff, aC.trait_on_off.curValue.ToString());
                Control.Ins.SendWriteCommand(aC, d);
                d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString());
                Control.Ins.SendWriteCommand(function, d);
            };
        }
        /// <summary>
        /// 加载模式改变事件
        /// </summary>
        void LoadEvent_ChangeMode(Dialog dialog, FrameLayout dialogView, Button btn1, Button btn2, string curMode)
        void LoadEvent_ChangeMode(Dialog dialog, FrameLayout dialogView, Button btnModeIcon, Button btnModeText, string curMode)
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
@@ -168,42 +200,50 @@
            };
            EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
            {
                btn1.IsSelected = btn2.IsSelected = true;
                aC.trait_mode.curValue = curMode;
                btnMode.UnSelectedImagePath = aC.curModeImage;
                //Control.Send(CommandType_A.write, aC);
                btnModeIcon.IsSelected = btnModeText.IsSelected = true;
                function.SetAttrState(FunctionAttributeKey.Mode, curMode);
                btnMode.UnSelectedImagePath = acTemp.GetModeIconPath(function.GetAttrState(FunctionAttributeKey.Mode));
                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath;
                d.Add(FunctionAttributeKey.Mode, curMode);
                Control.Ins.SendWriteCommand(aC, d);
                Control.Ins.SendWriteCommand(function, d);
                dialog.Close();
                if (function.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                {
                    bodyView.arcBar.IsClickable = false;
                }
                else
                {
                    bodyView.arcBar.IsClickable = true;
                }
            };
            btn1.MouseUpEventHandler = eventHandler1;
            btn2.MouseUpEventHandler = eventHandler1;
            btnModeIcon.MouseUpEventHandler = eventHandler1;
            btnModeText.MouseUpEventHandler = eventHandler1;
            dialogView.MouseUpEventHandler = eventHandler;
        }
        /// <summary>
        /// 加载风速改变事件
        /// </summary>
        void LoadEvent_ChangeFan(Dialog dialog, FrameLayout dialogView, Button btn1, Button btn2, string curFan)
        void LoadEvent_ChangeFan(Dialog dialog, FrameLayout dialogView, Button btnFanIcon, Button btnFanText, string curFan)
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            EventHandler<MouseEventArgs> closeDialogEvent = (sender, e) =>
            {
                dialog.Close();
            };
            EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
            {
                btn1.IsSelected = btn2.IsSelected = true;
                aC.trait_fan.curValue = curFan;
                btnWindSpeed.UnSelectedImagePath = aC.curFanImage;
                //Control.Send(CommandType_A.write, aC);
                btnFanIcon.IsSelected = btnFanText.IsSelected = true;
                function.SetAttrState(FunctionAttributeKey.FanSpeed, curFan);
                btnWindSpeed.UnSelectedImagePath = acTemp.GetFanIconPath(function.GetAttrState(FunctionAttributeKey.FanSpeed));
                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                d.Add(FunctionAttributeKey.FanSpeed, curFan);
                Control.Ins.SendWriteCommand(aC, d);
                Control.Ins.SendWriteCommand(function, d);
                btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath;
                dialog.Close();
            };
            btn1.MouseUpEventHandler = eventHandler1;
            btn2.MouseUpEventHandler = eventHandler1;
            dialogView.MouseUpEventHandler = eventHandler;
            btnFanIcon.MouseUpEventHandler = eventHandler1;
            btnFanText.MouseUpEventHandler = eventHandler1;
            dialogView.MouseUpEventHandler = closeDialogEvent;
        }
    }
}