From 00ab3ddb140ba8bb88b5cf572b004a85e1da85e9 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 02 一月 2020 19:51:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into DEV_GXC

---
 ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs |  170 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 101 insertions(+), 69 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
index 092dc54..6a87aa5 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
@@ -24,9 +24,10 @@
         Button clickbutton = new Button();
         Button clicktextcolcrbutton = new Button();
        
-        public void Show()
+        public  void Show()
         {
 
+     
             UserView.HomePage.Instance.ScrollEnabled = false;
             this.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
             #region  鏈�涓婇潰鐨勫竷灞�浠g爜
@@ -48,6 +49,7 @@
                 Height = Application.GetRealHeight(69),
                 Y = Application.GetRealHeight(92),
                 TextID = MyInternationalizationString.devicestate,
+                IsBold = true,
             };
             topRowLayout.AddChidren(titleName);
 
@@ -134,7 +136,7 @@
 
             };
             this.AddChidren(devicetypehorizontalScrol);
-            devicetypehorizontalScrol.SetCornerWithSameRadius(20,HDLUtils.RectCornerBottomLeft);
+            devicetypehorizontalScrol.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerBottomLeft);
 
             middle = new VerticalScrolViewLayout();
             middle.Y = devicetypehorizontalScrol.Bottom + Application.GetRealHeight(40);
@@ -143,7 +145,7 @@
             middle.X = Application.GetRealWidth(58);
             //middle.Radius = (uint)Application.GetRealHeight(50);
             this.AddChidren(middle);
-            middle.SetCornerWithSameRadius(20, HDLUtils.RectCornerTopLeft);
+            middle.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerTopLeft);
             ///鐩墠鏀寔鐨勮澶�
             var deviceTypeList = new List<DeviceType> {
                 DeviceType.IASZone,
@@ -242,7 +244,6 @@
                         foolrname.Text = btnfoolrname.Text;
                         flMain.RemoveFromParent();
                         var list = Send.GetRoomList(btnfoolrname.Tag.ToString());
-
                         AllRoomView(list, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
                     };
                     foolrRowLayout.MouseUpEventHandler += foolrnameclick;
@@ -283,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];
@@ -733,7 +735,7 @@
                // Radius = (uint)Application.GetRealHeight(60),
             };
             flMain.AddChidren(devicefra);
-            devicefra.SetCornerWithSameRadius(20, HDLUtils.RectCornerTopLeft|HDLUtils.RectCornerTopRight);
+            devicefra.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerTopLeft|HDLUtils.RectCornerTopRight);
 
             #region  -------鍙栨秷   瀹屾垚
             var timetype = new RowLayout
@@ -1238,6 +1240,7 @@
                                         Width = Application.GetRealWidth(600),
                                         TextAlignment = TextAlignment.CenterLeft,
                                         TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
+                                        TextSize = 14,
                                     };
                                     timeoutrowlayout.AddChidren(btntimeout);
 
@@ -1437,87 +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),
-                            TextSize = 14,
+                            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;
@@ -1534,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