From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

---
 ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs |  217 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 147 insertions(+), 70 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
index 5ccee7d..1501165 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
@@ -12,17 +12,17 @@
         /// 閫変腑璇ヨ澶囧姛鑳戒綔涓烘潯浠舵垨鑰呯洰鏍囩殑瑙嗗浘鏂规硶
         /// </summary>
         /// <param name="common">Common.</param>
-        public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str)
+        public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str,int intValue)
         {
             #region  -------鐣岄潰甯冨眬閮ㄥ垎
             //涓嶈褰撳墠鐣岄潰婊戝姩
             UserView.HomePage.Instance.ScrollEnabled = false;
             CompleteView completeView = new CompleteView();
             flMain.AddChidren(completeView.Show(1));
-            completeView.Btntitle.Text = LocalDevice.Current.GetDeviceEpointName(common);
+            completeView.Btntitle.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(common);
             EventHandler<MouseEventArgs> clickcancel = (sender, e) =>
             {
-                if (!edit)
+                if (edit)
                 {
                     UserView.HomePage.Instance.ScrollEnabled = true;
                 }
@@ -59,18 +59,19 @@
             };
             var horizontalSeekBarVol = new DiyImageSeekBar
             {
-                //Y = openView.frameLayout.Bottom,
-                X = Application.GetRealWidth(80),
-                Width = Application.GetRealWidth(915),
-                Height = Application.GetRealHeight(160),
+                //Y = openView.frameLayout.Bottom,//杩涘害鏉$埗鎺т欢Y鍧愭爣
+                X = Application.GetRealWidth(80),//杩涘害鏉鍧愭爣
+                Width = Application.GetRealWidth(915),//杩涘害鏉$殑闀垮害
+                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 = 9,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�12
-                SeekBarViewHeight = Application.GetRealHeight(5),//杩涘害鏉$殑楂樺害10
+                ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�12
+                SeekBarViewHeight = Application.GetRealHeight(6),//杩涘害鏉$殑楂樺害10
+                SeekBarPadding = 30,
             };
             #endregion
             #endregion
@@ -99,33 +100,28 @@
             {
                 if (_if[0]== "condition")
                 {
-                    foreach (var deviceinfo in Common.Logic.CurrentLogic.Conditions)
+                    var deviceinfo = Common.Logic.CurrentLogic.Conditions[intValue];
+                    if (deviceinfo["Type"] == "1")
                     {
-                        if (deviceinfo["Type"] == "1")
+                        if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"])
                         {
-                            if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"])
-                            {
-                                devices = deviceinfo;
-                                break;
+                            devices = deviceinfo;
 
-                            }
                         }
                     }
                 }
                 else
                 {
-                    foreach (var deviceinfo in Common.Logic.CurrentLogic.Actions)
+                    var deviceinfo = Common.Logic.CurrentLogic.Actions[intValue];
+                    if (deviceinfo["LinkType"].ToString() == "0")
                     {
-                        if (deviceinfo["LinkType"].ToString() == "0")
-                        {
 
-                            if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString())
-                            {
-                                TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>;
-                                break;
-                            }
+                        if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString())
+                        {
+                            TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>;
                         }
                     }
+                  
                 }
             }
             #endregion
@@ -298,7 +294,7 @@
                         Send.dictionary(deviceConditionsInfo, "AttriButeId", "1281");
                         Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
 
-                        int timevalue = 0;
+                        int timeValue = 0;
                         ///鐐瑰嚮纭浜嬩欢
                         openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                         {
@@ -309,10 +305,11 @@
                             closeView.selectedIconBtn.Visible = false;
                             if (iASZonedevice.IasDeviceType == 13)
                             {
+                                
                                 closeView.selectedIconBtn.Visible = true;
                             }
                             Send.dictionary(deviceConditionsInfo, "Range", "5");
-                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "1");
+                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "3");//鏀寔1鍜�2;1+2=3
                         };
                         ///鐐瑰嚮鍙栨秷浜嬩欢
                         closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
@@ -322,53 +319,109 @@
                             closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                             openView.selectedIconBtn.Visible = false;
                             closeView.selectedIconBtn.Visible = true;
-                            Send.dictionary(deviceConditionsInfo, "Range", "1");
-                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "0");
-                            if (iASZonedevice.IasDeviceType == 13)
+                            Send.dictionary(deviceConditionsInfo, "Range", "8");//1
+                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "3");//0
+                            if (iASZonedevice.IasDeviceType == 13|| iASZonedevice.IasDeviceType == 541)
                             {
                                 SelectedDeviceStatus = "";
-                                openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                 closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
-                                openView.selectedIconBtn.Visible = false;
-                                closeView.selectedIconBtn.Visible = true;
                                 var ignoreTime = new IgnoreTime();
                                 UserView.HomePage.Instance.AddChidren(ignoreTime);
                                 UserView.HomePage.Instance.PageIndex += 1;
-                                ignoreTime.Show(common, closeView.titleBtn.Text, edit, timevalue);
+                                ignoreTime.Show(common, closeView.titleBtn.Text, edit, timeValue, _if[1]);
                             }
