From 05ce435c3b58e53eeab04c672affdeeab75f3036 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 15 十一月 2019 14:41:39 +0800
Subject: [PATCH] 2019.11.15-1

---
 ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs |  281 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 208 insertions(+), 73 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
index 5d33720..a8393fd 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
@@ -23,7 +23,7 @@
         FrameLayout clickframeLayout = new FrameLayout();
         Button clickbutton = new Button();
         Button clicktextcolcrbutton = new Button();
-
+        HorizontalScrolViewLayout devicetypehorizontalScrol1;
         public void Show()
         {
 
@@ -44,7 +44,7 @@
                 TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                 TextAlignment = TextAlignment.CenterLeft,
                 X = Application.GetRealWidth(160),
-                Width = Application.GetRealWidth(300),
+                Width = Application.GetRealWidth(600),
                 Height = Application.GetRealHeight(69),
                 Y = Application.GetRealHeight(92),
                 TextID = MyInternationalizationString.devicestate,
@@ -121,7 +121,7 @@
             };
             this.AddChidren(roomhorizontalScrol);
 
-            var devicetypehorizontalScrol1 = new HorizontalScrolViewLayout()
+            devicetypehorizontalScrol1 = new HorizontalScrolViewLayout()
             {
                 Width = Application.GetRealWidth(1080 - 58 - 200),
                 Height = Application.GetRealHeight(280),
@@ -145,7 +145,7 @@
 
             middle = new VerticalScrolViewLayout();
             middle.Y = devicetypehorizontalScrol.Bottom + Application.GetRealHeight(40);
-            middle.Height = Application.GetRealHeight(1920) - devicetypehorizontalScrol.Y;
+            middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
             middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
             middle.X = Application.GetRealWidth(58);
             middle.Radius = (uint)Application.GetRealHeight(50);
@@ -156,7 +156,8 @@
                 DeviceType.IASZone,
                 DeviceType.OnOffSwitch,
                 DeviceType.OnOffOutput,//妤兼鐏�
-                DeviceType.DoorLock
+                DeviceType.DoorLock,
+                DeviceType.TemperatureSensor,
             };
 
             ///妤煎眰鐐瑰嚮浜嬩欢
@@ -169,47 +170,84 @@
                 {
                     flMain.RemoveFromParent();
                 };
+                var foolrbjicon = new FrameLayout
+                {
+
+                    Width = Application.GetRealWidth(450),
+                    Height = Application.GetRealHeight(780),
+                    X = Application.GetRealWidth(1080 - 468 - 35),
+                    Y = Application.GetRealHeight(184),
+                    BackgroundImagePath = "Item/SelectFloor_Right.png",
+                };
+                flMain.AddChidren(foolrbjicon);
+
+                var btnfoolrtext = new Button
+                {
+                    Width = Application.GetRealWidth(450),
+                    Height = Application.GetRealHeight(150),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+                    X = Application.GetRealWidth(80),
+                    TextID = MyInternationalizationString.selecfoolr,
+                };
+                foolrbjicon.AddChidren(btnfoolrtext);
+
                 var foolrbj = new VerticalScrolViewLayout
                 {
 
-                    Width = Application.GetRealWidth(400),
-                    Height = Application.GetRealHeight(600),
-                    X = Application.GetRealWidth(1080 - 400 - 60),
-                    Y = Application.GetRealHeight(184 + 50),
-                    BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
-                    Radius = (uint)Application.GetRealHeight(30),
+                    Width = Application.GetRealWidth(450),
+                    Height = foolrbjicon.Height - btnfoolrtext.Height,
+                    X = Application.GetRealWidth(80),
+                    Y = btnfoolrtext.Bottom,
                 };
