From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 28 二月 2020 15:25:13 +0800
Subject: [PATCH] 2020.2.28

---
 ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs |  222 ++++++++++++++++++++++++++++++-------------------------
 1 files changed, 122 insertions(+), 100 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
index 00be7cf..6a87aa5 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
@@ -23,10 +23,11 @@
         FrameLayout clickframeLayout = new FrameLayout();
         Button clickbutton = new Button();
         Button clicktextcolcrbutton = new Button();
-        HorizontalScrolViewLayout devicetypehorizontalScrol1;
-        public void Show()
+       
+        public  void Show()
         {
 
+     
             UserView.HomePage.Instance.ScrollEnabled = false;
             this.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
             #region  鏈�涓婇潰鐨勫竷灞�浠g爜
@@ -40,7 +41,7 @@
 
             var titleName = new Button
             {
-                TextSize = 16,
+                TextSize = 17,
                 TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                 TextAlignment = TextAlignment.CenterLeft,
                 X = Application.GetRealWidth(160),
@@ -48,6 +49,7 @@
                 Height = Application.GetRealHeight(69),
                 Y = Application.GetRealHeight(92),
                 TextID = MyInternationalizationString.devicestate,
+                IsBold = true,
             };
             topRowLayout.AddChidren(titleName);
 
@@ -90,6 +92,7 @@
                 Y = Application.GetRealHeight(92),
                 //TextID = MyInternationalizationString.customroom,
                 Text = Config.Instance.Home.GetCurrentFloorName,
+                TextSize = 14,
             };
             topRowLayout.AddChidren(foolrname);
             var dropdown = new Button
@@ -121,15 +124,6 @@
             };
             this.AddChidren(roomhorizontalScrol);
 
-            devicetypehorizontalScrol1 = new HorizontalScrolViewLayout()
-            {
-                Width = Application.GetRealWidth(1080 - 58 - 200),
-                Height = Application.GetRealHeight(280),
-                Y = roomhorizontalScrol.Bottom,
-                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
-                X = Application.GetRealWidth(58 + 200),
-            };
-            this.AddChidren(devicetypehorizontalScrol1);
             ///璁惧绫诲瀷婊戝姩鎺т欢
             var devicetypehorizontalScrol = new HorizontalScrolViewLayout()
             {
@@ -138,19 +132,20 @@
                 Y = roomhorizontalScrol.Bottom,
                 BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                 X = Application.GetRealWidth(58),
-                Radius = (uint)Application.GetRealHeight(50),
+               // Radius = (uint)Application.GetRealHeight(50),
 
             };
             this.AddChidren(devicetypehorizontalScrol);
+            devicetypehorizontalScrol.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerBottomLeft);
 
             middle = new VerticalScrolViewLayout();
             middle.Y = devicetypehorizontalScrol.Bottom + Application.GetRealHeight(40);
             middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
             middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
             middle.X = Application.GetRealWidth(58);
-            middle.Radius = (uint)Application.GetRealHeight(50);
+            //middle.Radius = (uint)Application.GetRealHeight(50);
             this.AddChidren(middle);
-
+            middle.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerTopLeft);
             ///鐩墠鏀寔鐨勮澶�
             var deviceTypeList = new List<DeviceType> {
                 DeviceType.IASZone,
@@ -189,6 +184,7 @@
                     TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                     X = Application.GetRealWidth(80),
                     TextID = MyInternationalizationString.selecfoolr,
+                    TextSize = 14,
                 };
                 foolrbjicon.AddChidren(btnfoolrtext);
 
@@ -230,6 +226,7 @@
                         TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                         Tag = foolr.Key,
                         X = btnfoolricon.Right + Application.GetRealWidth(12),
+                        TextSize = 14,
                     };
                     foolrRowLayout.AddChidren(btnfoolrname);
                     if (foolrname.Text == foolr.Value)
@@ -247,7 +244,6 @@
                         foolrname.Text = btnfoolrname.Text;
                         flMain.RemoveFromParent();
                         var list = Send.GetRoomList(btnfoolrname.Tag.ToString());
-
                         AllRoomView(list, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
                     };
                     foolrRowLayout.MouseUpEventHandler += foolrnameclick;
