wxr
2020-03-31 002a3f2e9d2f9579c01f88af12bd8a320003569f
HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs
@@ -1,18 +1,47 @@
using System;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
{
    public partial class ACPage
    {
        public static void UpdataStates(AC uAc)
        {
            try
            {
                Application.RunOnMainThread(() =>
                {
                    if (bodyView == null)
                    {
                        return;
                    }
                    bodyView.arcBar.Progress = uAc.curTemp;
                    bodyView.arcBar.ProgressBarColor = bodyView.aC.on_off == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2;
                    bodyView.btnTemp.Text = uAc.curTemp.ToString();
                    bodyView.btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + uAc.indoorTemp + "°C";
                    bodyView.btnMode.UnSelectedImagePath = uAc.curModeImage;
                    bodyView.btnWindSpeed.UnSelectedImagePath = uAc.curFanImage;
                    bodyView.btnSwitch.IsSelected = uAc.on_off == "on";
                });
            }
            catch (Exception ex)
            {
                MainPage.Log($"acpage updata error {ex.Message}");
            }
        }
        void LoadEventList()
        {
            LoadCollectionEvent();
            LoadEvent_ModeChange();
            LoadEvent_AcStatesChange();
            LoadEvent_TempChange();
            //回退刷新信息事件
            actionRefresh = () => {
                btnFunctionName.Text = btnFunctionName_Out.Text = function.name;
                btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName();
            actionRefresh = () =>
            {
                btnFunctionName.Text = btnFunctionName_Out.Text = aC.name;
                btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = aC.GetRoomListName();
            };
        }
@@ -21,8 +50,9 @@
        /// </summary>
        void LoadCollectionEvent()
        {
            btnCollection.MouseUpEventHandler += (sender, e) => {
                btnCollection.IsSelected = function.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
            btnCollection.MouseUpEventHandler += (sender, e) =>
            {
                btnCollection.IsSelected = aC.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
                DB_ResidenceData.residenceData.SaveResidenceData();
            };
        }
@@ -32,19 +62,124 @@
        /// </summary>
        void LoadEvent_TempChange()
        {
            btnMinus.MouseUpEventHandler = (sender, e) => {
                //function as AC
            btnMinus.MouseUpEventHandler = (sender, e) =>
            {
                if (aC.curTemp < 20)
                {
                    return;
                }
                aC.curTemp--;
                arcBar.Progress = aC.curTemp;
                btnTemp.Text = aC.curTemp.ToString();
                Control.Send(CommandType_A.write, aC);
            };
            btnPlus.MouseUpEventHandler = (sender, e) =>
            {
                if (aC.curTemp > 37)
                {
                    return;
                }
                aC.curTemp++;
                arcBar.Progress = aC.curTemp;
                btnTemp.Text = aC.curTemp.ToString();
                Control.Send(CommandType_A.write, aC);
            };
            arcBar.OnStopTrackingTouchEvent  = (sender,e) =>
            {
                aC.curTemp = arcBar.Progress;
                btnTemp.Text = aC.curTemp.ToString();
                Control.Send(CommandType_A.write, aC);
            };
            arcBar.OnProgressChangedEvent = (sender, e) =>
            {
                aC.curTemp = e;
                btnTemp.Text = aC.curTemp.ToString();
            };
        }
        /// <summary>
        /// 控制模式事件
        /// </summary>
        void LoadEvent_ModeChange()
        void LoadEvent_AcStatesChange()
        {
            btnMode.MouseUpEventHandler = (sender, e) =>
            {
                LoadDiv_ChangeModeView();
                //if (aC.mode.Count <= 1)
                //    return;
                //var modeIndex = aC.mode.IndexOf(aC.curMode) + 1;
                //if (modeIndex == aC.mode.Count)
                //{
                //    modeIndex = 0;
                //}
                //aC.curMode = aC.mode[modeIndex];
                //btnMode.UnSelectedImagePath = aC.curModeImage;
                //btnWindSpeed.UnSelectedImagePath = aC.curFanImage;
                //Control.Send(CommandType_A.write, aC);
            };
            btnWindSpeed.MouseUpEventHandler = (sender, e) =>
            {
                LoadDiv_ChangeFanView();
                //if (aC.fan.Count <= 1)
                //    return;
                //var windSpeedIndex = aC.fan.IndexOf(aC.curFan) + 1;
                //if (windSpeedIndex == aC.fan.Count)
                //{
                //    windSpeedIndex = 0;
                //}
                //aC.curFan = aC.fan[windSpeedIndex];
                //btnMode.UnSelectedImagePath = aC.curModeImage;
                //btnWindSpeed.UnSelectedImagePath = aC.curFanImage;
                //Control.Send(CommandType_A.write, aC);
            };
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                btnSwitch.IsSelected = !btnSwitch.IsSelected;
                aC.on_off = btnSwitch.IsSelected ? "on" : "off";
                Control.Send(CommandType_A.write, aC);
            };
        }
        /// <summary>
        /// 加载模式改变事件
        /// </summary>
        void LoadEvent_ChangeMode(Dialog dialog, FrameLayout dialogView, Button btn1, Button btn2,string curMode)
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                dialog.Close();
            };
            EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
            {
                btn1.IsSelected = btn2.IsSelected = true;
                aC.curMode = curMode;
                Control.Send(CommandType_A.write, aC);
                dialog.Close();
            };
            btn1.MouseUpEventHandler = eventHandler1;
            btn2.MouseUpEventHandler = eventHandler1;
            dialogView.MouseUpEventHandler = eventHandler;
        }
        /// <summary>
        /// 加载模式改变事件
        /// </summary>
        void LoadEvent_ChangeFan(Dialog dialog, FrameLayout dialogView, Button btn1, Button btn2,string curFan)
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                dialog.Close();
            };
            EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
            {
                btn1.IsSelected = btn2.IsSelected = true;
                aC.curFan = curFan;
                Control.Send(CommandType_A.write, aC);
                dialog.Close();
            };
            btn1.MouseUpEventHandler = eventHandler1;
            btn2.MouseUpEventHandler = eventHandler1;
            dialogView.MouseUpEventHandler = eventHandler;
        }
    }
}
}