gxc
2020-01-02 00ab3ddb140ba8bb88b5cf572b004a85e1da85e9
ZigbeeApp/Shared/Phone/Device/Logic/LogicDevicePage.cs
@@ -25,7 +25,6 @@
        Button clicktextcolcrbutton = new Button();
        public void Show()
        {
            UserView.HomePage.Instance.ScrollEnabled = false;
            this.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
            #region  最上面的布局代码
@@ -47,6 +46,7 @@
                Height = Application.GetRealHeight(69),
                Y = Application.GetRealHeight(92),
                TextID = MyInternationalizationString.devicestate,
                IsBold = true,
            };
            topRowLayout.AddChidren(titleName);
@@ -133,7 +133,7 @@
            };
            this.AddChidren(devicetypehorizontalScrol);
            devicetypehorizontalScrol.SetCornerWithSameRadius(20, HDLUtils.RectCornerBottomLeft);
            devicetypehorizontalScrol.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft);
            middle = new VerticalScrolViewLayout();
            middle.Y = devicetypehorizontalScrol.Bottom + Application.GetRealHeight(40);
@@ -142,7 +142,7 @@
            middle.X = Application.GetRealWidth(58);
            //middle.Radius = (uint)Application.GetRealHeight(50);
            this.AddChidren(middle);
            middle.SetCornerWithSameRadius(20, HDLUtils.RectCornerTopLeft);
            middle.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft);
            ///目前支持的设备
            List<DeviceType> deviceTypeList = new List<DeviceType> {
@@ -691,7 +691,7 @@
                //Radius = (uint)Application.GetRealHeight(60),
            };
            flMain.AddChidren(devicefra);
            devicefra.SetCornerWithSameRadius(20, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            devicefra.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            #region  -------取消   完成
            var timetype = new RowLayout
@@ -1052,22 +1052,24 @@
                            LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                        };
                        openframelayout.AddChidren(horizontalSeekBarRow);
                        var horizontalSeekBarVol = new HorizontalSeekBar
                        var horizontalSeekBarVol = new DiyImageSeekBar
                        {
                            Y = openrowlayout.Bottom,
                            X = Application.GetRealWidth(80),
                            Width = Application.GetRealWidth(920),
                            Height = Application.GetRealHeight(80),
                            Radius = (uint)Application.GetRealHeight(25),
                            Y = Application.GetRealHeight(25),
                            //Gravity = Gravity.CenterVertical,
                            ProgressColor = ZigbeeColor.Current.LogicProgressColorSelected,
                            Max = 100,
                            SleepTime = 1000,
                            ThumbRadius = 9,
                            IsCanMove = false
                        };
                        horizontalSeekBarRow.AddChidren(horizontalSeekBarVol);
                            Height = Application.GetRealHeight(160),
                            IsProgressTextShow = true,//显示百分比
                            IsClickable = false,//进度条是否滑动
                            ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected,//选中进度条颜色
                            ThumbImagePath = "ZigeeLogic/progressbtn2.png",//进度条按钮图标
                            ThumbImageHeight = Application.GetRealHeight(56),//进度条按钮图标的高度(默认正方形:宽和高一样)
                            ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                            ProgressTextSize = 12,//显示百分比字体大小
                            SeekBarViewHeight = Application.GetRealHeight(10),//进度条的高度
                        #endregion
                        };
                        openframelayout.AddChidren(horizontalSeekBarVol);
                         #endregion
                        #region  关
                        var closeframelayout = new FrameLayout