-
-
                         };
 
                         switch (iASZonedevice.IasDeviceType)
                         {
                             case 13:
                                 {
-                                    openView.titleBtn.TextID = MyInternationalizationString.someone;
-                                    closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
-                                    closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
-                                    closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
-                                    closeView.selectedIconBtn.Visible = true;
-                                    completeView.Show(2).AddChidren(openView.Show());
-                                    completeView.Show(2).AddChidren(closeView.Show());
+
+                                    if (common.ModelIdentifier == "MSPIRB-ZB.10")
+                                    {
+                                        int _height = 3;
+                                        if (edit)
+                                        {
+                                            _height = 2;
+                                        }
+                                        var view = completeView.Show(_height);
+                                        openView.titleBtn.TextID = MyInternationalizationString.someone;
+                                        closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
+                                        closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
+                                        closeView.selectedIconBtn.Visible = true;
+                                        view.AddChidren(openView.Show());
+                                        view.AddChidren(closeView.Show());
+
+                                        takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
+                                        takebackView.selectedIconBtn.Visible = true;
+                                        takebackView.titleBtn.TextID = MyInternationalizationString.ambientLight;
+                                        takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
+                                        if (edit)
+                                        {
+
+                                            if (devices["Cluster_ID"] == "1024")
+                                            {
+                                                flMain.RemoveFromParent();
+                                                var illumination = new Illumination();
+                                                UserView.HomePage.Instance.AddChidren(illumination);
+                                                UserView.HomePage.Instance.PageIndex += 1;
+                                                illumination.Show(common, takebackView.titleBtn.Text, int.Parse(devices["AttriButeData1"]), true);
+                                            }
+                                            else
+                                            {
+                                                closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
+                                            }
+                                        }
+                                        else
+                                        {
+                                            view.AddChidren(takebackView.Show());
+
+                                        }
+
+
+                                        takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
+                                        {
+                                            SelectedDeviceStatus = "";
+                                            openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
+                                            openView.selectedIconBtn.Visible = false;
+                                            var illumination = new Illumination();
+                                            UserView.HomePage.Instance.AddChidren(illumination);
+                                            UserView.HomePage.Instance.PageIndex += 1;
+                                            illumination.Show(common, takebackView.titleBtn.Text, 0, false);
+
+                                        };
+
+                                    }
+                                    else
+                                    {
+
+                                        openView.titleBtn.TextID = MyInternationalizationString.someone;
+                                        closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
+                                        closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
+                                        closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
+                                        closeView.selectedIconBtn.Visible = true;
+                                        completeView.Show(2).AddChidren(openView.Show());
+                                        completeView.Show(2).AddChidren(closeView.Show());
+
+                                    }
                                 }
                                 break;
                             case 21:
                             case 22:
                                 {
                                     #region
+                                    var view = completeView.Show(3);
                                     openView.titleBtn.TextID = MyInternationalizationString.logicopen;
                                     closeView.titleBtn.TextID = MyInternationalizationString.logicclose;
-                                    completeView.Show(3).AddChidren(openView.Show());
-                                    completeView.Show(3).AddChidren(closeView.Show());
+                                    view.AddChidren(openView.Show());
+                                    view.AddChidren(closeView.Show());
 
-                                    mFunView timeoutView = new mFunView();
-                                    timeoutView.frameLayout.Y = closeView.frameLayout.Bottom;
-                                    timeoutView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
-                                    completeView.Show(3).AddChidren(timeoutView.Show());
-                                    timeoutView.titleBtn.TextID = MyInternationalizationString.closetimeout;
-                                    timeoutView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
-                                    timeoutView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
+                                    takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
+                                    takebackView.selectedIconBtn.Visible = true;
+                                    takebackView.titleBtn.TextID = MyInternationalizationString.closetimeout;
+                                    takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
+                                    view.AddChidren(takebackView.Show());
+                                    takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                                     {
                                         SelectedDeviceStatus = "";
                                         openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
@@ -378,7 +431,7 @@
                                         var ignoreTime = new IgnoreTime();
                                         UserView.HomePage.Instance.AddChidren(ignoreTime);
                                         UserView.HomePage.Instance.PageIndex += 1;
-                                        ignoreTime.Show(common, timeoutView.titleBtn.Text, edit, timevalue);
+                                        ignoreTime.Show(common, takebackView.titleBtn.Text, edit, timeValue, _if[1]);
 
                                     };
 
@@ -387,6 +440,7 @@
                                 break;
                             case 40:
                                 {
+
                                     openView.titleBtn.TextID = MyInternationalizationString.smokescreen;
                                     openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                     completeView.Show(1).AddChidren(openView.Show());
@@ -403,7 +457,7 @@
                                 }
                                 break;
                             case 43:
-                                {
+                                {//鍙厓璇寸殑
                                     openView.titleBtn.TextID = MyInternationalizationString.gas;
                                     openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                     completeView.Show(1).AddChidren(openView.Show());
@@ -436,30 +490,32 @@
                         {
                             if (devices["AttriButeId"] == "1281")
                             {
-                                if (devices["AttriButeData1"] == "1")
+                                if (devices.ContainsKey("IgnoreTime")&& devices["IgnoreTime"]!="0")
                                 {
-                                    openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
-                                    closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
-                                    openView.selectedIconBtn.Visible = true;
-                                    closeView.selectedIconBtn.Visible = false;
+                                    timeValue = int.Parse(devices["IgnoreTime"]);
                                 }
                                 else
                                 {
-                                    if (devices.ContainsKey("IgnoreTime"))
+                                    if (devices["Range"]== "5")
                                     {
-                                        timevalue = int.Parse(devices["IgnoreTime"]);
+                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
+                                        closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
+                                        openView.selectedIconBtn.Visible = true;
+                                        closeView.selectedIconBtn.Visible = false;
                                     }
                                     else
                                     {
                                         openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                         closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                                         openView.selectedIconBtn.Visible = false;
-                                        closeView.titleBtn.Visible = true;
+                                        closeView.selectedIconBtn.Visible = true;
                                     }
+
                                 }
+
+
                             }
-
-
+                            
                         }
 
                     }
@@ -474,7 +530,8 @@
                         Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
 
                         completeView.Show(l).AddChidren(openView.Show());
-                        openView.titleBtn.Text = Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString();
+                        openView.titleBtn.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(common);
+                        //openView.titleBtn.Text =Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString();
                         openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                         openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                         {
@@ -492,7 +549,7 @@
                     }
                     break;
                 case DeviceType.DoorLock:
-                    {
+                    {
 
                         flMain.RemoveFromParent();
                         var memberList = new MemberList();
@@ -535,7 +592,7 @@
                             Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
                             Send.dictionary(deviceConditionsInfo, "AttriButeId", "0");
                             Send.dictionary(deviceConditionsInfo, "Range", "1");//1:绛変簬AttriButeData1鏃惰Е鍙戝姩浣�
-                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "50");//榛樿娓╁害鍊�50鈩�
+                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "5000");//榛樿娓╁害鍊�50鈩�
                             Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                         }
                         else
@@ -544,7 +601,7 @@
                             Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
                             Send.dictionary(deviceConditionsInfo, "AttriButeId", "0");
                             Send.dictionary(deviceConditionsInfo, "Range", "1");//1:绛変簬AttriButeData1鏃惰Е鍙戝姩浣�
-                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "50");//榛樿婀垮害鍊�50%
+                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "5000");//榛樿婀垮害鍊�50%
                             Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                         }
                         mUIPickerView.setNPicker(mList1, mList2, mList3);