-                flMain.AddChidren(foolrbj);
+                foolrbjicon.AddChidren(foolrbj);
+
                 foreach (var foolr in Config.Instance.Home.FloorDics)
                 {
-
-                    var foolrRowLayout = new FrameLayout
+                    var foolrRowLayout = new RowLayout
                     {
                         Height = Application.GetRealHeight(150),
+                        LineColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
                     };
                     foolrbj.AddChidren(foolrRowLayout);
+
+                    var btnfoolricon = new Button
+                    {
+                        Width = Application.GetRealWidth(81),
+                        Height = Application.GetRealHeight(81),
+                        UnSelectedImagePath = "Floor/Floor.png",
+                        Gravity = Gravity.CenterVertical,
+                    };
+                    foolrRowLayout.AddChidren(btnfoolricon);
+
 
                     var btnfoolrname = new Button
                     {
                         Width = Application.GetRealWidth(250),
-                        Height = Application.GetRealHeight(160),
+                        Height = Application.GetRealHeight(150),
                         Text = foolr.Value,
-                        TextAlignment = TextAlignment.Center,
-                        TextColor = ZigbeeColor.Current.LogicTextBlackColor,
-                        //SelectedTextColor=0xfffc744b,
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                         Tag = foolr.Key,
+                        X = btnfoolricon.Right + Application.GetRealWidth(12),
                     };
                     foolrRowLayout.AddChidren(btnfoolrname);
-
+                    if (foolrname.Text == foolr.Value)
+                    {
+                        btnfoolricon.UnSelectedImagePath = "Floor/FloorSelected.png";
+                        btnfoolrname.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
+                    }
 
                     EventHandler<MouseEventArgs> foolrnameclick = (sender13, e13) =>
                     {
+
                         roomhorizontalScrol.RemoveAll();
                         devicetypehorizontalScrol.RemoveAll();
                         middle.RemoveAll();
                         foolrname.Text = btnfoolrname.Text;
                         flMain.RemoveFromParent();
                         var list = Send.GetRoomList(btnfoolrname.Tag.ToString());
+
                         AllRoomView(list, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
                     };
                     foolrRowLayout.MouseUpEventHandler += foolrnameclick;
@@ -267,20 +305,20 @@
                     Width = Application.GetRealWidth(255),
                     UnSelectedImagePath = "ZigeeLogic/iconBackgroundColor.png",
                     SelectedImagePath = "ZigeeLogic/iconSelectedBackgroundColor.png",
-                    Y=Application.GetRealHeight(21),
+                    Y = Application.GetRealHeight(21),
                 };
                 fra.AddChidren(roombjBtn);
 
-                var roomnameBtn= new Button
+                var roomnameBtn = new Button
                 {
 
-                    Height = Application.GetRealHeight(152-26-20),
-                    Width = Application.GetRealWidth(255-20-50),
+                    Height = Application.GetRealHeight(152 - 26 - 20),
+                    Width = Application.GetRealWidth(255 - 20 - 50),
                     Text = room.Name,
                     TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                     SelectedTextColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
-                    Y=Application.GetRealHeight(21 +13+10),
-                    X=Application.GetRealWidth(10+25),
+                    Y = Application.GetRealHeight(21 + 13 + 10),
+                    X = Application.GetRealWidth(10 + 25),
 
                 };
                 fra.AddChidren(roomnameBtn);
@@ -298,7 +336,8 @@
                     var list = new List<DeviceUI>();
                     foreach (var device in room.DeviceUIList)
                     {
-                        if (device.CommonDevice==null) {
+                        if (device.CommonDevice == null)
+                        {
                             continue;
                         }
                         if (!deviceTypeList.Contains(device.CommonDevice.Type))
@@ -307,6 +346,19 @@
                         }
                         list.Add(device);
                     }
+                    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;
+                    }
+
                     AllDeviceTypeView(list, devicetypehorizontalScrol);
 
                 }
@@ -327,7 +379,8 @@
                     var list = new List<DeviceUI>();
                     foreach (var device in room.DeviceUIList)
                     {
-                        if (device.CommonDevice==null) {
+                        if (device.CommonDevice == null)
+                        {
                             continue;
                         }
                         if (!deviceTypeList.Contains(device.CommonDevice.Type))
@@ -336,6 +389,20 @@
                         }
                         list.Add(device);
                     }
+
+                    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;
+                    }
+
                     AllDeviceTypeView(list, devicetypehorizontalScrol);
 
 
@@ -366,7 +433,7 @@
                 devicetypelist.Add(Language.StringByID(MyInternationalizationString.Curtains));
             }
 