@@ -288,6 +284,7 @@
         /// </summary>
         void AllRoomView(List<Common.Room> roomlist, List<DeviceType> deviceTypeList, HorizontalScrolViewLayout roomhorizontalScrol, HorizontalScrolViewLayout devicetypehorizontalScrol)
         {
+            
             for (int i = 0; i < roomlist.Count; i++)
             {
                 var room = roomlist[i];
@@ -349,13 +346,11 @@
                     if (list.Count == 0)
                     {
                         devicetypehorizontalScrol.Height = 0;
-                        devicetypehorizontalScrol1.Height = 0;
                         middle.Height = 0;
                     }
                     else
                     {
                         devicetypehorizontalScrol.Height = Application.GetRealHeight(280);
-                        devicetypehorizontalScrol1.Height = Application.GetRealHeight(280);
                         middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
                     }
 
@@ -393,13 +388,11 @@
                     if (list.Count == 0)
                     {
                         devicetypehorizontalScrol.Height = 0;
-                        devicetypehorizontalScrol1.Height = 0;
                         middle.Height = 0;
                     }
                     else
                     {
                         devicetypehorizontalScrol.Height = Application.GetRealHeight(280);
-                        devicetypehorizontalScrol1.Height = Application.GetRealHeight(280);
                         middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
                     }
 
@@ -603,7 +596,7 @@
                     Height = Application.GetRealHeight(112),
                     X = Application.GetRealWidth(58),
                     Y = Application.GetRealHeight(30 + 9),
-                    Radius = (uint)Application.GetRealHeight(56),
+                   // Radius = (uint)Application.GetRealHeight(56),
                     BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
                 };
                 deviceFramelayout.AddChidren(bjFramelayout);
@@ -634,6 +627,7 @@
                     TextAlignment = TextAlignment.CenterLeft,
                     TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                     SelectedTextColor = ZigbeeColor.Current.LogicAddColor,
+                    TextSize = 14,
                 };
                 deviceRow.AddChidren(devicename);
                 switch (common.CommonDevice.Type)
@@ -729,18 +723,7 @@
             flMain.MouseUpEventHandler += (sender, e) =>
             {
                 flMain.RemoveFromParent();
-
-
             };
-
-            var devicefra1 = new FrameLayout
-            {
-                Width = Application.GetRealWidth(1080),
-                Height = Application.GetRealHeight(100),
-                Y = Application.GetRealHeight(1920 - 100),
-                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
-            };
-            flMain.AddChidren(devicefra1);
 
             var devicefra = new FrameLayout
             {
@@ -749,9 +732,10 @@
                 Height = Application.GetRealHeight(530),
                 Y = Application.GetRealHeight(1920 - 530),
                 BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
-                Radius = (uint)Application.GetRealHeight(60),
+               // Radius = (uint)Application.GetRealHeight(60),
             };
             flMain.AddChidren(devicefra);
+            devicefra.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerTopLeft|HDLUtils.RectCornerTopRight);
 
             #region  -------鍙栨秷   瀹屾垚
             var timetype = new RowLayout
@@ -768,6 +752,7 @@
                 Width = Application.GetRealWidth(200),
                 X = Application.GetRealWidth(80),
                 TextAlignment = TextAlignment.CenterLeft,
+                TextSize = 14,
             };
             timetype.AddChidren(Btncancel);
             Btncancel.MouseUpEventHandler += (sender16, e16) =>
@@ -796,6 +781,7 @@
                 Width = Application.GetRealWidth(200),
                 TextAlignment = TextAlignment.CenterRight,
                 X = Btntitle.Right + Application.GetRealWidth(50),
+                TextSize = 14,
 
             };
             timetype.AddChidren(Btncomplete);
@@ -856,6 +842,7 @@
                             TextID = MyInternationalizationString.open,
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         openrowlayout.AddChidren(btnopen);
 
@@ -886,6 +873,7 @@
                             Width = Application.GetRealWidth(600),
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         closerowlayout.AddChidren(btnclose);
 
@@ -981,6 +969,7 @@
                             Height = Application.GetRealHeight(180),
                             //SelectedBackgroundColor = 0xfffe5e00,
                             TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+                            TextSize = 14,
                         };
                         openrowlayout.AddChidren(btnopen);
 
@@ -1011,6 +1000,7 @@
                             Width = Application.GetRealWidth(300),
                             Height = Application.GetRealHeight(180),
                             TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+                            TextSize = 14,
                         };
                         closerowlayout.AddChidren(btnclose);
 
@@ -1107,6 +1097,7 @@
                             TextID = MyInternationalizationString.open,
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         openrowlayout.AddChidren(btnopen);
 
@@ -1137,6 +1128,7 @@
                             Width = Application.GetRealWidth(600),
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                            TextSize = 14,
                         };
                         closerowlayout.AddChidren(btnclose);
 
