From 7066c7866a6e6faef9c1cbc0793cecf392454baa Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 05 一月 2021 17:50:15 +0800
Subject: [PATCH] 20201-1-5-1

---
 ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs |  271 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 240 insertions(+), 31 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
index 51f2bcd..c831fc1 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
@@ -277,7 +277,7 @@
                             }
                         }
 
-                        
+
                     }
                     break;
                 case DeviceType.IASZone:
@@ -559,37 +559,53 @@
                     break;
                 case DeviceType.TemperatureSensor:
                     {
-                        //缂栬緫鏃剁殑鐘舵�佸��
-                        string str1 = "";
-                        string str2 = "";
-                        if (edit && devices != null)
-                        {
-                            //娓╁害鍊�
-                            str1 = devices["AttriButeData1"];
-                            //姣旇緝鍏崇郴鍊�
-                            str2 = devices["Range"];
 
-                        }
-                        var temperatureSensor = common as TemperatureSensor;
-                        if (temperatureSensor.SensorDiv == 1)
+                    //鑾峰彇璁惧绫诲瀷
+                    var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { common });
+
+                        //绌烘皵璐ㄩ噺浼犳劅鍣�
+                        if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.AirQualitySensor)
                         {
-                            Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
+                            AirSonser(flMain, SelectedDeviceStatus, edit, common);
                         }
                         else
                         {
-                            Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
-                        }
-                        Send.dictionary(deviceConditionsInfo, "AttriButeId", "0");
-                        Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
-                        completeView.Show(4);
-                        PublicInterface publicInterface = new PublicInterface();
-                        publicInterface.TemperatureShow(completeView.fraView, common, str2, str1, (relationValueStr, tempValueStr) =>
-                        {
-                            SelectedDeviceStatus = "TemperatureSensor";
-                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", tempValueStr);
-                            Send.dictionary(deviceConditionsInfo, "Range", relationValueStr);
-                        });
 
+
+                            //缂栬緫鏃剁殑鐘舵�佸��
+                            string str1 = "";
+                            string str2 = "";
+                            string str3 = "";
+                            if (edit && devices != null)
+                            {
+                                //娓╁害鍊�
+                                str1 = devices["AttriButeData1"];
+                                //姣旇緝鍏崇郴鍊�
+                                str2 = devices["Range"];
+
+                            }
+                            var temperatureSensor = common as TemperatureSensor;
+                            if (temperatureSensor.SensorDiv == 1)
+                            {
+                                str3 = "鈩�";
+                                Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
+                            }
+                            else
+                            {
+                                str3 = "%";
+                                Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
+                            }
+                            Send.dictionary(deviceConditionsInfo, "AttriButeId", "0");
+                            Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
+                            completeView.Show(4);
+                            PublicInterface publicInterface = new PublicInterface();
+                            publicInterface.TemperatureShow(completeView.fraView, str3, str2, str1, (relationValueStr, tempValueStr) =>
+                            {
+                                SelectedDeviceStatus = "TemperatureSensor";
+                                Send.dictionary(deviceConditionsInfo, "AttriButeData1", tempValueStr);
+                                Send.dictionary(deviceConditionsInfo, "Range", relationValueStr);
+                            });
+                        }
                     }
                     break;
                 ///璋冨厜鐏厜
@@ -643,7 +659,6 @@
                             var lightbrightnessvalue = (254 * horizontalSeekBarVol.Progress) / 100;
                             Send.dictionary(switchdictionary, "Data1", lightbrightnessvalue.ToString());
                         };
-
                         ///鍙栨秷浜嬩欢
                         closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                         {
@@ -656,7 +671,6 @@
                             Send.dictionary(switchdictionary, "TaskType", "1");
                             Send.dictionary(switchdictionary, "Data1", "0");//榛樿鍊�
                         };
-
                         //鍙栧弽
                         takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                         {
@@ -1177,6 +1191,8 @@
 
                     }
                     break;
+                
+            
             }
             completeView.Btncomplete.MouseUpEventHandler += (sender, e) =>
             {
@@ -1246,9 +1262,7 @@
 
             };
         }