@@ -1138,30 +1140,32 @@
                        #endregion
                        int Progressvalue = 100;
                        horizontalSeekBarVol.ProgressChanged += (sender, e) =>
                        {
                            SelectedDeviceStatusaction = "yes";
                            Progressvalue = horizontalSeekBarVol.Progress;
                            if (switchdictionary.ContainsKey("TaskType"))
                            {
                                switchdictionary.Remove("TaskType");
                            }
                            if (switchdictionary.ContainsKey("Data1"))
                            {
                                switchdictionary.Remove("Data1");
                            }
                            switchdictionary.Add("TaskType", "3");
                        EventHandler<int> progressclick = (sender, e) =>
                         {
                             SelectedDeviceStatusaction = "yes";
                             Progressvalue = horizontalSeekBarVol.Progress;
                             if (switchdictionary.ContainsKey("TaskType"))
                             {
                                 switchdictionary.Remove("TaskType");
                             }
                             if (switchdictionary.ContainsKey("Data1"))
                             {
                                 switchdictionary.Remove("Data1");
                             }
                             switchdictionary.Add("TaskType", "3");
                            //最大亮度值是254需要转换;
                            var lightbrightnessvalue = (254 * horizontalSeekBarVol.Progress) / 100;
                            switchdictionary.Add("Data1", lightbrightnessvalue.ToString());
                             switchdictionary.Add("Data1", lightbrightnessvalue.ToString());
                        };
                         };
                        horizontalSeekBarVol.OnProgressChangedEvent += progressclick;
                        horizontalSeekBarVol.OnStopTrackingTouchEvent += progressclick;
                        ///确认事件
                        EventHandler<MouseEventArgs> openclick = (sender, e) =>
                        {
                            SelectedDeviceStatusaction = "yes";
                            horizontalSeekBarVol.IsCanMove = true;
                            horizontalSeekBarVol.ProgressColor = ZigbeeColor.Current.LogicProgressColorSelected;
                            horizontalSeekBarVol.IsClickable = true;
                            horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected;
                            openBtnSelected.Visible = true;
                            closeBtnSelected.Visible = false;
                            takebackBtnSelected.Visible = false;
@@ -1188,8 +1192,8 @@
                        EventHandler<MouseEventArgs> closeclick = (sender, e) =>
                        {
                            SelectedDeviceStatusaction = "yes";
                            horizontalSeekBarVol.IsCanMove = false;
                            horizontalSeekBarVol.ProgressColor = ZigbeeColor.Current.LogicProgressColor;
                            horizontalSeekBarVol.IsClickable = false;
                            horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor;
                            openBtnSelected.Visible = false;
                            closeBtnSelected.Visible = true;
                            takebackBtnSelected.Visible = false;
@@ -1213,8 +1217,8 @@
                        EventHandler<MouseEventArgs> takebackclick = (sender, e) =>
                        {
                            SelectedDeviceStatusaction = "yes";
                            horizontalSeekBarVol.IsCanMove = false;
                            horizontalSeekBarVol.ProgressColor = ZigbeeColor.Current.LogicProgressColor;
                            horizontalSeekBarVol.IsClickable = false;
                            horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor;
                            openBtnSelected.Visible = false;
                            closeBtnSelected.Visible = false;
                            takebackBtnSelected.Visible = true;
@@ -1256,8 +1260,8 @@
                                        openBtnSelected.Visible = false;
                                        closeBtnSelected.Visible = true;
                                        takebackBtnSelected.Visible = false;
                                        horizontalSeekBarVol.IsCanMove = false;
                                        horizontalSeekBarVol.ProgressColor = ZigbeeColor.Current.LogicProgressColor;
                                        horizontalSeekBarVol.IsClickable = false;
                                        horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor;
                                    }
                                    else if (value["Data1"] == "2")
                                    {
@@ -1265,8 +1269,8 @@
                                        openBtnSelected.Visible = false;
                                        closeBtnSelected.Visible = false;
                                        takebackBtnSelected.Visible = true;
                                        horizontalSeekBarVol.IsCanMove = false;
                                        horizontalSeekBarVol.ProgressColor = ZigbeeColor.Current.LogicProgressColor;
                                        horizontalSeekBarVol.IsClickable = false;
                                        horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor;
                                    }
                                }
@@ -1277,8 +1281,8 @@
                                    openBtnSelected.Visible = true;
                                    closeBtnSelected.Visible = false;
                                    takebackBtnSelected.Visible = false;
                                    horizontalSeekBarVol.IsCanMove = true;
                                    horizontalSeekBarVol.ProgressColor = ZigbeeColor.Current.LogicProgressColorSelected;
                                    horizontalSeekBarVol.IsClickable = true;
                                    horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected;
                                    horizontalSeekBarVol.Progress = int.Parse(value["Data1"])*100/254;
                                    Progressvalue = horizontalSeekBarVol.Progress;
@@ -1350,20 +1354,22 @@
                            LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                        };
                        openframelayout.AddChidren(horizontalSeekBarRow);
                        var horizontalSeekBarVol = new HorizontalSeekBar
                        var horizontalSeekBarVol = new DiyImageSeekBar
                        {
                            Y = openrowlayout.Bottom,
                            X = Application.GetRealWidth(80),
                            Width = Application.GetRealWidth(920),
                            Height = Application.GetRealHeight(80),
                            Radius = (uint)Application.GetRealHeight(25),
                            Y = Application.GetRealHeight(25),
                            //Gravity = Gravity.CenterVertical,
                            ProgressColor = ZigbeeColor.Current.LogicProgressColorSelected,
                            Max = 100,
                            SleepTime = 1000,
                            ThumbRadius = 9,
                            IsCanMove = false
                            Height = Application.GetRealHeight(160),
                            IsProgressTextShow = true,//显示百分比
                            IsClickable = false,//进度条是否滑动
                            ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected,//选中进度条颜色
                            ThumbImagePath = "ZigeeLogic/progressbtn2.png",//进度条按钮图标
                            ThumbImageHeight = Application.GetRealHeight(56),//进度条按钮图标的高度(默认正方形:宽和高一样)
                            ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,//进度条原颜色
                            ProgressTextSize = 12,//显示百分比字体大小
                            SeekBarViewHeight = Application.GetRealHeight(10),
                        };
                        horizontalSeekBarRow.AddChidren(horizontalSeekBarVol);
                        openframelayout.AddChidren(horizontalSeekBarVol);
                        #endregion