@@ -1180,7 +1172,7 @@
                             dictionary(deviceConditionsInfo, "AttriButeData1", "0");
                             if (iASZonedevice.IasDeviceType == 13)
                             {
-                                SelectedDeviceStatuscondition = "no";
+                                SelectedDeviceStatuscondition = "";
                                 btnopen.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                 btnclose.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                 openBtnSelected.Visible = false;
@@ -1248,6 +1240,7 @@
                                         Width = Application.GetRealWidth(600),
                                         TextAlignment = TextAlignment.CenterLeft,
                                         TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                                        TextSize = 14,
                                     };
                                     timeoutrowlayout.AddChidren(btntimeout);
 
@@ -1262,7 +1255,7 @@
                                     timeoutrowlayout.AddChidren(timeoutBtnSelected);
                                     EventHandler<MouseEventArgs> timeoutclick = (sender, e) =>
                                     {
-                                        SelectedDeviceStatuscondition = "no";
+                                        SelectedDeviceStatuscondition = "";
                                         btnopen.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                         btnclose.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                         openBtnSelected.Visible = false;
@@ -1281,7 +1274,6 @@
                                     #endregion
                                 }
                                 break;
-
                             case 40:
                                 {
                                     devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 - 20 - 50);
@@ -1321,7 +1313,6 @@
                                     openrowlayout.LineColor = ZigbeeColor.Current.LogicBackgroundColor;
                                 }
                                 break;
-
                             case 277:
                                 {
                                     devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 - 20 - 50);
@@ -1408,6 +1399,7 @@
                             TextAlignment = TextAlignment.CenterLeft,
                             TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
                             Text = Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString(),
+                            TextSize = 14,
                             //SelectedBackgroundColor = 0xfffe5e00,
                         };
                         buttonRow.AddChidren(button);
@@ -1448,86 +1440,116 @@
                 case DeviceType.TemperatureSensor:
                     {
                         string current = Language.StringByID(MyInternationalizationString.current);
-                        devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 * 2 - 20 - 50);
-                        devicefra.Height = Application.GetRealHeight(140 + 160 * 2 + 20 + 50);
+                        devicefra.Y = Application.GetRealHeight(1920 - 140 - 600);
+                        devicefra.Height = Application.GetRealHeight(140 + 600);
                         var temperatureSensor = common as TemperatureSensor;
-                        var Btntemperaturevalue = new Button
+                        SelectedDeviceStatuscondition = "TemperatureSensor";
+                        #region  甯冨眬View
+                        var PickerViewfra = new FrameLayout
                         {
-                            TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
-                            Height = Application.GetRealHeight(60),
-                            Width = Application.GetRealWidth(400),
-                            TextAlignment = TextAlignment.CenterLeft,
-                            X = Application.GetRealWidth(80),
-                            Y = timetype.Bottom + Application.GetRealHeight(70),
+                            Y = Application.GetRealHeight(140),
+                            Height = Application.GetRealHeight(600),
                         };
-                        devicefra.AddChidren(Btntemperaturevalue);
+                        devicefra.AddChidren(PickerViewfra);
 
-                        var horizontalSeekBarVol = new HorizontalSeekBar
+
+                        var mUIPickerView = new UIPickerView
                         {
-                            Width = Application.GetRealWidth(920),
-                            Height = Application.GetRealHeight(80),
-                            Radius = (uint)Application.GetRealHeight(25),
-                            Y = timetype.Bottom + Application.GetRealHeight(70 + 60 + 70),
-                            X = Application.GetRealWidth(80),
-                            ProgressColor = ZigbeeColor.Current.LogicProgressColorSelected,
-                            Max = 100,
-                            SleepTime = 1000,
-                            ThumbRadius = 9,
+                            Height = Application.GetRealHeight(600 - 5),
                         };