-
-
-        /// <summary>
+              /// <summary>
         /// 绌鸿皟妯″紡鐨勭姸鎬�
         /// </summary>
         /// <param name="modestring"></param>
@@ -1314,5 +1328,200 @@
             }
 
         }
+
+        private static void AirSonser(FrameLayout flMain,string SelectedDeviceStatus,bool edit,CommonDevice common) {
+            flMain.RemoveAll();
+            PublicInterface publicInterface = new PublicInterface(); 
+            var list0 = publicInterface.GetViewList("绌烘皵璐ㄩ噺浼犳劅鍣�");
+            publicInterface.SingleSelectionShow(flMain, list0, MyInternationalizationString.airqualitysensor, "", (tagText) =>
+            {
+            flMain.RemoveAll();
+            SelectedDeviceStatus = "TemperatureSensor";
+            Dictionary<string, string> airqualitysensorDic = new Dictionary<string, string>();
+            Send.dictionary(airqualitysensorDic, "Type", "1");
+            Send.dictionary(airqualitysensorDic, "IsValid", "1");
+            Send.dictionary(airqualitysensorDic, "MacAddr", common.DeviceAddr);
+            Send.dictionary(airqualitysensorDic, "Epoint", common.DeviceEpoint.ToString());
+           //缂栬緫鏃剁殑鐘舵�佸��
+           string stateText = "";
+           if (tagText == Language.StringByID(MyInternationalizationString.kongqizhiliang))
+            {
+                
+                var list1 = publicInterface.GetViewList("绌烘皵璐ㄩ噺");
+                publicInterface.SingleSelectionShow(flMain, list1, MyInternationalizationString.airqualitysensor, stateText, (strText) =>
+                {
+                    SelectedDeviceStatus = "TemperatureSensor";
+                    string valuaStr = "";
+                    if (strText == Language.StringByID(MyInternationalizationString.you))
+                    {
+                        valuaStr = "1";
+                    }
+                    else if (strText == Language.StringByID(MyInternationalizationString.liang))
+                    {
+                        valuaStr = "2";
+                    }
+                    else if (strText == Language.StringByID(MyInternationalizationString.cha))
+                    {
+                        valuaStr = "3";
+                    }
+                    Send.dictionary(airqualitysensorDic, "Cluster_ID", "1066");
+                    Send.dictionary(airqualitysensorDic, "AttriButeId", "57344");
+                    Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr);
+                    Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+                    Send.dictionary(airqualitysensorDic, "Range", "1");
+                    AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+
+
+                }, () =>{ AirSonser(flMain, SelectedDeviceStatus, edit, common); });
+
+            }
+            else if (tagText == Language.StringByID(MyInternationalizationString.pm25))
+            {
+                    var list2= publicInterface.GetViewList("pm2.5");
+                    publicInterface.SingleSelectionShow(flMain, list2, MyInternationalizationString.pm25, stateText, (strText) =>
+                    {
+                        SelectedDeviceStatus = "TemperatureSensor";
+                        string valuaStr = "";
+                        if (strText == Language.StringByID(MyInternationalizationString.pmyou))
+                        {
+                            valuaStr = "18";
+                        }
+                        else if (strText == Language.StringByID(MyInternationalizationString.pmliang))
+                        {
+                            valuaStr = "54";
+                        }
+                        else if (strText == Language.StringByID(MyInternationalizationString.pmqingdu))
+                        {
+                            valuaStr = "105";
+                        }
+                        else if (strText == Language.StringByID(MyInternationalizationString.pmzhongdu))
+                        {
+                            valuaStr = "130";
+                        }
+                        Send.dictionary(airqualitysensorDic, "Cluster_ID", "1066");
+                        Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
+                        Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr);
+                        Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+                        Send.dictionary(airqualitysensorDic, "Range", "1");
+                        AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+
+
+                    }, () => {AirSonser(flMain, SelectedDeviceStatus, edit, common); });
+
+            }
+            else if (tagText == Language.StringByID(MyInternationalizationString.co2))
+            {
+
+                    var list2 = publicInterface.GetViewList("co2");
+                    publicInterface.SingleSelectionShow(flMain, list2, MyInternationalizationString.co2, stateText, (strText) =>
+                    {
+                        SelectedDeviceStatus = "TemperatureSensor";
+                        string valuaStr = "";
+                        if (strText == Language.StringByID(MyInternationalizationString.co2qingxin))
+                        {
+                            valuaStr = "500";
+                        }
+                        else if (strText == Language.StringByID(MyInternationalizationString.co2huizhuo))
+                        {
+                            valuaStr = "1000";
+                        }
+                        else if (strText == Language.StringByID(MyInternationalizationString.co2queyang))
+                        {
+                            valuaStr = "2500";
+                        }
+                        else if (strText == Language.StringByID(MyInternationalizationString.co2yanzhongqueyang))
+                        {
+                            valuaStr = "5500";
+                        }
+                        Send.dictionary(airqualitysensorDic, "Cluster_ID", "1037");
+                        Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
+                        Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr);
+                        Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+                        Send.dictionary(airqualitysensorDic, "Range", "1");
+                        AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+
+
+                    }, () => { AirSonser(flMain, SelectedDeviceStatus, edit, common); });
+
+                 
+
+            }
+            else if (tagText == Language.StringByID(MyInternationalizationString.sensortemperature))
+            {
+                //缂栬緫鏃剁殑鐘舵�佸��
+                string str1 = "";
+                string str2 = "";
+                publicInterface.TemperatureShow1(flMain, tagText, "鈩�", str2, str1, (relationValueStr, tempValueStr) =>
+                {
+
+                    SelectedDeviceStatus = "TemperatureSensor";
+                    Send.dictionary(airqualitysensorDic, "Cluster_ID", "1026");
+                    Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
+                    Send.dictionary(airqualitysensorDic, "AttriButeData1", tempValueStr);
+                    Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+                    Send.dictionary(airqualitysensorDic, "Range", relationValueStr);
+                    AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+
+
+                }, () =>
+                {
+                    AirSonser(flMain, SelectedDeviceStatus, edit, common);
+
+                });
+            }
+            else if (tagText == Language.StringByID(MyInternationalizationString.sensorhumidity))
+            {
+                //缂栬緫鏃剁殑鐘舵�佸��
+                string str1 = "";
+                string str2 = "";
+                publicInterface.TemperatureShow1(flMain, tagText, "%", str2, str1, (relationValueStr, tempValueStr) =>
+                {
+                    SelectedDeviceStatus = "TemperatureSensor";
+                    Send.dictionary(airqualitysensorDic, "Cluster_ID", "1029");
+                    Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
+                    Send.dictionary(airqualitysensorDic, "AttriButeData1", tempValueStr);
+                    Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+                    Send.dictionary(airqualitysensorDic, "Range", relationValueStr);
+                    AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+                }, () => { AirSonser(flMain, SelectedDeviceStatus, edit, common);});
+            }
+            }, () => { flMain.RemoveFromParent(); });
+        }
+        /// <summary>
+        /// 绌烘皵璐ㄩ噺浼犳劅鍣�
+        /// </summary>
+        /// <param name="flMain"></param>
+        /// <param name="SelectedDeviceStatus"></param>
+        /// <param name="edit"></param>
+        /// <param name="common"></param>
+        /// <param name="dic"></param>
+        private static void AddDic(FrameLayout flMain, string SelectedDeviceStatus, bool edit, CommonDevice common, Dictionary<string, string> dic)
+        {
+            UserView.HomePage.Instance.ScrollEnabled = true;
+            if (SelectedDeviceStatus != "")
+            {
+                //娣诲姞鏉′欢
+                LogicIfon.AddDeviceconditions(common, dic);
+            }
+            else
+            {
+                if (!edit)
+                {
+                    var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal,
+                                Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
+                               Language.StringByID(MyInternationalizationString.confrim));
+                    alert.Show();
+                    return;
+                }
+
+            }
+            flMain.RemoveFromParent();
+            //鑷姩鍖�
+            var logicCommunalPage = new LogicCommunalPage();
+            UserView.HomePage.Instance.AddChidren(logicCommunalPage);
+            UserView.HomePage.Instance.PageIndex += 1;
+            logicCommunalPage.Show(() => { });
+        }
+
     }
 }

--
Gitblit v1.8.0