@@ -1403,7 +1409,8 @@
                        #endregion
                        int Progressvalue = 100;
                        horizontalSeekBarVol.ProgressChanged += (sender, e) =>
                        EventHandler<int> progressclick = (sender, e) =>
                        {
                            SelectedDeviceStatusaction = "yes";
                            Progressvalue = horizontalSeekBarVol.Progress;
@@ -1419,12 +1426,14 @@
                            switchdictionary.Add("Data2", horizontalSeekBarVol.Progress.ToString());
                        };
                        horizontalSeekBarVol.OnProgressChangedEvent += progressclick;
                        horizontalSeekBarVol.OnStopTrackingTouchEvent += progressclick;
                        ///确认事件
                        EventHandler<MouseEventArgs> openclick = (sender, e) =>
                        EventHandler <MouseEventArgs> openclick = (sender, e) =>
                        {
                            SelectedDeviceStatusaction = "yes";
                            horizontalSeekBarVol.IsCanMove = true;
                            horizontalSeekBarVol.ProgressColor = ZigbeeColor.Current.LogicProgressColorSelected;
                            horizontalSeekBarVol.IsClickable = true;
                            horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected;
                            openBtnSelected.Visible = true;
                            closeBtnSelected.Visible = false;
                            horizontalSeekBarVol.Progress = Progressvalue;
@@ -1448,8 +1457,8 @@
                        EventHandler<MouseEventArgs> closeclick = (sender, e) =>
                        {
                            SelectedDeviceStatusaction = "yes";
                            horizontalSeekBarVol.IsCanMove = false;
                            horizontalSeekBarVol.ProgressColor = ZigbeeColor.Current.LogicProgressColor;
                            horizontalSeekBarVol.IsClickable = false;
                            horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor;
                            openBtnSelected.Visible = false;
                            closeBtnSelected.Visible = true;
@@ -1490,8 +1499,8 @@
                                        }
                                        switchdictionary.Add("Data1", "5");
                                        switchdictionary.Add("Data2", value["Data2"]);
                                        horizontalSeekBarVol.IsCanMove = true;
                                        horizontalSeekBarVol.ProgressColor = ZigbeeColor.Current.LogicProgressColorSelected;
                                        horizontalSeekBarVol.IsClickable = true;
                                        horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected;
                                        openBtnSelected.Visible = true;
                                        closeBtnSelected.Visible = false;
                                        horizontalSeekBarVol.Progress = int.Parse(value["Data2"]);
@@ -1506,8 +1515,8 @@
                                        switchdictionary.Add("Data1", "1");
                                        openBtnSelected.Visible = false;
                                        closeBtnSelected.Visible = true;
                                        horizontalSeekBarVol.IsCanMove = false;
                                        horizontalSeekBarVol.ProgressColor = ZigbeeColor.Current.LogicProgressColor;
                                        horizontalSeekBarVol.IsClickable = false;
                                        horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor;
                                    }
                                }