-            var iASZonejosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.IASZone);
+            var iASZonejosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.IASZone || device.CommonDevice.Type == DeviceType.TemperatureSensor);
             if (iASZonejosn != null)
             {
                 devicetypelist.Add(Language.StringByID(MyInternationalizationString.sensor));
@@ -486,6 +553,7 @@
                     else if (devicetype == Language.StringByID(MyInternationalizationString.sensor))
                     {
                         list.Add(DeviceType.IASZone);
+                        list.Add(DeviceType.TemperatureSensor);
                     }
                     else if (devicetype == Language.StringByID(MyInternationalizationString.doorLock))
                     {
@@ -589,6 +657,21 @@
 
                         }
                         break;
+                    case DeviceType.TemperatureSensor:
+                        {
+                            var temperatureSensor = common.CommonDevice as TemperatureSensor;
+                            if (temperatureSensor.SensorDiv == 1)
+                            {
+                                deviceIconBtn.UnSelectedImagePath = $"ZigeeLogic/temperature.png";
+                                deviceIconBtn.SelectedImagePath = $"ZigeeLogic/selectedtemperature.png";
+                            }
+                            else
+                            {
+                                deviceIconBtn.UnSelectedImagePath = "ZigeeLogic/humidity.png";
+                                deviceIconBtn.SelectedImagePath = "ZigeeLogic/selectedhumidity.png";
+                            }
+                        }
+                        break;
                     case DeviceType.OnOffSwitch:
                         {
                             deviceIconBtn.UnSelectedImagePath = "ZigeeLogic/panel.png";
@@ -631,11 +714,11 @@
         /// 閫変腑璇ヨ澶囧姛鑳戒綔涓烘潯浠剁殑瑙嗗浘鏂规硶
         /// </summary>
         /// <param name="common">Common.</param>
-        public async static  void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit)
+        public async static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit)
         {
             //涓嶈褰撳墠鐣岄潰婊戝姩
             UserView.HomePage.Instance.ScrollEnabled = false;
-            List<Dictionary<string, string>> doorlockConditionsInfo= new List<Dictionary<string, string>>();
+            List<Dictionary<string, string>> doorlockConditionsInfo = new List<Dictionary<string, string>>();
             Dictionary<string, string> deviceConditionsInfo = new Dictionary<string, string>();
             dictionary(deviceConditionsInfo, "Type", "1");
             dictionary(deviceConditionsInfo, "IsValid", "1");
@@ -698,9 +781,9 @@
                 TextID = MyInternationalizationString.security,
                 TextColor = ZigbeeColor.Current.LogicBtnTypeColor,
                 Height = Application.GetRealHeight(140),
-                Width = Application.GetRealWidth(320),
+                Width = Application.GetRealWidth(420),
                 TextAlignment = TextAlignment.Center,
-                X = Btncancel.Right + Application.GetRealWidth(100),
+                X = Btncancel.Right + Application.GetRealWidth(50),
                 TextSize = 16,
                 Text = common.DeviceEpointName,
             };
@@ -712,7 +795,7 @@
                 Height = Application.GetRealHeight(140),
                 Width = Application.GetRealWidth(200),
                 TextAlignment = TextAlignment.CenterRight,
-                X = Btntitle.Right + Application.GetRealWidth(100),
+                X = Btntitle.Right + Application.GetRealWidth(50),
 
             };
             timetype.AddChidren(Btncomplete);
@@ -1332,12 +1415,12 @@
                         var buttonSelected = new SelectedButton();
                         buttonRow.AddChidren(buttonSelected);
                         EventHandler<MouseEventArgs> buttonclick = (sender, e) =>
-                       {
-                           buttonSelected.Visible = true;
-                           SelectedDeviceStatuscondition = "OnOffSwitch";
-                           button.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
+                        {
+                            buttonSelected.Visible = true;
+                            SelectedDeviceStatuscondition = "OnOffSwitch";
+                            button.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
 
-                       };
+                        };
                         buttonRow.MouseUpEventHandler += buttonclick;
                         button.MouseUpEventHandler += buttonclick;
                         buttonSelected.MouseUpEventHandler += buttonclick;