@@ -553,8 +610,10 @@
 
                         mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) =>
                         {
+                            ///娓╁害杩涚巼杞崲*100
+                            var strValue = (int.Parse(mList2[s2]) * 100).ToString();
                             SelectedDeviceStatus = "TemperatureSensor";
-                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", mList2[s2]);
+                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", strValue);
                             switch (mList1[s1])
                             {
                                 case ">":
@@ -621,7 +680,9 @@
                             }
                             //鏌ユ壘绱㈠紩
                             index1 = mList1.IndexOf(s);
-                            index2 = mList2.IndexOf(devices["AttriButeData1"]);
+                            //杞崲娓╁害鍊�/100
+                            var dd = (int.Parse(devices["AttriButeData1"])/100).ToString();
+                            index2 = mList2.IndexOf(dd);
 
                         }
                         ///鏇存柊鏈�鏂扮姸鎬侊紱
@@ -1197,6 +1258,22 @@
                         };
                     }
                     break;
+                case DeviceType.ColorTemperatureLight: {
+                        flMain.RemoveFromParent();
+                        var nightlight = new Nightlight();
+                        UserView.HomePage.Instance.AddChidren(nightlight);
+                        UserView.HomePage.Instance.PageIndex += 1;
+                        if (edit)
+                        {
+                            nightlight.Show(common, edit, _if[1], Common.Logic.CurrentLogic.Actions[intValue]);
+                        }
+                        else
+                        {
+                            nightlight.Show(common, edit, _if[1]);
+                        }
+                        
+                    }
+                    break;
             }
             completeView.Btncomplete.MouseUpEventHandler += (sender, e) =>
             {
@@ -1223,7 +1300,7 @@
                 {
                     if (!edit)
                     {
-                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
+                        var alert = new ShowMsgControl(ShowMsgType.Normal,
                                     Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                    Language.StringByID(MyInternationalizationString.confrim));
                         alert.Show();

--
Gitblit v1.8.0