@@ -1737,29 +1746,23 @@
                        }
                    }
                    break;
                ///空调
                case DeviceType.Thermostat:
                    {
                        #region  ----初始化设备功能数据----
                        Dictionary<string, string> switchdictionary = new Dictionary<string, string>();
                        Dictionary<string, string> temperaturedictionary = new Dictionary<string, string>();
                        Dictionary<string, string> modedictionary = new Dictionary<string, string>();
                        Dictionary<string, string> speeddictionary = new Dictionary<string, string>();
                        taskListInfo.Add(switchdictionary);
                        taskListInfo.Add(temperaturedictionary);
                        taskListInfo.Add(modedictionary);
                        taskListInfo.Add(speeddictionary);
                        dictionary(switchdictionary, "TaskType", "1");
                        dictionary(switchdictionary, "Data2", "0");
                       var temperaturedictionary = new Dictionary<string, string>();
                       var modedictionary = new Dictionary<string, string>();
                        var speeddictionary = new Dictionary<string, string>();
                        dictionary(temperaturedictionary, "TaskType", "5");
                        dictionary(modedictionary, "TaskType", "5");
                        dictionary(modedictionary, "Data1", "3");
                        dictionary(speeddictionary, "TaskType", "5");
                        dictionary(speeddictionary, "Data1", "6");
                        taskListInfo.Add(temperaturedictionary);
                        taskListInfo.Add(modedictionary);
                        taskListInfo.Add(speeddictionary);
                        #endregion
                        #region  空调View
                        devicefra.Y = Application.GetRealHeight(1920 - 600 - 210 - 160*2);
@@ -1806,11 +1809,12 @@
                        };
                        devicefra.AddChidren(PickerViewfra);
                        //遮挡空调滑动view;
                        var pausePickerViewfra= new FrameLayout
                        {
                            Y = openframelayout.Bottom,
                            Height = Application.GetRealHeight(600),
                            BackgroundColor=0x60ffffff,
                        };
                        devicefra.AddChidren(pausePickerViewfra);