@@ -1353,50 +1436,102 @@
                     break;
                 case DeviceType.DoorLock:
                     {
-                        #region  ------
-                        var doorlockifonlist = Send.ReadDoorLockIfon("ccccccfffe300347");
-                        //var list = Send.ReadDoorLockIfon(common.DeviceAddr);
-                        var pra = new UserCenter.MemberListInfoPra();
-                        string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
-                        var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result);
-                        Send.UserList.Clear();
-                        for (int i = 0; i < listInfo.Count; i++)
-                        {
-                            var membership = new Send.MembershipIfon();
-                            var membershipifon = listInfo[i];
-                            for (int j = 0; j < doorlockifonlist.Count; j++)
-                            {
-                                ///鏌ユ壘鎴愬憳浠ュ強鎴愬憳闂ㄩ攣瑙﹀彂婧�(1鎸夐敭/3鍗�/15鎸囩汗)
-                                if (doorlockifonlist[j].CloudAccountId == membershipifon.SubAccountDistributedMark)
-                                {
-                                    membership.UserIdMode.Add(doorlockifonlist[j].UserIdMode);
-                                    membership.MembershipName = membershipifon.UserName;
-                                    membership.MembershipId = membershipifon.SubAccountDistributedMark;
 
-                                }
-
-                            }
-                            if (membership.UserIdMode.Count != 0)
-                            {
-                                ///杩囨护鎺夐噸澶嶆暟鎹紱
-                                var str = Send.UserList.Find((c) => { return c.MembershipId == membership.MembershipId; });
-                                if (str == null)
-                                {
-                                    Send.UserList.Add(membership);
-                                }
-                            }
-
-                        }
-                        #endregion
 
                         var memberList = new MemberList();
                         UserView.HomePage.Instance.AddChidren(memberList);
                         UserView.HomePage.Instance.PageIndex += 1;
                         MemberList.action += () => { flMain.RemoveFromParent(); };
+                        MemberList.edit = false;
                         memberList.Show(common);
                     }
                     break;
+                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);
+                        var temperatureSensor = common as TemperatureSensor;
+                        var Btntemperaturevalue = new Button
+                        {
+                            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),
+                        };
+                        devicefra.AddChidren(Btntemperaturevalue);
 
+                        var horizontalSeekBarVol = new HorizontalSeekBar
+                        {
+                            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,
+                        };
+                        devicefra.AddChidren(horizontalSeekBarVol);
+                        horizontalSeekBarVol.MouseUpEventHandler += (sender, e) =>
+                        {
+                            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)
+                        {
+                            dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
+                            dictionary(deviceConditionsInfo, "AttriButeId", "0");
+                            dictionary(deviceConditionsInfo, "Range", "0");//0澶т簬AttriButeData1鏃惰Е鍙戝姩浣�
+                            dictionary(deviceConditionsInfo, "AttriButeData1", "0");
+                            dictionary(deviceConditionsInfo, "AttriButeData2", "0");
+                            Btntemperaturevalue.Text = current + ">0鈩�";
+
+                        }
+                        else
+                        {
+                            Btntemperaturevalue.Text = current + "<0%";
+                            dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
+                            dictionary(deviceConditionsInfo, "AttriButeId", "0");
+                            dictionary(deviceConditionsInfo, "Range", "2");//2灏忎簬AttriButeData1鏃惰Е鍙戝姩浣�
+                            dictionary(deviceConditionsInfo, "AttriButeData1", "0");//娓╁害鍊�
+                            dictionary(deviceConditionsInfo, "AttriButeData2", "0");
+                        }
+
+                        if (edit && devices != null)
+                        {
+                            horizontalSeekBarVol.Progress = int.Parse(devices["AttriButeData1"]);
+                            if (temperatureSensor.SensorDiv == 1)
+                            {
+
+                                Btntemperaturevalue.Text = current + ">" + devices["AttriButeData1"] + "鈩�";
+
+                            }
+                            else
+                            {
+                                Btntemperaturevalue.Text = current + "<" + devices["AttriButeData1"] + "%";
+                            }
+                        }
+
+                    }
+                    break;
             }
 
             Btncomplete.MouseUpEventHandler += (sender2, e2) =>
@@ -1438,7 +1573,7 @@
             deviceConditionsInfo.Add(Key, Value);
         }
 
-        
+
 
     }
 }

--
Gitblit v1.8.0