-                        devicefra.AddChidren(horizontalSeekBarVol);
-                        horizontalSeekBarVol.MouseUpEventHandler += (sender, e) =>
+                        PickerViewfra.AddChidren(mUIPickerView);
+
+                        var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" };
+                        var mList2 = new List<string>();
+                        var mList3 = new List<string>();
+                        for (int i = 1; i <=100; i++)
                         {
-                            SelectedDeviceStatuscondition = "TemperatureSensor";
-                            if (temperatureSensor.SensorDiv == 1)
-                            {
-                                dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString());
-
-                                Btntemperaturevalue.Text = current + ">" + horizontalSeekBarVol.Progress.ToString() + "鈩�";
-
-                            }
-                            else
-                            {
-                                Btntemperaturevalue.Text = current + "<" + horizontalSeekBarVol.Progress.ToString() + "%";
-                                dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString());//娓╁害鍊�
-                            }
-                        };
-
-
-
-                        if (temperatureSensor.SensorDiv == 1)
-                        {
+                            mList2.Add(i.ToString());
+                        }
+                        if (temperatureSensor.SensorDiv == 1) {
+                            mList3.Add("鈩�");
                             dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
                             dictionary(deviceConditionsInfo, "AttriButeId", "0");
-                            dictionary(deviceConditionsInfo, "Range", "0");//0澶т簬AttriButeData1鏃惰Е鍙戝姩浣�
-                            dictionary(deviceConditionsInfo, "AttriButeData1", "0");
+                            dictionary(deviceConditionsInfo, "Range", "1");//1:绛変簬AttriButeData1鏃惰Е鍙戝姩浣�
+                            dictionary(deviceConditionsInfo, "AttriButeData1", "50");//榛樿娓╁害鍊�50鈩�
                             dictionary(deviceConditionsInfo, "AttriButeData2", "0");
-                            Btntemperaturevalue.Text = current + ">0鈩�";
-
-                        }
-                        else
-                        {
-                            Btntemperaturevalue.Text = current + "<0%";
+                        } else {
+                            mList3.Add("%");
                             dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
                             dictionary(deviceConditionsInfo, "AttriButeId", "0");
-                            dictionary(deviceConditionsInfo, "Range", "2");//2灏忎簬AttriButeData1鏃惰Е鍙戝姩浣�
-                            dictionary(deviceConditionsInfo, "AttriButeData1", "0");//娓╁害鍊�
+                            dictionary(deviceConditionsInfo, "Range", "1");//1:绛変簬AttriButeData1鏃惰Е鍙戝姩浣�
+                            dictionary(deviceConditionsInfo, "AttriButeData1", "50");//榛樿婀垮害鍊�50%
                             dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                         }
+                        mUIPickerView.setNPicker(mList1, mList2, mList3);
 
+                        #endregion
+
+                        mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) =>
+                        {
+                            SelectedDeviceStatuscondition = "TemperatureSensor";
+                            dictionary(deviceConditionsInfo, "AttriButeData1", mList2[s2]);
+                            switch (mList1[s1])
+                            {
+                                case ">": {
+                                        dictionary(deviceConditionsInfo, "Range", "0");
+                                    } break;
+                                case "<": {
+                                        dictionary(deviceConditionsInfo, "Range", "2");
+                                    } break;
+                                case "=": {
+                                        dictionary(deviceConditionsInfo, "Range", "1");
+                                    } break;
+                                case "鈮�": {
+                                        dictionary(deviceConditionsInfo, "Range", "6");
+                                    } break;
+                                case "鈮�": {
+                                        dictionary(deviceConditionsInfo, "Range", "7");
+                                    } break;
+                            }
+                        };
+
+                        //榛樿=,50
+                        int index1 = 2, index2 = 49;
                         if (edit && devices != null)
                         {
-                            horizontalSeekBarVol.Progress = int.Parse(devices["AttriButeData1"]);
-                            if (temperatureSensor.SensorDiv == 1)
+                            SelectedDeviceStatuscondition = "";
+                            string s = "";
+                            switch (devices["Range"])
                             {
-
-                                Btntemperaturevalue.Text = current + ">" + devices["AttriButeData1"] + "鈩�";
-
+                                case "0":
+                                    {
+                                        s = ">";
+                                    }
+                                    break;
+                                case "1":
+                                    {
+                                        s = "=";
+                                    }
+                                    break;
+                                case "2":
+                                    {
+                                        s = "<";
+                                    }
+                                    break;
+                                case "6":
+                                    {
+                                        s = "鈮�";
+                                    }
+                                    break;
+                                case "7":
+                                    {
+                                        s = "鈮�";
+                                    }
+                                    break;
                             }
-                            else
-                            {
-                                Btntemperaturevalue.Text = current + "<" + devices["AttriButeData1"] + "%";
-                            }
+                            //鏌ユ壘绱㈠紩
+                            index1 = mList1.IndexOf(s);
+                            index2 = mList2.IndexOf(devices["AttriButeData1"]);
+
                         }
+                        ///鏇存柊鏈�鏂扮姸鎬侊紱
+                        mUIPickerView.setCurrentItems(index1, index2, 0);
 
                     }
                     break;
@@ -1544,9 +1566,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;
                     }

--
Gitblit v1.8.0