@@ -1885,11 +1889,14 @@
                        var closeBtnSelected = new SelectedButton();
                        closerowlayout.AddChidren(closeBtnSelected);
                        #endregion
                        //默认26,自动,中风
                        int indextemperature = 10, indexmode = 2, indexspeed = 1;
                        mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) =>
                        {
                            indextemperature = s1;
                            indexmode = s2;
                            indexspeed = s3;
                            if (openBtnSelected.Visible)
                            {
                                SelectedDeviceStatusaction = "yes";
@@ -1901,38 +1908,43 @@
                                dictionary(temperaturedictionary, "Data2", a.ToString());
                                SpeedState(speedstring, speeddictionary);
                            }
                        };
                       mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 0);
                        mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 1);
                        mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 2);
                        #endregion
                        //默认26,自动,中风
                        int indextemperature = 10, indexmode = 2, indexspeed = 1;
                        if (edit && TaskList != null)
                        {
                            foreach (var value in TaskList)
                            {
                                if (value["TaskType"] == "1")
                                if (TaskList.Count == 1)
                                {
                                    dictionary(switchdictionary, "Data1", value["Data1"]);
                                    if (value["Data1"] == "1")
                                    {
                                        openBtnSelected.Visible = true;
                                        closeBtnSelected.Visible = false;
                                        pausePickerViewfra.Height = Application.GetRealHeight(0);
                                    }
                                    else if (value["Data1"] == "0")
                                    {
                                        openBtnSelected.Visible = false;
                                        closeBtnSelected.Visible = true;
                                        pausePickerViewfra.Height = Application.GetRealHeight(600);
                                        //如果空调状态是关;直接跳出for循坏;
                                        break;
                                    }
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 0);
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 1);
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 2);
                                    //数组只有一个元素说明当前空调状态为关;
                                    openBtnSelected.Visible = false;
                                    closeBtnSelected.Visible = true;
                                    pausePickerViewfra.Height = Application.GetRealHeight(600);
                                    //如果空调状态是关;直接跳出for循坏;
                                    break;
                                }
                                else if (value["TaskType"] == "5")
                                else
                                {
                                    openBtnSelected.Visible = true;
                                    closeBtnSelected.Visible = false;
                                    pausePickerViewfra.Height = Application.GetRealHeight(0);
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 0);
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 1);
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 2);
                                }
                                if (value["TaskType"] == "5")
                                {
                                    if (value["Data1"] == "3")
                                    {//3---设置工作模式(1:自动;3:制冷;4:制热;7:送风;8:除湿)
@@ -2002,7 +2014,7 @@
                                        }
                                        indexspeed = mList3.IndexOf(speedtext);
                                    }
                                    //4---设置加热度数;5---设置制冷、除湿度数;7---设置自动度数
                                    //4-设置加热度数;5-设置制冷、除湿度数;7-设置自动度数
                                    else if (value["Data1"] == "4" || value["Data1"] == "5" || value["Data1"] == "7")
                                    {
                                        var s = int.Parse(value["Data2"]) / 100;
@@ -2016,15 +2028,30 @@
                        }
                        ///更新最新空调状态;
                        mUIPickerView.setCurrentItems(indextemperature, indexmode, indexspeed);
                        ///确认事件
                        EventHandler<MouseEventArgs> openclick = (sender, e) =>
                        {
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 0);
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 1);
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 2);
                            mUIPickerView.setCurrentItems(indextemperature, indexmode, indexspeed);
                            pausePickerViewfra.Height = Application.GetRealHeight(0);
                            SelectedDeviceStatusaction = "yes";
                            openBtnSelected.Visible = true;
                            closeBtnSelected.Visible = false;
                            dictionary(switchdictionary, "Data1", "1");
                            //清除之前数据;
                            taskListInfo.Clear();
                            //加载新数据;
                            dictionary(temperaturedictionary, "TaskType", "5");
                            dictionary(modedictionary, "TaskType", "5");
                            dictionary(modedictionary, "Data1", "3");
                            dictionary(speeddictionary, "TaskType", "5");
                            dictionary(speeddictionary, "Data1", "6");
                            taskListInfo.Add(temperaturedictionary);
                            taskListInfo.Add(modedictionary);
                            taskListInfo.Add(speeddictionary);
                            var temperature = mList1[indextemperature].Split(' ')[0];
                            var modestring = mList2[indexmode].Split(' ')[0];
                            var speedstring = mList3[indexspeed].Split(' ')[0];
@@ -2043,12 +2070,22 @@
                        ///取消事件
                        EventHandler<MouseEventArgs> closeclick = (sender, e) =>
                        {
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 0);
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 1);
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 2);
                            mUIPickerView.setCurrentItems(indextemperature, indexmode, indexspeed);
                            //清除之前数据;
                            taskListInfo.Clear();
                            dictionary(modedictionary, "TaskType", "5");
                            dictionary(modedictionary, "Data1", "3");
                            dictionary(modedictionary, "Data2", "0");
                            //加载新数据;
                            taskListInfo.Add(modedictionary);
                            pausePickerViewfra.Height = Application.GetRealHeight(600);
                            SelectedDeviceStatusaction = "yes";
                            openBtnSelected.Visible = false;
                            closeBtnSelected.Visible = true;
                            dictionary(switchdictionary, "Data1", "0");
                        };
                        closerowlayout.MouseUpEventHandler += closeclick;
                        btnclose.MouseUpEventHandler += closeclick;
@@ -2071,9 +2108,9 @@
                {
                    if (!edit)
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                               Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                               Language.StringByID(MyInternationalizationString.complete));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                               Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                              Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }