From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL-ON_Android/HDL-ON_Android.csproj | 4 HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs | 2 HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomSecurity.png | 0 HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs | 2105 ++++++++-------- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 4454 +++++++++++++++++----------------- HDL-ON_Android/Assets/Phone/LogicIcon/inputlocation.png | 0 HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomLocation.png | 0 HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomAtion.png | 0 .vs/HDL_APP_Project/xs/UserPrefs.xml | 30 HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs | 1139 ++++---- 10 files changed, 3,896 insertions(+), 3,838 deletions(-) diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml index 379486c..3a66143 100644 --- a/.vs/HDL_APP_Project/xs/UserPrefs.xml +++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml @@ -3,12 +3,38 @@ <MonoDevelop.MacDev.AppleDevelopmentTeam /> </MonoDevelop.Ide.ItemProperties.SiriIntentUI> <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget" /> - <MonoDevelop.Ide.Workbench> + <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs"> + <Files> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs" Line="86" Column="38" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" Line="552" Column="79" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs" Line="395" Column="1" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs" Line="100" Column="47" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/SpeciaTime.cs" Line="89" Column="41" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs" Line="137" Column="65" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs" Line="615" Column="29" /> + </Files> <Pads> <Pad Id="ProjectPad"> <State name="__root__"> <Node name="HDL_APP_Project" expanded="True"> - <Node name="HDL-ON_Android" selected="True" /> + <Node name="HDL_ON" expanded="True"> + <Node name="UI" expanded="True"> + <Node name="UI2" expanded="True"> + <Node name="3-Intelligence" expanded="True"> + <Node name="Automation" expanded="True"> + <Node name="PublicInterface.cs" selected="True" /> + </Node> + </Node> + </Node> + </Node> + </Node> + <Node name="HDL-ON_Android" expanded="True"> + <Node name="Assets" expanded="True"> + <Node name="Phone" expanded="True"> + <Node name="LogicIcon" expanded="True" /> + </Node> + </Node> + </Node> </Node> </State> </Pad> diff --git a/HDL-ON_Android/Assets/Phone/LogicIcon/inputlocation.png b/HDL-ON_Android/Assets/Phone/LogicIcon/inputlocation.png new file mode 100644 index 0000000..70aedfb --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/LogicIcon/inputlocation.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomAtion.png b/HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomAtion.png new file mode 100644 index 0000000..d9fe1d6 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomAtion.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomLocation.png b/HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomLocation.png new file mode 100644 index 0000000..a3a03bc --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomLocation.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomSecurity.png b/HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomSecurity.png new file mode 100644 index 0000000..64b4bd1 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/LogicIcon/selectTheautomSecurity.png Binary files differ diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj index 8a796a6..b558386 100644 --- a/HDL-ON_Android/HDL-ON_Android.csproj +++ b/HDL-ON_Android/HDL-ON_Android.csproj @@ -211,6 +211,10 @@ <AndroidAsset Include="Assets\Phone\FunctionIcon\AirFresh\btnCloseIcon.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\AirFresh\btnInfoIcon.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\AirFresh\HumiOnIcon.png" /> + <AndroidAsset Include="Assets\Phone\LogicIcon\inputlocation.png" /> + <AndroidAsset Include="Assets\Phone\LogicIcon\selectTheautomAtion.png" /> + <AndroidAsset Include="Assets\Phone\LogicIcon\selectTheautomLocation.png" /> + <AndroidAsset Include="Assets\Phone\LogicIcon\selectTheautomSecurity.png" /> </ItemGroup> <ItemGroup> <AndroidResource Include="Resources\values\colors.xml" /> diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs index ea0ee18..a559f6b 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs @@ -70,7 +70,7 @@ LogicView.SelectTypeView likiadaodaView = new LogicView.SelectTypeView(); likiadaodaView.frameLayout.Y = shiwaiView.frameLayout.Bottom; likiadaodaView.btnText.TextID = StringId.likiadaoda; - likiadaodaView.btnIcon.UnSelectedImagePath = "LogicIcon/location.png"; + likiadaodaView.btnIcon.UnSelectedImagePath = "LogicIcon/inputlocation.png"; if (MainView.IsGatewayType) { diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index e6fc71d..fcc0d04 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -5,2321 +5,2325 @@ namespace HDL_ON.UI.UI2.Intelligence.Automation { - public class InpOrOutLogicMethod + public class InpOrOutLogicMethod + { + /// <summary> + /// 杈撳叆鏉′欢澶勭悊鏂规硶 + /// </summary> + /// <param name="thisView">褰撳墠鐣岄潰</param> + /// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param> + public static void InputCondition(FrameLayout thisView, VerticalScrolViewLayout viewLayout) { - /// <summary> - /// 杈撳叆鏉′欢澶勭悊鏂规硶 - /// </summary> - /// <param name="thisView">褰撳墠鐣岄潰</param> - /// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param> - public static void InputCondition(FrameLayout thisView, VerticalScrolViewLayout viewLayout) + for (int i = 0; i < Logic.currlogic.input.Count; i++) + { + Input inputCondition = Logic.currlogic.input[i]; + ///鍚勭鏉′欢鐨刅iew + LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView(); + inputView.FLayoutView(viewLayout); + //娣诲姞娌℃湁寤舵椂锛岄殣钘忓欢鏃舵寜閽�; + inputView.btnDelay.Visible = false; + ///璁板綍鏉′欢绫诲瀷 + inputView.btnClick.Name = inputCondition.condition_type; + ///璁板綍鏉′欢绱㈠紩 + inputView.btnClick.Tag = inputCondition; + ///鏉′欢鐘舵�佹暟缁� + List<Dictionary<string, string>> dicList = inputCondition.condition; + //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵�� + switch (inputCondition.condition_type) { - for (int i = 0; i < Logic.currlogic.input.Count; i++) + case "1": { - Input inputCondition = Logic.currlogic.input[i]; - ///鍚勭鏉′欢鐨刅iew - LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView(); - inputView.FLayoutView(viewLayout); - //娣诲姞娌℃湁寤舵椂锛岄殣钘忓欢鏃舵寜閽�; - inputView.btnDelay.Visible = false; - ///璁板綍鏉′欢绫诲瀷 - inputView.btnClick.Name = inputCondition.condition_type; - ///璁板綍鏉′欢绱㈠紩 - inputView.btnClick.Tag = inputCondition; - ///鏉′欢鐘舵�佹暟缁� - List<Dictionary<string, string>> dicList = inputCondition.condition; - //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵�� - switch (inputCondition.condition_type) + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; + foreach (var dic in dicList) + { + string keyValue = dic["key"]; + string value = dic["value"]; + if (keyValue == "timepoint") { - case "1": - { - inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; - foreach (var dic in dicList) - { - string keyValue = dic["key"]; - string value = dic["value"]; - if (keyValue == "timepoint") - { - inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value; - } - else - { - string strtext = ""; - string statetext = ""; - switch (keyValue) - { - case "before_sunrise": - { - strtext = Language.StringByID(StringId.sunrise); - statetext = Language.StringByID(StringId.advanced); - - } - break; - case "before_sunset": - { - - strtext = Language.StringByID(StringId.sunset); - statetext = Language.StringByID(StringId.advanced); - - } - break; - case "before_noon": - { - strtext = Language.StringByID(StringId.at); - statetext = Language.StringByID(StringId.advanced); - } - break; - case "after_sunrise": - { - strtext = Language.StringByID(StringId.sunrise); - statetext = Language.StringByID(StringId.delayLogic); - } - break; - case "after_sunset": - { - strtext = Language.StringByID(StringId.sunset); - statetext = Language.StringByID(StringId.delayLogic); - } - break; - case "after_noon": - { - strtext = Language.StringByID(StringId.at); - statetext = Language.StringByID(StringId.delayLogic); - } - break; - } - - if (value != "0") - { - if (value == "30") - { - statetext += value + Language.StringByID(StringId.s); - } - else - { - statetext += value + Language.StringByID(StringId.minute); - } - } - else - { - statetext = ""; - } - - inputView.btnText.Text = strtext; - inputView.btnState.Text = statetext; - } - } - } - break; - case "2": - { - inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; - foreach (var dic in dicList) - { - string value = dic["value"]; - inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value; - } - - } - break; - case "3": - { - //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.CurrLogicMethod.GetDevice(inputCondition.sid); - //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� - inputView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(device.spk); - //鏄剧ず璁惧鍚嶇О - inputView.btnText.Text = device.name; - //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 - inputView.btnText.Width = Application.GetRealWidth(80); - //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� - switch (device.spk) - { - //寮�鍏崇伅鍏� - case SPK.AirSwitch: - case SPK.LightDimming: - case SPK.LightRGB: - case SPK.LightRGBW: - case SPK.LightCCT: - case SPK.LightSwitch: - //绐楀笜 - case SPK.CurtainSwitch: - case SPK.CurtainRoller: - case SPK.CurtainTrietex: - //绌鸿皟 - case SPK.AcStandard: - case SPK.HvacAC: - //鍦扮儹 - case SPK.HvacFloorHeat: - case SPK.FloorHeatStandard: - //鏂伴 - case SPK.AirFreshStandard: - case SPK.HvacAirFresh: - //鎻掑骇 - case SPK.PanelSocket: - case SPK.ElectricSocket: - {//寮�鍏崇伅 - foreach (var dic in dicList) - { - - string value = dic["value"]; - if (value == "on") - { - inputView.btnState.Text = Language.StringByID(StringId.onLogic); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.offLogic); - } - } - } - break; - //浼犳劅鍣� - case SPK.SensorSmoke: - case SPK.SensorGas: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "alarm") - { - inputView.btnState.Text = Language.StringByID(StringId.xieluo); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.wuxieluo); - } - } - } - break; - case SPK.SensorWater: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "alarm") - { - inputView.btnState.Text = Language.StringByID(StringId.luoshui); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.wuluoshui); - } - } - } - break; - case SPK.SensorDryContact: - case SPK.SensorDryContact2: - { - foreach (var dic in dicList) - { - - string value = dic["value"]; - if (value == "on") - { - inputView.btnState.Text = Language.StringByID(StringId.onLogic); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.offLogic); - } - } - } - break; - case SPK.SensorShanLan: - case SPK.SensorDuiShe: - case SPK.SensorPir: - { - foreach (var dic in dicList) - { - - string value = dic["value"]; - if (value == "true") - { - inputView.btnState.Text = Language.StringByID(StringId.youren); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.wuren); - } - } - } - break; - case SPK.SensorDoorWindow: - { - foreach (var dic in dicList) - { - - string value = dic["value"]; - if (value == "open") - { - inputView.btnState.Text = Language.StringByID(StringId.kaiqi); - - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.bihe); - } - } - } - break; - case SPK.SensorUtrasonic: - { - string str = ""; - foreach (var dic in dicList) - { - string value = dic["value"]; - switch (dic["key"]) - { - case "status": - case "people_status": - { - if (value == "true") - { - str += Language.StringByID(StringId.youren) + ";"; - } - else - { - str += Language.StringByID(StringId.wuren) + ";"; - } - - - } - break; - case "dismantle": - { - if (value == "true") - { - str += Language.StringByID(StringId.zaixian); - } - else - { - str += Language.StringByID(StringId.buzaixian); - } - } - break; - - } - - } - inputView.btnState.Text = str; - } - break; - case SPK.SenesorMegahealth: - case SPK.SenesorMegahealth2: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "fall") - { - inputView.btnState.Text = Language.StringByID(StringId.diedao); - } - else - { - inputView.btnState.Text = Language.StringByID(StringId.wuren); - } - } - } - break; - case SPK.SensorEnvironment: - case SPK.SensorEnvironment2: - case SPK.SensorEnvironment3: - { - string strtext = ""; - foreach (var dic in dicList) - { - string key = dic["key"]; - string value = dic["value"]; - string comparator = dic["comparator"]; - switch (key) - { - - case "temperature": - { - if (comparator == ">") - { - strtext = ">" + value + "鈩�"; - } - else if (comparator == "<") - { - strtext = "<" + value + "鈩�"; - } - - } - break; - case "humidity": - { - if (comparator == ">") - { - strtext = ">" + value + "%"; - } - else if (comparator == "<") - { - strtext = "<" + value + "%"; - } - - } - break; - case "co2": - { - strtext = Language.StringByID(StringId.co2) + new PublicInterface { }.GetString("co2", value); - } - break; - case "pm25": - { - strtext = Language.StringByID(StringId.pm25) + new PublicInterface { }.GetString("pm25", value); - } - break; - case "tvoc": - { - strtext = Language.StringByID(StringId.tvoc) + new PublicInterface { }.GetString("tvoc", value); - } - break; - } - inputView.btnState.Text = strtext; - } - - - } - break; - case SPK.SensorTemperature: - { - - string str = new InpOrOutLogicMethod { }.GetText(dicList, "temperature"); - inputView.btnState.Text = str; - } - break; - case SPK.SensorHumidity: - { - string str = new InpOrOutLogicMethod { }.GetText(dicList, "humidity"); - inputView.btnState.Text = str; - - } - break; - case SPK.SensorCO2: - { - string str = new InpOrOutLogicMethod { }.GetText(dicList, "co2"); - inputView.btnState.Text = str; - - } - break; - case SPK.SensorPm25: - { - string str = new InpOrOutLogicMethod { }.GetText(dicList, "pm25"); - inputView.btnState.Text = str; - - } - break; - case SPK.SensorTVOC: - { - string str = new InpOrOutLogicMethod { }.GetText(dicList, "tvoc"); - inputView.btnState.Text = str; - - } - break; - case SPK.SensorHcho: - { - string str = new InpOrOutLogicMethod { }.GetText(dicList, "hcho"); - inputView.btnState.Text = str; - - } - break; - } - } - break; - case "6": - { - //inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png"; - inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png"; - string strtext = ""; - string strvalue = ""; - foreach (var dic in dicList) - { - string key = dic["key"]; - string comparator = dic["comparator"]; - string value = dic["value"]; - - switch (key) - { - case "temperature": - { - //浜戠澶╂皵鏉′欢 鍩庡競娓╁害瑙﹀彂 - strvalue = value + "鈩�"; - if (comparator == ">") - { - strtext = Language.StringByID(StringId.wendugaoyu); - } - else if (comparator == "<") - { - strtext = Language.StringByID(StringId.wendudiyu); - } - - } - break; - case "humidity": - { - //浜戠澶╂皵鏉′欢 鍩庡競婀垮害瑙﹀彂 - strvalue = value + "%"; - if (comparator == ">") - { - strtext = Language.StringByID(StringId.shidugaoyu); - } - else if (comparator == "<") - { - strtext = Language.StringByID(StringId.shidudiyu); - } - - } - break; - case "pm25": - { - //浜戠澶╂皵鏉′欢 鍩庡競pm2.5瑙﹀彂 - strtext = Language.StringByID(StringId.PM25); - strvalue = new PublicInterface { }.GetString("pm25", value); - } - break; - case "weather": - { - //浜戠澶╂皵鏉′欢 鍩庡競澶╂皵瑙﹀彂 - strtext = Language.StringByID(StringId.tianqibianhua); - switch (value) - { - case "Sunny": - { - strtext = Language.StringByID(StringId.clearday); - - } - break; - case "Cloudy": - { - - strtext = Language.StringByID(StringId.cloudy); - - } - break; - case "Rain": - { - strtext = Language.StringByID(StringId.rain); - } - break; - - } - } - break; - case "airquality": - { - //浜戠澶╂皵鏉′欢 鍩庡競绌烘皵璐ㄩ噺 - strtext = Language.StringByID(StringId.kongqizhiliang); - switch (value) - { - case "Excellent": - { - strtext = Language.StringByID(StringId.kongqiyou); - - } - break; - case "Good": - { - - strtext = Language.StringByID(StringId.kongqiliang); - - } - break; - case "Poor": - { - strtext = Language.StringByID(StringId.kongqicha); - } - break; - } - } - break; - } - - - } - inputView.btnText.Text = strtext; - inputView.btnState.Text = strvalue; - } - break; - case "8": - { - inputView.btnIcon.UnSelectedImagePath = "LogicIcon/location.png"; - foreach (var dic in dicList) - { - string strtext = ""; - string value = dic["value"]; - switch (value) - { - case "arrive": - { - strtext = Language.StringByID(StringId.daoda); - } - break; - case "leave": - { - strtext = Language.StringByID(StringId.likai); - } - break; - } - inputView.btnText.TextID = StringId.likiadaoda; - inputView.btnState.Text = strtext; - } - } - break; - case "10": - { - //鐢╯id鎵惧埌鍦烘櫙锛� - var scene = LogicMethod.CurrLogicMethod.GetSecne(inputCondition.sid); - inputView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png"; - inputView.btnNextIcon.Visible = false; - inputView.btnClick.Visible = false; - //鏄剧ず鍦烘櫙鍚嶇О - inputView.btnText.Text = scene.name; - } - break; - - } - //鍐嶆缂栬緫鏉′欢鐘舵�佺偣鍑讳簨浠� - inputView.btnClick.MouseUpEventHandler += (sen, e) => - { - Button button = (Button)sen; - //褰撳墠缂栬緫鐨勬潯浠� - Input ckcliInput = inputView.btnClick.Tag as Input; - //鎵惧埌褰撳墠缂栬緫鐨勭储寮� - int indexVulae = 0; - for (int index = 0; index < Logic.currlogic.input.Count; index++) - { - Input input = Logic.currlogic.input[index]; - if (input.sid == ckcliInput.sid) - { - if (button.Name == "3") - { - //鏈変簺璁惧姣旇緝鐗规畩锛堜緥濡傦細娴锋灄浼犳劅鍣ㄨ繕鏄鍒ゆ柇灞炴�у�硷紝娓╂箍搴﹀睘鎬ц繕瑕佸垽鏂瘮杈冨叧绯伙紝鎵嶈兘纭鏄惁宸茬粡瀛樺湪璇ユ潯浠讹紝鍏朵粬璁惧鏉′欢鐩存帴鐢╯id鍒ゆ柇鍗冲彲锛� - //鍔犱竴绾у垽鏂槸涓哄吋瀹圭壒娈婅澶� - if (new ConditionDeviceFunList { }.IsContainsAll(ckcliInput.condition, input.condition)) - { - //鐢ㄦ埛鍙兘鍒犻櫎鏁版嵁锛屼娇鍒楄〃绱㈠紩鍙戠敓鏀瑰彉锛� - //閫氳繃鍞竴sid閲嶆柊鏌ユ壘鍒扮储寮曚笖鏇存柊绱㈠紩鍊� - indexVulae = index; - break; - } - } - else - { - //鐢ㄦ埛鍙兘鍒犻櫎鏁版嵁锛屼娇鍒楄〃绱㈠紩鍙戠敓鏀瑰彉锛� - //閫氳繃鍞竴sid閲嶆柊鏌ユ壘鍒扮储寮曚笖鏇存柊绱㈠紩鍊� - indexVulae = index; - break; - } - } - } - //鏍囪缂栬緫鐘舵�� - bool edit = true; - switch (button.Name) - { - case "1": - { - bool is_bool = false; - Input _input = Logic.currlogic.input[indexVulae]; - if (_input.condition_type == "1") - { - var dicLists = _input.condition; - foreach (var dic in dicLists) - { - string keyValue = dic["key"]; - if (keyValue != "timepoint") - { - //閫氳繃閿�兼煡鎵鹃敭鍊兼槸鍚︽槸 - //锛堟棩鍑�/鏃ヨ惤/姝e崍锛� - is_bool = true; - break; - } - - } - - } - if (is_bool) - { - //璺宠浆鍒帮紙鏃ュ嚭/鏃ヨ惤/姝e崍锛夌晫闈� - SpeciaTime speciaTime = new SpeciaTime(); - MainPage.BasePageView.AddChidren(speciaTime); - speciaTime.Show(edit, indexVulae); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - } - else - { - //璺宠浆鍒帮紙鏃堕棿鐐癸級鐣岄潰 - FrameLayout fLayout = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - thisView.AddChidren(fLayout); - TimeTpye timeTpye = new TimeTpye(); - timeTpye.TimePoint(fLayout, edit, indexVulae); - } - } - break; - case "2": - { - FrameLayout fLayout = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - thisView.AddChidren(fLayout); - TimeTpye timeTpye = new TimeTpye(); - timeTpye.TimeHorizon(fLayout, edit, indexVulae); - } - break; - case "3": - { - //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.CurrLogicMethod.GetDevice(inputCondition.sid); - if (device.spk == SPK.SensorEnvironment - || device.spk == SPK.SensorEnvironment2 - || device.spk == SPK.SensorEnvironment3 - ) - { - //杩欎釜璁惧姣旇緝鐗规畩 - ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); - ///褰撳墠鐨勭储寮曞�兼暟鎹璞� - Input inputedit = Logic.currlogic.input[indexVulae]; - ///鐘舵�佸�� - string stateValue = ""; - foreach (var dic in inputedit.condition) - { - string key = dic["key"]; - string comparator = dic["comparator"]; - stateValue = dic["value"]; - switch (key) - { - - case "temperature": - { - int titleInt = 0; - if (comparator == ">") - { - titleInt = StringId.wendugaoyu; - } - else if (comparator == "<") - { - titleInt = StringId.wendudiyu; - } - conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); - } - break; - case "humidity": - { - int titleInt = 0; - if (comparator == ">") - { - titleInt = StringId.shidugaoyu; - } - else if (comparator == "<") - { - titleInt = StringId.shidudiyu; - } - conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); - } - break; - case "co2": - { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "co2", StringId.co2, indexVulae, true, stateValue); - } - break; - case "pm25": - { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "pm25", StringId.pm25, indexVulae, true, stateValue); - } - break; - case "tvoc": - { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "tvoc", StringId.tvoc, indexVulae, true, stateValue); - } - break; - case "hcho": - { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "hcho", StringId.Formaldehyde, indexVulae, true, stateValue); - } - break; - } - } - - } - else if (device.spk == SPK.SensorTemperature) - { - - new InpOrOutLogicMethod().SensorView(thisView, device, "temperature", indexVulae); - - } - else if (device.spk == SPK.SensorHumidity) - { - - new InpOrOutLogicMethod().SensorView(thisView, device, "humidity", indexVulae); - - } - else if (device.spk == SPK.SensorCO2) - { - - new InpOrOutLogicMethod().SensorView(thisView, device, "co2", indexVulae); - - } - else if (device.spk == SPK.SensorPm25) - { - - new InpOrOutLogicMethod().SensorView(thisView, device, "pm25", indexVulae); - - } - else if (device.spk == SPK.SensorTVOC) - { - - new InpOrOutLogicMethod().SensorView(thisView, device, "tvoc", indexVulae); - - } - else if (device.spk == SPK.SensorHcho) - { - - new InpOrOutLogicMethod().SensorView(thisView, device, "hcho", indexVulae); - - } - else - { - ConditionDeviceFunList deviceFunList = new ConditionDeviceFunList(); - MainPage.BasePageView.AddChidren(deviceFunList); - deviceFunList.Show(device, indexVulae, edit); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - } - } - break; - case "6": - { - ///褰撳墠鐨勭储寮曞�兼暟鎹璞� - Input inputedit = Logic.currlogic.input[indexVulae]; - ///鐘舵�佸�� - string stateValue = ""; - ///鐘舵�佸�兼枃鏈� - int intValue = -1; - foreach (var dic in inputedit.condition) - { - string key = dic["key"]; - string comparator = dic["comparator"]; - stateValue = dic["value"]; - switch (key) - { - case "temperature": - { - if (comparator == ">") - { - intValue = StringId.wendugaoyu; - } - else if (comparator == "<") - { - intValue = StringId.wendudiyu; - - } - - } - break; - case "humidity": - { - - if (comparator == ">") - { - intValue = StringId.shidugaoyu; - } - else if (comparator == "<") - { - intValue = StringId.shidudiyu; - } - - } - break; - case "pm25": - { - intValue = StringId.PM25; - } - break; - case "weather": - { - intValue = StringId.tianqibianhua; - } - break; - case "airquality": - { - intValue = StringId.kongqizhiliang; - } - break; - - } - } - OutdoorEnvironment outdoorEnvironment = new OutdoorEnvironment(); - if (intValue == StringId.tianqibianhua) - { - //鍩庡競澶╂皵锛堟櫞澶╋紝涓嬮洦锛� - WeatherCondition weatherCondition = new WeatherCondition(); - MainPage.BasePageView.AddChidren(weatherCondition); - weatherCondition.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - } - else if (intValue == StringId.PM25) - { - //鍩庡競澶╂皵锛坧m2.5锛� - outdoorEnvironment.PmAction(thisView, stateValue); - } - else if (intValue == StringId.kongqizhiliang) - { - //鍩庡競澶╂皵锛堢┖姘旇川閲忥級 - AirQuality airQuality = new AirQuality(); - MainPage.BasePageView.AddChidren(airQuality); - airQuality.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - } - else - { - //鍩庡競澶╂皵锛堟俯婀垮害锛� - outdoorEnvironment.InputBoxAction(intValue, stateValue); - } - } - break; - case "8": - { - AddInputType addInputType = new AddInputType(); - addInputType.LocationView(thisView, true); - } - break; - - } - }; - ///鍒犻櫎鎺т欢 - inputView.btnDel.MouseUpEventHandler += (sender, e) => - { - Logic.currlogic.input.Remove(inputCondition); - inputView.frameLayout.RemoveFromParent(); - }; - } - - } - /// <summary> - /// 杈撳嚭鏉′欢澶勭悊鏂规硶 - /// </summary> - /// <param name="thisView">褰撳墠鐣岄潰</param> - /// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param> - public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout) - { - - for (int i = 0; i < Logic.currlogic.output.Count; i++) - { - Output outputTarget = Logic.currlogic.output[i]; - ///鍚勭鏉′欢鐨刅iew - LogicView.AddOutputInputView targetView = new LogicView.AddOutputInputView(); - targetView.FLayoutView(viewLayout); - ///璁板綍鏉′欢绫诲瀷 - targetView.btnClick.Name = outputTarget.target_type; - ///璁板綍鏉′欢绱㈠紩 - targetView.btnClick.Tag = outputTarget.sid; - ///鏉′欢鐘舵�佹暟缁� - List<Dictionary<string, string>> dicList = outputTarget.status; - //鏄剧ず鐘舵�佸�� - string stateStr = ""; - //鏄剧ず杈撳嚭鏉′欢鍚勭绫诲瀷鐘舵�� - switch (outputTarget.target_type) - { - case "1": - { - //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.CurrLogicMethod.GetDevice(outputTarget.sid); - //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� - targetView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(device.spk); - //鏄剧ず璁惧鍚嶇О - targetView.btnText.Text = device.name; - //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 - targetView.btnText.Width = Application.GetRealWidth(80); - //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� - switch (device.spk) - { - case SPK.AirSwitch: - case SPK.LightSwitch: - //鎻掑骇 - case SPK.PanelSocket: - case SPK.ElectricSocket: - {//寮�鍏� - - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "on") - { - stateStr = Language.StringByID(StringId.onLogic); - - } - else - { - stateStr = Language.StringByID(StringId.offLogic); - } - } - } - break; - case SPK.LightRGB: - case SPK.LightRGBW: - case SPK.LightCCT: - case SPK.LightDimming: - { - string on_off = GetKeyValue("on_off", dicList); - string brightness = GetKeyValue("brightness", dicList); - if (on_off == "on" && brightness != "") - { - stateStr = Language.StringByID(StringId.onLogic) + brightness + "%"; - } - else if (on_off == "on") - { - stateStr = Language.StringByID(StringId.onLogic); - } - else if (on_off == "off") - { - stateStr = Language.StringByID(StringId.offLogic); - } - else if (brightness != "") - { - stateStr = brightness + "%"; - } - - } - break; - case SPK.CurtainSwitch: - case SPK.CurtainTrietex: - case SPK.CurtainRoller: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - switch (value) - { - case "on": - { - stateStr = Language.StringByID(StringId.onLogic); - } - break; - case "off": - { - stateStr = Language.StringByID(StringId.offLogic); - } - break; - case "stop": - { - stateStr = Language.StringByID(StringId.stop); - } - break; - } - } - } - break; - case SPK.AcStandard: - case SPK.HvacAC: - { - string on_off = GetKeyValue("on_off", dicList); - string set_temp = GetKeyValue("set_temp", dicList); - string mode = GetKeyValue("mode", dicList); - string fan = GetKeyValue("fan", dicList); - if (on_off != "") - { - switch (on_off) - { - case "on": - { - stateStr = Language.StringByID(StringId.onLogic) + ","; - } - break; - case "off": - { - stateStr = Language.StringByID(StringId.offLogic) + ","; - } - break; - - } - } - - if (set_temp != "") - { - - stateStr += set_temp + "鈩�,"; - } - - if (mode != "") - { - - switch (mode) - { - case "cool": - { - stateStr += Language.StringByID(StringId.coolLogic) + ","; - } - break; - case "heat": - { - stateStr += Language.StringByID(StringId.heatingLogic) + ","; - } - break; - case "auto": - { - stateStr += Language.StringByID(StringId.autoLogic) + ","; - } - break; - case "dry": - { - stateStr += Language.StringByID(StringId.dehumidifyLogic) + ","; - } - break; - } - - } - - if (fan != "") - { - - switch (fan) - { - case "high": - { - stateStr += Language.StringByID(StringId.HighWindSpeed) + ","; - } - break; - case "medium": - { - stateStr += Language.StringByID(StringId.MiddleWindSpeed) + ","; - } - break; - case "low": - { - stateStr += Language.StringByID(StringId.LowWindSpeed) + ","; - } - break; - case "auto": - { - stateStr += Language.StringByID(StringId.Auto) + ","; - } - break; - } - - } - if (on_off != "" && on_off == "off") - { - stateStr = Language.StringByID(StringId.offLogic); - } - else - { - stateStr = stateStr.TrimEnd(','); - - } - - } - break; - case SPK.FloorHeatStandard:case SPK.HvacFloorHeat: - { - string on_off = GetKeyValue("on_off", dicList); - string set_temp = GetKeyValue("set_temp", dicList); - string mode = GetKeyValue("mode", dicList); - if (on_off != "") - { - switch (on_off) - { - case "on": - { - stateStr = Language.StringByID(StringId.onLogic) + ","; - } - break; - case "off": - { - stateStr = Language.StringByID(StringId.offLogic) + ","; - } - break; - - } - } - if (set_temp != "") - { - - stateStr += set_temp + "鈩�,"; - } - if (mode != "") - { - - switch (mode) - { - case "day": - { - stateStr += Language.StringByID(StringId.dayMode) + ","; - } - break; - case "night": - { - stateStr += Language.StringByID(StringId.nightMode) + ","; - } - break; - - case "away": - { - stateStr += Language.StringByID(StringId.leaveMode) + ","; - } - break; - case "normal": - { - stateStr += Language.StringByID(StringId.ordinaryMode) + ","; - } - break; - case "timer": - { - stateStr += Language.StringByID(StringId.timeMode) + ","; - } - break; - } - - } - if (on_off != "" && on_off == "off") - { - stateStr = Language.StringByID(StringId.offLogic); - } - else - { - stateStr = stateStr.TrimEnd(','); - - } - } - break; - case SPK.AirFreshStandard: - case SPK.HvacAirFresh: - { - string on_off = GetKeyValue("on_off", dicList); - string fan = GetKeyValue("fan", dicList); - if (on_off != "") - { - switch (on_off) - { - case "on": - { - stateStr = Language.StringByID(StringId.onLogic) + ","; - } - break; - case "off": - { - stateStr = Language.StringByID(StringId.offLogic) + ","; - } - break; - } - } - if (fan != "") - { - - switch (fan) - { - case "high": - { - stateStr += Language.StringByID(StringId.HighWindSpeed) + ","; - } - break; - case "medium": - { - stateStr += Language.StringByID(StringId.MiddleWindSpeed) + ","; - } - break; - case "low": - { - stateStr += Language.StringByID(StringId.LowWindSpeed) + ","; - } - break; - case "auto": - { - stateStr += Language.StringByID(StringId.Auto) + ","; - } - break; - } - - } - if (on_off != "" && on_off == "off") - { - stateStr = Language.StringByID(StringId.offLogic); - } - else - { - stateStr = stateStr.TrimEnd(','); - - } - } - break; - } - } - break; - case "2": - { - //鐢╯id鎵惧埌鍦烘櫙锛� - var scene = LogicMethod.CurrLogicMethod.GetSecne(outputTarget.sid); - targetView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png"; - targetView.btnNextIcon.Visible = false; - //鏄剧ず鍦烘櫙鍚嶇О - stateStr = scene.name; - } - break; - case "3": - { - //鐢╯id鎵惧埌瀹夐槻锛� - var security = LogicMethod.CurrLogicMethod.GetSecurity(outputTarget.sid); - targetView.btnIcon.UnSelectedImagePath = "LogicIcon/security.png"; - targetView.btnDelay.Visible = false; - //鏄剧ず瀹夐槻鍚嶇О - targetView.btnText.Text = security.name; - string value = GetKeyValue("security", dicList); - if (value == "enable") - { - stateStr = Language.StringByID(StringId.bufang); - - } - else - { - stateStr = Language.StringByID(StringId.chefang); - } - - } - break; - case "4": - { - targetView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; - foreach (var dic in dicList) - { - string value = dic["value"]; - stateStr = value; - } - } - break; - } - - if (outputTarget.target_type == "1" || outputTarget.target_type == "3") - { - targetView.btnState.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; + inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value; } else { - targetView.btnText.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; + string strtext = ""; + string statetext = ""; + switch (keyValue) + { + case "before_sunrise": + { + strtext = Language.StringByID(StringId.sunrise); + statetext = Language.StringByID(StringId.advanced); + + } + break; + case "before_sunset": + { + + strtext = Language.StringByID(StringId.sunset); + statetext = Language.StringByID(StringId.advanced); + + } + break; + case "before_noon": + { + strtext = Language.StringByID(StringId.at); + statetext = Language.StringByID(StringId.advanced); + } + break; + case "after_sunrise": + { + strtext = Language.StringByID(StringId.sunrise); + statetext = Language.StringByID(StringId.delayLogic); + } + break; + case "after_sunset": + { + strtext = Language.StringByID(StringId.sunset); + statetext = Language.StringByID(StringId.delayLogic); + } + break; + case "after_noon": + { + strtext = Language.StringByID(StringId.at); + statetext = Language.StringByID(StringId.delayLogic); + } + break; + } + + if (value != "0") + { + if (value == "30") + { + statetext += value + Language.StringByID(StringId.s); + } + else + { + statetext += value + Language.StringByID(StringId.minute); + } + } + else + { + statetext = ""; + } + + inputView.btnText.Text = strtext; + inputView.btnState.Text = statetext; } - //鍐嶆缂栬緫鏉′欢鐘舵�佺偣鍑讳簨浠� - targetView.btnClick.MouseUpEventHandler += (sen, e) => - { - Button button = (Button)sen; - //鎵惧埌褰撳墠缂栬緫鐨勭储寮� - int indexVulae = 0; - for (int index = 0; index < Logic.currlogic.output.Count; index++) - { - Output target = Logic.currlogic.output[index]; - if (target.sid == targetView.btnClick.Tag.ToString()) - { - //鐢ㄦ埛鍙兘鍒犻櫎鏁版嵁锛屼娇鍒楄〃绱㈠紩鍙戠敓鏀瑰彉锛� - //閫氳繃鍞竴sid閲嶆柊鏌ユ壘鍒扮储寮曚笖鏇存柊绱㈠紩鍊� - indexVulae = index; - break; - } - } - //鏍囪缂栬緫鐘舵�� - bool edit = true; - switch (button.Name) - { - case "1": - { - //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.CurrLogicMethod.GetDevice(outputTarget.sid); - TargetDeviceFunList deviceFunList = new TargetDeviceFunList(); - MainPage.BasePageView.AddChidren(deviceFunList); - deviceFunList.Show(device, indexVulae, edit); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - } - break; - case "3": - { - Security security = new Security(); - security.SecurityMethod(thisView, "", edit, indexVulae); - } - break; - case "4": - { - FrameLayout fLayout = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - thisView.AddChidren(fLayout); - AddTarget addTarget = new AddTarget(); - addTarget.Delayed(fLayout, edit, indexVulae); - - - } - break; - } - }; - //寤舵椂鐐瑰嚮浜嬩欢 - targetView.btnDelay.MouseUpEventHandler += (sen, e) => - { - - InpOrOutLogicMethod inpOrOutLogicMethod = new InpOrOutLogicMethod(); - inpOrOutLogicMethod.Delayed(thisView, outputTarget, (value) => - { - outputTarget.delay = value.ToString(); - if (outputTarget.target_type == "1") - { - targetView.btnState.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; - } - else - { - targetView.btnText.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; - } - }); - - }; - ///鍒犻櫎鎺т欢 - targetView.btnDel.MouseUpEventHandler += (sender, e) => - { - Logic.currlogic.output.Remove(outputTarget); - targetView.frameLayout.RemoveFromParent(); - }; + } } - } - /// <summary> - /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� - /// </summary> - /// <param name="device">缂栬緫璁惧</param> - /// <param name="button1">鏄剧ずBtn</param> - /// <param name="button2">鏄剧ずBtn</param> - /// <param name="button3">鏄剧ずBtn</param> - /// <param name="button4">鏄剧ずBtn</param> - public static void EditState(Entity.Function device, List<Dictionary<string, string>> dicList, Button button1, Button button2, Button button3, Button button4) - { - switch (device.spk) + break; + case "2": { - //鎻掑骇 - case SPK.PanelSocket: - case SPK.ElectricSocket: + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; + foreach (var dic in dicList) + { + string value = dic["value"]; + inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value; + } + + } + break; + case "3": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.CurrLogicMethod.GetDevice(inputCondition.sid); + //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� + inputView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(device.spk); + //鏄剧ず璁惧鍚嶇О + inputView.btnText.Text = device.name; + //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 + inputView.btnText.Width = Application.GetRealWidth(80); + //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� + switch (device.spk) + { //寮�鍏崇伅鍏� case SPK.AirSwitch: - case SPK.LightSwitch: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "on") - { - button1.Text = Language.StringByID(StringId.onLogic); - } - else - { - button1.Text = Language.StringByID(StringId.offLogic); - } - } - } - break; case SPK.LightDimming: case SPK.LightRGB: case SPK.LightRGBW: case SPK.LightCCT: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - switch (dic["key"]) - { - case "on_off": - { - if (value == "on") - { - button1.Text = Language.StringByID(StringId.onLogic); - } - else - { - button1.Text = Language.StringByID(StringId.offLogic); - } - } - break; - case "brightness": - { - if (button2 == null) - { - //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 - break; - } - button2.Text = value + "%"; - } - break; - } - - } - } - break; + case SPK.LightSwitch: + //绐楀笜 case SPK.CurtainSwitch: - case SPK.CurtainTrietex: case SPK.CurtainRoller: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - switch (value) - { - case "on": - { - button1.Text = Language.StringByID(StringId.onLogic); - } - break; - case "off": - { - button1.Text = Language.StringByID(StringId.offLogic); - } - break; - case "stop": - { - button1.Text = Language.StringByID(StringId.stop); - } - break; - } - } - } - break; + case SPK.CurtainTrietex: + //绌鸿皟 case SPK.AcStandard: case SPK.HvacAC: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - switch (dic["key"]) - { - case "on_off": - { - switch (value) - { - case "on": - { - button1.Text = Language.StringByID(StringId.onLogic); - } - break; - case "off": - { - button1.Text = Language.StringByID(StringId.offLogic); - } - break; - } - } - break; - case "set_temp": - { - if (button2 == null) - { - //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 - break; - } - button2.Text = value + "鈩�"; - } - break; - case "mode": - { - if (button3 == null) - { - //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 - break; - } - switch (value) - { - case "cool": - { - button3.Text = Language.StringByID(StringId.coolLogic); - } - break; - case "heat": - { - button3.Text = Language.StringByID(StringId.heatingLogic); - } - break; - case "auto": - { - button3.Text = Language.StringByID(StringId.autoLogic); - } - break; - case "dry": - { - button3.Text = Language.StringByID(StringId.dehumidifyLogic); - } - break; - } - - - - } - break; - case "fan": - { - if (button4 == null) - { - //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 - break; - } - switch (value) - { - case "high": - { - button4.Text = Language.StringByID(StringId.HighWindSpeed); - } - break; - case "medium": - { - button4.Text = Language.StringByID(StringId.MiddleWindSpeed); - } - break; - case "low": - { - button4.Text = Language.StringByID(StringId.LowWindSpeed); - } - break; - case "auto": - { - button4.Text = Language.StringByID(StringId.Auto); - } - break; - } - - - } - break; - - - } - - } - - } - break; - case SPK.FloorHeatStandard:case SPK.HvacFloorHeat: - { - - foreach (var dic in dicList) - { - string value = dic["value"]; - switch (dic["key"]) - { - case "on_off": - { - switch (value) - { - case "on": - { - button1.Text = Language.StringByID(StringId.onLogic); - } - break; - case "off": - { - button1.Text = Language.StringByID(StringId.offLogic); - } - break; - } - } - break; - case "set_temp": - { - if (button2 == null) - { - //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 - break; - } - button2.Text = value + "鈩�"; - } - break; - case "mode": - { - if (button3 == null) - { - //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 - break; - } - switch (value) - { - case "day": - { - button3.Text = Language.StringByID(StringId.dayMode); - } - break; - case "night": - { - button3.Text = Language.StringByID(StringId.nightMode); - } - break; - - case "away": - { - button3.Text = Language.StringByID(StringId.leaveMode); - } - break; - case "normal": - { - button3.Text = Language.StringByID(StringId.ordinaryMode); - } - break; - case "timer": - { - button3.Text = Language.StringByID(StringId.timeMode); - } - break; - } - - - - } - break; - - } - - } - - } - break; + //鍦扮儹 + case SPK.HvacFloorHeat: + case SPK.FloorHeatStandard: + //鏂伴 case SPK.AirFreshStandard: case SPK.HvacAirFresh: + //鎻掑骇 + case SPK.PanelSocket: + case SPK.ElectricSocket: + {//寮�鍏崇伅 + foreach (var dic in dicList) { - foreach (var dic in dicList) - { - string value = dic["value"]; - switch (dic["key"]) - { - case "on_off": - { - switch (value) - { - case "on": - { - button1.Text = Language.StringByID(StringId.onLogic); - } - break; - case "off": - { - button1.Text = Language.StringByID(StringId.offLogic); - } - break; - } - } - break; + string value = dic["value"]; + if (value == "on") + { + inputView.btnState.Text = Language.StringByID(StringId.onLogic); - case "fan": - { - if (button2 == null) - { - //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 - break; - } - switch (value) - { - case "high": - { - button2.Text = Language.StringByID(StringId.HighWindSpeed); - } - break; - case "medium": - { - button2.Text = Language.StringByID(StringId.MiddleWindSpeed); - } - break; - case "low": - { - button2.Text = Language.StringByID(StringId.LowWindSpeed); - } - break; - case "auto": - { - button2.Text = Language.StringByID(StringId.Auto); - } - break; - } - - - } - break; - - } - - } - + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.offLogic); + } } - break; - case SPK.SensorGas: + } + break; + //浼犳劅鍣� case SPK.SensorSmoke: + case SPK.SensorGas: + { + foreach (var dic in dicList) { - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "alarm") - { - button1.Text = Language.StringByID(StringId.xieluo); - } - else - { - button1.Text = Language.StringByID(StringId.wuxieluo); - } - } + string value = dic["value"]; + if (value == "alarm") + { + inputView.btnState.Text = Language.StringByID(StringId.xieluo); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.wuxieluo); + } } - break; + } + break; case SPK.SensorWater: + { + foreach (var dic in dicList) { - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "alarm") - { - button1.Text = Language.StringByID(StringId.luoshui); - } - else - { - button1.Text = Language.StringByID(StringId.wuluoshui); - } - } + string value = dic["value"]; + if (value == "alarm") + { + inputView.btnState.Text = Language.StringByID(StringId.luoshui); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.wuluoshui); + } } - break; + } + break; case SPK.SensorDryContact: case SPK.SensorDryContact2: + { + foreach (var dic in dicList) { - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "on") - { - button1.Text = Language.StringByID(StringId.onLogic); - } - else - { - button1.Text = Language.StringByID(StringId.offLogic); - } - } + + string value = dic["value"]; + if (value == "on") + { + inputView.btnState.Text = Language.StringByID(StringId.onLogic); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.offLogic); + } } - break; + } + break; case SPK.SensorShanLan: case SPK.SensorDuiShe: case SPK.SensorPir: + { + foreach (var dic in dicList) { - foreach (var dic in dicList) - { - string value = dic["value"]; + + string value = dic["value"]; + if (value == "true") + { + inputView.btnState.Text = Language.StringByID(StringId.youren); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.wuren); + } + } + } + break; + case SPK.SensorDoorWindow: + { + foreach (var dic in dicList) + { + + string value = dic["value"]; + if (value == "open") + { + inputView.btnState.Text = Language.StringByID(StringId.kaiqi); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.bihe); + } + } + } + break; + case SPK.SensorUtrasonic: + { + string str = ""; + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "status": + case "people_status": + { if (value == "true") { - button1.Text = Language.StringByID(StringId.youren); + str += Language.StringByID(StringId.youren) + ";"; } else { - button1.Text = Language.StringByID(StringId.wuren); + str += Language.StringByID(StringId.wuren) + ";"; } - } - } - break; - case SPK.SensorDoorWindow: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "open") + + + } + break; + case "dismantle": + { + if (value == "true") { - button1.Text = Language.StringByID(StringId.kaiqi); + str += Language.StringByID(StringId.zaixian); } else { - button1.Text = Language.StringByID(StringId.bihe); + str += Language.StringByID(StringId.buzaixian); } - } + } + break; + + } + } - break; - case SPK.SensorUtrasonic: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - switch (dic["key"]) - { - case "status": - case "people_status": - { - if (value == "true") - { - button1.Text = Language.StringByID(StringId.youren); - } - else - { - button1.Text = Language.StringByID(StringId.wuren); - } - - - } - break; - case "dismantle": - { - if (value == "true") - { - button1.Text = Language.StringByID(StringId.zaixian); - } - else - { - button1.Text = Language.StringByID(StringId.buzaixian); - } - } - break; - - } - - } - } - break; + inputView.btnState.Text = str; + } + break; case SPK.SenesorMegahealth: case SPK.SenesorMegahealth2: + { + foreach (var dic in dicList) { - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "fall") + string value = dic["value"]; + if (value == "fall") + { + inputView.btnState.Text = Language.StringByID(StringId.diedao); + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.wuren); + } + } + } + break; + case SPK.SensorEnvironment: + case SPK.SensorEnvironment2: + case SPK.SensorEnvironment3: + { + string strtext = ""; + foreach (var dic in dicList) + { + string key = dic["key"]; + string value = dic["value"]; + string comparator = dic["comparator"]; + switch (key) + { + + case "temperature": + { + if (comparator == ">") { - button1.Text = Language.StringByID(StringId.diedao); + strtext = ">" + value + "鈩�"; } - else + else if (comparator == "<") { - button1.Text = Language.StringByID(StringId.wuren); + strtext = "<" + value + "鈩�"; } - } + + } + break; + case "humidity": + { + if (comparator == ">") + { + strtext = ">" + value + "%"; + } + else if (comparator == "<") + { + strtext = "<" + value + "%"; + } + + } + break; + case "co2": + { + strtext = Language.StringByID(StringId.co2) + new PublicInterface { }.GetString("co2", value); + } + break; + case "pm25": + { + strtext = Language.StringByID(StringId.pm25) + new PublicInterface { }.GetString("pm25", value); + } + break; + case "tvoc": + { + strtext = Language.StringByID(StringId.tvoc) + new PublicInterface { }.GetString("tvoc", value); + } + break; + } + inputView.btnState.Text = strtext; + } + + + } + break; + case SPK.SensorTemperature: + { + + string str = new InpOrOutLogicMethod { }.GetText(dicList, "temperature"); + inputView.btnState.Text = str; + } + break; + case SPK.SensorHumidity: + { + string str = new InpOrOutLogicMethod { }.GetText(dicList, "humidity"); + inputView.btnState.Text = str; + + } + break; + case SPK.SensorCO2: + { + string str = new InpOrOutLogicMethod { }.GetText(dicList, "co2"); + inputView.btnState.Text = str; + + } + break; + case SPK.SensorPm25: + { + string str = new InpOrOutLogicMethod { }.GetText(dicList, "pm25"); + inputView.btnState.Text = str; + + } + break; + case SPK.SensorTVOC: + { + string str = new InpOrOutLogicMethod { }.GetText(dicList, "tvoc"); + inputView.btnState.Text = str; + + } + break; + case SPK.SensorHcho: + { + string str = new InpOrOutLogicMethod { }.GetText(dicList, "hcho"); + inputView.btnState.Text = str; + + } + break; + } + } + break; + case "6": + { + //inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png"; + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png"; + string strtext = ""; + string strvalue = ""; + foreach (var dic in dicList) + { + string key = dic["key"]; + string comparator = dic["comparator"]; + string value = dic["value"]; + + switch (key) + { + case "temperature": + { + //浜戠澶╂皵鏉′欢 鍩庡競娓╁害瑙﹀彂 + strvalue = value + "鈩�"; + if (comparator == ">") + { + strtext = Language.StringByID(StringId.wendugaoyu); + } + else if (comparator == "<") + { + strtext = Language.StringByID(StringId.wendudiyu); + } + } break; - } - } - /// <summary> - /// 鑾峰彇value閿�� - /// </summary> - /// <param name="keyValue"></param> - /// <param name="dicList"></param> - /// <returns></returns> - public static string GetKeyValue(string keyValue, List<Dictionary<string, string>> dicList) - { + case "humidity": + { + //浜戠澶╂皵鏉′欢 鍩庡競婀垮害瑙﹀彂 + strvalue = value + "%"; + if (comparator == ">") + { + strtext = Language.StringByID(StringId.shidugaoyu); + } + else if (comparator == "<") + { + strtext = Language.StringByID(StringId.shidudiyu); + } - string valueStr = ""; - foreach (var dic in dicList) - { - if (dic["key"] == keyValue) - { - valueStr = dic["value"]; + } + break; + case "pm25": + { + //浜戠澶╂皵鏉′欢 鍩庡競pm2.5瑙﹀彂 + strtext = Language.StringByID(StringId.PM25); + strvalue = new PublicInterface { }.GetString("pm25", value); + } + break; + case "weather": + { + //浜戠澶╂皵鏉′欢 鍩庡競澶╂皵瑙﹀彂 + strtext = Language.StringByID(StringId.tianqibianhua); + switch (value) + { + case "Sunny": + { + strtext = Language.StringByID(StringId.clearday); + + } + break; + case "Cloudy": + { + + strtext = Language.StringByID(StringId.cloudy); + + } + break; + case "Rain": + { + strtext = Language.StringByID(StringId.rain); + } + break; + + } + } + break; + case "airquality": + { + //浜戠澶╂皵鏉′欢 鍩庡競绌烘皵璐ㄩ噺 + strtext = Language.StringByID(StringId.kongqizhiliang); + switch (value) + { + case "Excellent": + { + strtext = Language.StringByID(StringId.kongqiyou); + + } + break; + case "Good": + { + + strtext = Language.StringByID(StringId.kongqiliang); + + } + break; + case "Poor": + { + strtext = Language.StringByID(StringId.kongqicha); + } + break; + } + } break; } + + } + inputView.btnText.Text = strtext; + inputView.btnState.Text = strvalue; } - return valueStr; - } - /// <summary> - ///鑾峰彇鑷姩鍖栧悕绉� - /// </summary> - /// <returns> 鏂板缓鑷姩鍖栧懡鍚嶈鍒�</returns> - public static string GetLogicName(Logic logic) - { - - string name = ""; - try + break; + case "8": { - //榛樿鍙栫涓�涓潯浠� - Input inputCondition = logic.input[0]; - //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵�� - switch (inputCondition.condition_type) + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/inputlocation.png"; + foreach (var dic in dicList) + { + string strtext = ""; + string value = dic["value"]; + switch (value) { - case "1": - { - name = Language.StringByID(StringId.hour) + "-"; - } - break; - case "2": - { - name = Language.StringByID(StringId.timeHorizon) + "-"; - - } - break; - case "3": - { - //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.CurrLogicMethod.GetDevice(inputCondition.sid); - name = device.name + "-"; - } - break; - case "10": - { - //鐢╯id鎵惧埌鍦烘櫙锛� - var scene = LogicMethod.CurrLogicMethod.GetSecne(inputCondition.sid); - name = scene.name + "-"; - } - break; - + case "arrive": + { + strtext = Language.StringByID(StringId.daoda); + } + break; + case "leave": + { + strtext = Language.StringByID(StringId.likai); + } + break; } - //榛樿鍙栫涓�涓洰鏍� - Output outputTarget = logic.output[0]; - List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>; - //鏄剧ず杈撳嚭鏉′欢鍚勭绫诲瀷鐘舵�� - switch (outputTarget.target_type) - { - case "1": - { - //鐢╯id鎵惧埌璁惧锛� - var device = LogicMethod.CurrLogicMethod.GetDevice(outputTarget.sid); - //鏄剧ず璁惧鍚嶇О - name += device.name; - string stateStr = ""; - //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� - switch (device.spk) - { - case SPK.AirSwitch: - case SPK.LightSwitch: - {//寮�鍏崇伅 - - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "on") - { - stateStr = Language.StringByID(StringId.onLogic); - - } - else - { - stateStr = Language.StringByID(StringId.offLogic); - } - } - } - break; - case SPK.LightRGB: - case SPK.LightRGBW: - case SPK.LightCCT: - case SPK.LightDimming: - { - string on_off = InpOrOutLogicMethod.GetKeyValue("on_off", dicList); - string brightness = InpOrOutLogicMethod.GetKeyValue("brightness", dicList); - if (on_off == "on" && brightness != "") - { - stateStr = Language.StringByID(StringId.onLogic) + brightness + "%"; - } - else if (on_off == "on") - { - stateStr = Language.StringByID(StringId.onLogic); - } - else if (on_off == "off") - { - stateStr = Language.StringByID(StringId.offLogic); - } - else if (brightness != "") - { - stateStr = brightness + "%"; - } - } - break; - case SPK.CurtainSwitch: - case SPK.CurtainTrietex: - case SPK.CurtainRoller: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - switch (value) - { - case "on": - { - stateStr = Language.StringByID(StringId.onLogic); - } - break; - case "off": - { - stateStr = Language.StringByID(StringId.offLogic); - } - break; - case "stop": - { - stateStr = Language.StringByID(StringId.stop); - } - break; - } - } - } - break; - case SPK.AcStandard: - case SPK.HvacAC: - case SPK.FloorHeatStandard:case SPK.HvacFloorHeat: - { - foreach (var dic in dicList) - { - string value = dic["value"]; - if (value == "on") - { - stateStr = Language.StringByID(StringId.onLogic); - - } - else if (value == "off") - { - stateStr = Language.StringByID(StringId.offLogic); - } - } - - } - break; - - } - name += stateStr; - } - break; - case "2": - { - //鐢╯id鎵惧埌鍦烘櫙锛� - var scene = LogicMethod.CurrLogicMethod.GetSecne(outputTarget.sid); - name += scene.name; - - } - break; - case "3": - { - //鐢╯id鎵惧埌瀹夐槻锛� - var security = LogicMethod.CurrLogicMethod.GetSecurity(outputTarget.sid); - name += security.name; - - } - break; - } - - if (!MainView.IsGatewayType) - { - name += Language.StringByID(StringId.push); - } + inputView.btnText.TextID = StringId.likiadaoda; + inputView.btnState.Text = strtext; + } } - catch { } - return name; - } - /// <summary> - /// 寤舵椂鏃堕棿鏂规硶 - /// </summary> - /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param> - /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param> - /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param> - private void Delayed(FrameLayout thisFLayout, Output output, Action<int> action) - { - FrameLayout fLayout = new FrameLayout + break; + case "10": { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - thisFLayout.AddChidren(fLayout); - LogicView.TimeView timePointView = new LogicView.TimeView(); - timePointView.FLayoutView(fLayout); - EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) => - { - //绉婚櫎fLayout鐣岄潰 - fLayout.RemoveFromParent(); - }; - //鍙栨秷鐐瑰嚮浜嬩欢 - timePointView.btnCancel.MouseUpEventHandler += RemovefLayout; - - //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩) - timePointView.mUIPickerView.setNPicker(timePointView.GetmStringList(), timePointView.GetsStringList(), null); - //榛樿鍒濆閫変腑鐘舵�� - timePointView.mUIPickerView.setCurrentItems(0, 5, 0); - //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿 - int timepoint = 5; - - if (output.delay != "0") - { - int intValue = int.Parse(output.delay); - var m = intValue / 60; - var s = intValue % 60; - - string timeValue = m.ToString() + ":" + s.ToString(); - int mIndex = timePointView.GetValueIndex(timeValue, 0, 1, timePointView.GetmIntList()); - int sIndex = timePointView.GetValueIndex(timeValue, 1, 0, timePointView.GetmIntList()); - //鏇存柊鍒濆鐘舵�� - timePointView.mUIPickerView.setCurrentItems(mIndex, sIndex, 0); - timepoint = intValue; + //鐢╯id鎵惧埌鍦烘櫙锛� + var scene = LogicMethod.CurrLogicMethod.GetSecne(inputCondition.sid); + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png"; + inputView.btnNextIcon.Visible = false; + inputView.btnClick.Visible = false; + //鏄剧ず鍦烘櫙鍚嶇О + inputView.btnText.Text = scene.name; } + break; - - //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆� - timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) => - { - string minuet = timePointView.GethStringList0()[index1].Split(' ')[0]; - string second = timePointView.GetmStringList()[index2].Split(' ')[0]; - int minuetIntValue = int.Parse(minuet); - int secondIntValue = int.Parse(second); - timepoint = minuetIntValue * 60 + secondIntValue; - }; - //纭畾鐐瑰嚮浜嬩欢 - timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) => - { - if (timepoint == 0) - { - //鎻愮ず - return; - } - fLayout.RemoveFromParent(); - action(timepoint); - }; } - /// <summary> - /// 鑾峰彇鏃堕棿鏂囨湰鎻忚堪 - /// </summary> - /// <param name="strTimeValue">鏃堕棿鍊硷紙鍗曚綅s绉掞級</param> - /// <returns></returns> - private string GetTimeText(string strTimeValue) + //鍐嶆缂栬緫鏉′欢鐘舵�佺偣鍑讳簨浠� + inputView.btnClick.MouseUpEventHandler += (sen, e) => { - var timeValue = int.Parse(strTimeValue); - string state = ""; - var minutes = timeValue / 60; - var seconds = timeValue % 60; - if (minutes != 0) + Button button = (Button)sen; + //褰撳墠缂栬緫鐨勬潯浠� + Input ckcliInput = inputView.btnClick.Tag as Input; + //鎵惧埌褰撳墠缂栬緫鐨勭储寮� + int indexVulae = 0; + for (int index = 0; index < Logic.currlogic.input.Count; index++) + { + Input input = Logic.currlogic.input[index]; + if (input.sid == ckcliInput.sid) { - if (seconds == 0) + if (button.Name == "3") + { + //鏈変簺璁惧姣旇緝鐗规畩锛堜緥濡傦細娴锋灄浼犳劅鍣ㄨ繕鏄鍒ゆ柇灞炴�у�硷紝娓╂箍搴﹀睘鎬ц繕瑕佸垽鏂瘮杈冨叧绯伙紝鎵嶈兘纭鏄惁宸茬粡瀛樺湪璇ユ潯浠讹紝鍏朵粬璁惧鏉′欢鐩存帴鐢╯id鍒ゆ柇鍗冲彲锛� + //鍔犱竴绾у垽鏂槸涓哄吋瀹圭壒娈婅澶� + if (new ConditionDeviceFunList { }.IsContainsAll(ckcliInput.condition, input.condition)) { - state = minutes.ToString() + Language.StringByID(StringId.minute); + //鐢ㄦ埛鍙兘鍒犻櫎鏁版嵁锛屼娇鍒楄〃绱㈠紩鍙戠敓鏀瑰彉锛� + //閫氳繃鍞竴sid閲嶆柊鏌ユ壘鍒扮储寮曚笖鏇存柊绱㈠紩鍊� + indexVulae = index; + break; + } + } + else + { + //鐢ㄦ埛鍙兘鍒犻櫎鏁版嵁锛屼娇鍒楄〃绱㈠紩鍙戠敓鏀瑰彉锛� + //閫氳繃鍞竴sid閲嶆柊鏌ユ壘鍒扮储寮曚笖鏇存柊绱㈠紩鍊� + indexVulae = index; + break; + } + } + } + //鏍囪缂栬緫鐘舵�� + bool edit = true; + switch (button.Name) + { + case "1": + { + bool is_bool = false; + Input _input = Logic.currlogic.input[indexVulae]; + if (_input.condition_type == "1") + { + var dicLists = _input.condition; + foreach (var dic in dicLists) + { + string keyValue = dic["key"]; + if (keyValue != "timepoint") + { + //閫氳繃閿�兼煡鎵鹃敭鍊兼槸鍚︽槸 + //锛堟棩鍑�/鏃ヨ惤/姝e崍锛� + is_bool = true; + break; + } + + } + + } + if (is_bool) + { + //璺宠浆鍒帮紙鏃ュ嚭/鏃ヨ惤/姝e崍锛夌晫闈� + SpeciaTime speciaTime = new SpeciaTime(); + MainPage.BasePageView.AddChidren(speciaTime); + speciaTime.Show(edit, indexVulae); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } else { - state = minutes.ToString() + Language.StringByID(StringId.minute) + seconds.ToString() + Language.StringByID(StringId.s); + //璺宠浆鍒帮紙鏃堕棿鐐癸級鐣岄潰 + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + thisView.AddChidren(fLayout); + TimeTpye timeTpye = new TimeTpye(); + timeTpye.TimePoint(fLayout, edit, indexVulae); } - } - else - { - if (seconds != 0) + } + break; + case "2": + { + FrameLayout fLayout = new FrameLayout { - state = seconds.ToString() + Language.StringByID(StringId.s); + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + thisView.AddChidren(fLayout); + TimeTpye timeTpye = new TimeTpye(); + timeTpye.TimeHorizon(fLayout, edit, indexVulae); + } + break; + case "3": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.CurrLogicMethod.GetDevice(inputCondition.sid); + if (device.spk == SPK.SensorEnvironment + || device.spk == SPK.SensorEnvironment2 + || device.spk == SPK.SensorEnvironment3 + ) + { + //杩欎釜璁惧姣旇緝鐗规畩 + ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); + ///褰撳墠鐨勭储寮曞�兼暟鎹璞� + Input inputedit = Logic.currlogic.input[indexVulae]; + ///鐘舵�佸�� + string stateValue = ""; + foreach (var dic in inputedit.condition) + { + string key = dic["key"]; + string comparator = dic["comparator"]; + stateValue = dic["value"]; + switch (key) + { + + case "temperature": + { + int titleInt = 0; + if (comparator == ">") + { + titleInt = StringId.wendugaoyu; + } + else if (comparator == "<") + { + titleInt = StringId.wendudiyu; + } + conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); + } + break; + case "humidity": + { + int titleInt = 0; + if (comparator == ">") + { + titleInt = StringId.shidugaoyu; + } + else if (comparator == "<") + { + titleInt = StringId.shidudiyu; + } + conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); + } + break; + case "co2": + { + conditionDeviceFunList.PmCo2TvocAction(thisView, device, "co2", StringId.co2, indexVulae, true, stateValue); + } + break; + case "pm25": + { + conditionDeviceFunList.PmCo2TvocAction(thisView, device, "pm25", StringId.pm25, indexVulae, true, stateValue); + } + break; + case "tvoc": + { + conditionDeviceFunList.PmCo2TvocAction(thisView, device, "tvoc", StringId.tvoc, indexVulae, true, stateValue); + } + break; + case "hcho": + { + conditionDeviceFunList.PmCo2TvocAction(thisView, device, "hcho", StringId.Formaldehyde, indexVulae, true, stateValue); + } + break; + } + } + } - } - if (!string.IsNullOrEmpty(state)) - { - state = Language.StringByID(StringId.delayLogic) + state; - } - return state; - } - /// <summary> - /// 鑾峰彇鏄剧ず闈㈢啛鏂囨湰 - /// </summary> - /// <param name="dicList">鐘舵�佹暟鎹垪琛�</param> - /// <returns></returns> - private string GetText(List<Dictionary<string, string>> dicList,string key) + else if (device.spk == SPK.SensorTemperature) + { + + new InpOrOutLogicMethod().SensorView(thisView, device, "temperature", indexVulae); + + } + else if (device.spk == SPK.SensorHumidity) + { + + new InpOrOutLogicMethod().SensorView(thisView, device, "humidity", indexVulae); + + } + else if (device.spk == SPK.SensorCO2) + { + + new InpOrOutLogicMethod().SensorView(thisView, device, "co2", indexVulae); + + } + else if (device.spk == SPK.SensorPm25) + { + + new InpOrOutLogicMethod().SensorView(thisView, device, "pm25", indexVulae); + + } + else if (device.spk == SPK.SensorTVOC) + { + + new InpOrOutLogicMethod().SensorView(thisView, device, "tvoc", indexVulae); + + } + else if (device.spk == SPK.SensorHcho) + { + + new InpOrOutLogicMethod().SensorView(thisView, device, "hcho", indexVulae); + + } + else + { + ConditionDeviceFunList deviceFunList = new ConditionDeviceFunList(); + MainPage.BasePageView.AddChidren(deviceFunList); + deviceFunList.Show(device, indexVulae, edit); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + } + break; + case "6": + { + ///褰撳墠鐨勭储寮曞�兼暟鎹璞� + Input inputedit = Logic.currlogic.input[indexVulae]; + ///鐘舵�佸�� + string stateValue = ""; + ///鐘舵�佸�兼枃鏈� + int intValue = -1; + foreach (var dic in inputedit.condition) + { + string key = dic["key"]; + string comparator = dic["comparator"]; + stateValue = dic["value"]; + switch (key) + { + case "temperature": + { + if (comparator == ">") + { + intValue = StringId.wendugaoyu; + } + else if (comparator == "<") + { + intValue = StringId.wendudiyu; + + } + + } + break; + case "humidity": + { + + if (comparator == ">") + { + intValue = StringId.shidugaoyu; + } + else if (comparator == "<") + { + intValue = StringId.shidudiyu; + } + + } + break; + case "pm25": + { + intValue = StringId.PM25; + } + break; + case "weather": + { + intValue = StringId.tianqibianhua; + } + break; + case "airquality": + { + intValue = StringId.kongqizhiliang; + } + break; + + } + } + OutdoorEnvironment outdoorEnvironment = new OutdoorEnvironment(); + if (intValue == StringId.tianqibianhua) + { + //鍩庡競澶╂皵锛堟櫞澶╋紝涓嬮洦锛� + WeatherCondition weatherCondition = new WeatherCondition(); + MainPage.BasePageView.AddChidren(weatherCondition); + weatherCondition.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + else if (intValue == StringId.PM25) + { + //鍩庡競澶╂皵锛坧m2.5锛� + outdoorEnvironment.PmAction(thisView, stateValue); + } + else if (intValue == StringId.kongqizhiliang) + { + //鍩庡競澶╂皵锛堢┖姘旇川閲忥級 + AirQuality airQuality = new AirQuality(); + MainPage.BasePageView.AddChidren(airQuality); + airQuality.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + else + { + //鍩庡競澶╂皵锛堟俯婀垮害锛� + outdoorEnvironment.InputBoxAction(intValue, stateValue); + } + } + break; + case "8": + { + AddInputType addInputType = new AddInputType(); + addInputType.LocationView(thisView, true); + } + break; + + } + }; + ///鍒犻櫎鎺т欢 + inputView.btnDel.MouseUpEventHandler += (sender, e) => { - string strtext = ""; + Logic.currlogic.input.Remove(inputCondition); + inputView.frameLayout.RemoveFromParent(); + }; + } + + } + /// <summary> + /// 杈撳嚭鏉′欢澶勭悊鏂规硶 + /// </summary> + /// <param name="thisView">褰撳墠鐣岄潰</param> + /// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param> + public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout) + { + + for (int i = 0; i < Logic.currlogic.output.Count; i++) + { + Output outputTarget = Logic.currlogic.output[i]; + ///鍚勭鏉′欢鐨刅iew + LogicView.AddOutputInputView targetView = new LogicView.AddOutputInputView(); + targetView.FLayoutView(viewLayout); + ///璁板綍鏉′欢绫诲瀷 + targetView.btnClick.Name = outputTarget.target_type; + ///璁板綍鏉′欢绱㈠紩 + targetView.btnClick.Tag = outputTarget.sid; + ///鏉′欢鐘舵�佹暟缁� + List<Dictionary<string, string>> dicList = outputTarget.status; + //鏄剧ず鐘舵�佸�� + string stateStr = ""; + //鏄剧ず杈撳嚭鏉′欢鍚勭绫诲瀷鐘舵�� + switch (outputTarget.target_type) + { + case "1": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.CurrLogicMethod.GetDevice(outputTarget.sid); + //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� + targetView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(device.spk); + //鏄剧ず璁惧鍚嶇О + targetView.btnText.Text = device.name; + //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 + targetView.btnText.Width = Application.GetRealWidth(80); + //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� + switch (device.spk) + { + case SPK.AirSwitch: + case SPK.LightSwitch: + //鎻掑骇 + case SPK.PanelSocket: + case SPK.ElectricSocket: + {//寮�鍏� + + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + + } + else + { + stateStr = Language.StringByID(StringId.offLogic); + } + } + } + break; + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: + case SPK.LightDimming: + { + string on_off = GetKeyValue("on_off", dicList); + string brightness = GetKeyValue("brightness", dicList); + if (on_off == "on" && brightness != "") + { + stateStr = Language.StringByID(StringId.onLogic) + brightness + "%"; + } + else if (on_off == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + } + else if (on_off == "off") + { + stateStr = Language.StringByID(StringId.offLogic); + } + else if (brightness != "") + { + stateStr = brightness + "%"; + } + + } + break; + case SPK.CurtainSwitch: + case SPK.CurtainTrietex: + case SPK.CurtainRoller: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (value) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic); + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic); + } + break; + case "stop": + { + stateStr = Language.StringByID(StringId.stop); + } + break; + } + } + } + break; + case SPK.AcStandard: + case SPK.HvacAC: + { + string on_off = GetKeyValue("on_off", dicList); + string set_temp = GetKeyValue("set_temp", dicList); + string mode = GetKeyValue("mode", dicList); + string fan = GetKeyValue("fan", dicList); + if (on_off != "") + { + switch (on_off) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic) + ","; + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic) + ","; + } + break; + + } + } + + if (set_temp != "") + { + + stateStr += set_temp + "鈩�,"; + } + + if (mode != "") + { + + switch (mode) + { + case "cool": + { + stateStr += Language.StringByID(StringId.coolLogic) + ","; + } + break; + case "heat": + { + stateStr += Language.StringByID(StringId.heatingLogic) + ","; + } + break; + case "auto": + { + stateStr += Language.StringByID(StringId.autoLogic) + ","; + } + break; + case "dry": + { + stateStr += Language.StringByID(StringId.dehumidifyLogic) + ","; + } + break; + } + + } + + if (fan != "") + { + + switch (fan) + { + case "high": + { + stateStr += Language.StringByID(StringId.HighWindSpeed) + ","; + } + break; + case "medium": + { + stateStr += Language.StringByID(StringId.MiddleWindSpeed) + ","; + } + break; + case "low": + { + stateStr += Language.StringByID(StringId.LowWindSpeed) + ","; + } + break; + case "auto": + { + stateStr += Language.StringByID(StringId.Auto) + ","; + } + break; + } + + } + if (on_off != "" && on_off == "off") + { + stateStr = Language.StringByID(StringId.offLogic); + } + else + { + stateStr = stateStr.TrimEnd(','); + + } + + } + break; + case SPK.FloorHeatStandard: + case SPK.HvacFloorHeat: + { + string on_off = GetKeyValue("on_off", dicList); + string set_temp = GetKeyValue("set_temp", dicList); + string mode = GetKeyValue("mode", dicList); + if (on_off != "") + { + switch (on_off) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic) + ","; + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic) + ","; + } + break; + + } + } + if (set_temp != "") + { + + stateStr += set_temp + "鈩�,"; + } + if (mode != "") + { + + switch (mode) + { + case "day": + { + stateStr += Language.StringByID(StringId.dayMode) + ","; + } + break; + case "night": + { + stateStr += Language.StringByID(StringId.nightMode) + ","; + } + break; + + case "away": + { + stateStr += Language.StringByID(StringId.leaveMode) + ","; + } + break; + case "normal": + { + stateStr += Language.StringByID(StringId.ordinaryMode) + ","; + } + break; + case "timer": + { + stateStr += Language.StringByID(StringId.timeMode) + ","; + } + break; + } + + } + if (on_off != "" && on_off == "off") + { + stateStr = Language.StringByID(StringId.offLogic); + } + else + { + stateStr = stateStr.TrimEnd(','); + + } + } + break; + case SPK.AirFreshStandard: + case SPK.HvacAirFresh: + { + string on_off = GetKeyValue("on_off", dicList); + string fan = GetKeyValue("fan", dicList); + if (on_off != "") + { + switch (on_off) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic) + ","; + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic) + ","; + } + break; + } + } + if (fan != "") + { + + switch (fan) + { + case "high": + { + stateStr += Language.StringByID(StringId.HighWindSpeed) + ","; + } + break; + case "medium": + { + stateStr += Language.StringByID(StringId.MiddleWindSpeed) + ","; + } + break; + case "low": + { + stateStr += Language.StringByID(StringId.LowWindSpeed) + ","; + } + break; + case "auto": + { + stateStr += Language.StringByID(StringId.Auto) + ","; + } + break; + } + + } + if (on_off != "" && on_off == "off") + { + stateStr = Language.StringByID(StringId.offLogic); + } + else + { + stateStr = stateStr.TrimEnd(','); + + } + } + break; + } + } + break; + case "2": + { + //鐢╯id鎵惧埌鍦烘櫙锛� + var scene = LogicMethod.CurrLogicMethod.GetSecne(outputTarget.sid); + targetView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png"; + targetView.btnNextIcon.Visible = false; + //鏄剧ず鍦烘櫙鍚嶇О + stateStr = scene.name; + } + break; + case "3": + { + //鐢╯id鎵惧埌瀹夐槻锛� + var security = LogicMethod.CurrLogicMethod.GetSecurity(outputTarget.sid); + targetView.btnIcon.UnSelectedImagePath = "LogicIcon/security.png"; + targetView.btnDelay.Visible = false; + //鏄剧ず瀹夐槻鍚嶇О + targetView.btnText.Text = security.name; + string value = GetKeyValue("security", dicList); + if (value == "enable") + { + stateStr = Language.StringByID(StringId.bufang); + + } + else + { + stateStr = Language.StringByID(StringId.chefang); + } + + } + break; + case "4": + { + targetView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; + foreach (var dic in dicList) + { + string value = dic["value"]; + stateStr = value; + } + } + break; + } + + if (outputTarget.target_type == "1" || outputTarget.target_type == "3") + { + targetView.btnState.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; + } + else + { + targetView.btnText.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; + } + //鍐嶆缂栬緫鏉′欢鐘舵�佺偣鍑讳簨浠� + targetView.btnClick.MouseUpEventHandler += (sen, e) => + { + Button button = (Button)sen; + //鎵惧埌褰撳墠缂栬緫鐨勭储寮� + int indexVulae = 0; + for (int index = 0; index < Logic.currlogic.output.Count; index++) + { + Output target = Logic.currlogic.output[index]; + if (target.sid == targetView.btnClick.Tag.ToString()) + { + //鐢ㄦ埛鍙兘鍒犻櫎鏁版嵁锛屼娇鍒楄〃绱㈠紩鍙戠敓鏀瑰彉锛� + //閫氳繃鍞竴sid閲嶆柊鏌ユ壘鍒扮储寮曚笖鏇存柊绱㈠紩鍊� + indexVulae = index; + break; + } + } + //鏍囪缂栬緫鐘舵�� + bool edit = true; + switch (button.Name) + { + case "1": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.CurrLogicMethod.GetDevice(outputTarget.sid); + TargetDeviceFunList deviceFunList = new TargetDeviceFunList(); + MainPage.BasePageView.AddChidren(deviceFunList); + deviceFunList.Show(device, indexVulae, edit); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + break; + case "3": + { + Security security = new Security(); + security.SecurityMethod(thisView, "", edit, indexVulae); + } + break; + case "4": + { + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + thisView.AddChidren(fLayout); + AddTarget addTarget = new AddTarget(); + addTarget.Delayed(fLayout, edit, indexVulae); + + + } + break; + } + }; + //寤舵椂鐐瑰嚮浜嬩欢 + targetView.btnDelay.MouseUpEventHandler += (sen, e) => + { + + InpOrOutLogicMethod inpOrOutLogicMethod = new InpOrOutLogicMethod(); + inpOrOutLogicMethod.Delayed(thisView, outputTarget, (value) => + { + outputTarget.delay = value.ToString(); + if (outputTarget.target_type == "1") + { + targetView.btnState.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; + } + else + { + targetView.btnText.Text = new InpOrOutLogicMethod { }.GetTimeText(outputTarget.delay) + stateStr; + } + }); + + }; + ///鍒犻櫎鎺т欢 + targetView.btnDel.MouseUpEventHandler += (sender, e) => + { + Logic.currlogic.output.Remove(outputTarget); + targetView.frameLayout.RemoveFromParent(); + }; + } + } + /// <summary> + /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� + /// </summary> + /// <param name="device">缂栬緫璁惧</param> + /// <param name="button1">鏄剧ずBtn</param> + /// <param name="button2">鏄剧ずBtn</param> + /// <param name="button3">鏄剧ずBtn</param> + /// <param name="button4">鏄剧ずBtn</param> + public static void EditState(Entity.Function device, List<Dictionary<string, string>> dicList, Button button1, Button button2, Button button3, Button button4) + { + switch (device.spk) + { + //鎻掑骇 + case SPK.PanelSocket: + case SPK.ElectricSocket: + //寮�鍏崇伅鍏� + case SPK.AirSwitch: + case SPK.LightSwitch: + { foreach (var dic in dicList) { - string value = dic["value"]; - string comparator = dic["comparator"]; - switch (key) - { - - case "temperature": - { - if (comparator == ">") - { - strtext = ">" + value + "鈩�"; - } - else if (comparator == "<") - { - strtext = "<" + value + "鈩�"; - } - - } - break; - case "humidity": - { - if (comparator == ">") - { - strtext = ">" + value + "%"; - } - else if (comparator == "<") - { - strtext = "<" + value + "%"; - } - - } - break; - case "co2": - { - strtext = Language.StringByID(StringId.co2) + new PublicInterface { }.GetString("co2", value); - } - break; - case "pm25": - { - strtext = Language.StringByID(StringId.pm25) + new PublicInterface { }.GetString("pm25", value); - } - break; - case "tvoc": - { - strtext = Language.StringByID(StringId.tvoc) + new PublicInterface { }.GetString("tvoc", value); - } - break; - case "hcho": - { - strtext = Language.StringByID(StringId.Formaldehyde) + new PublicInterface { }.GetString("hcho", value); - } - break; - } + string value = dic["value"]; + if (value == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + } + else + { + button1.Text = Language.StringByID(StringId.offLogic); + } } - return strtext; - } - private void SensorView(FrameLayout thisView, Function device,string key, int indexVulae) { - //杩欎釜璁惧姣旇緝鐗规畩 - ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); - ///褰撳墠鐨勭储寮曞�兼暟鎹璞� - Input inputedit = Logic.currlogic.input[indexVulae]; - ///鐘舵�佸�� - string stateValue = ""; - foreach (var dic in inputedit.condition) + } + break; + case SPK.LightDimming: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: + { + foreach (var dic in dicList) { - string comparator = dic["comparator"]; - stateValue = dic["value"]; - switch (key) - { + string value = dic["value"]; + switch (dic["key"]) + { + case "on_off": + { + if (value == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + } + else + { + button1.Text = Language.StringByID(StringId.offLogic); + } + } + break; + case "brightness": + { + if (button2 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button2.Text = value + "%"; + } + break; + } - case "temperature": - { - int titleInt = 0; - if (comparator == ">") - { - titleInt = StringId.wendugaoyu; - } - else if (comparator == "<") - { - titleInt = StringId.wendudiyu; - } - conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); - } - break; - case "humidity": - { - int titleInt = 0; - if (comparator == ">") - { - titleInt = StringId.shidugaoyu; - } - else if (comparator == "<") - { - titleInt = StringId.shidudiyu; - } - conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); - } - break; - case "co2": - { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "co2", StringId.co2, indexVulae, true, stateValue); - } - break; - case "pm25": - { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "pm25", StringId.pm25, indexVulae, true, stateValue); - } - break; - case "tvoc": - { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "tvoc", StringId.tvoc, indexVulae, true, stateValue); - } - break; - case "hcho": - { - conditionDeviceFunList.PmCo2TvocAction(thisView, device, "hcho", StringId.Formaldehyde, indexVulae, true, stateValue); - } - break; - } } - } + } + break; + case SPK.CurtainSwitch: + case SPK.CurtainTrietex: + case SPK.CurtainRoller: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (value) + { + case "on": + { + button1.Text = Language.StringByID(StringId.onLogic); + } + break; + case "off": + { + button1.Text = Language.StringByID(StringId.offLogic); + } + break; + case "stop": + { + button1.Text = Language.StringByID(StringId.stop); + } + break; + } + } + } + break; + case SPK.AcStandard: + case SPK.HvacAC: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "on_off": + { + switch (value) + { + case "on": + { + button1.Text = Language.StringByID(StringId.onLogic); + } + break; + case "off": + { + button1.Text = Language.StringByID(StringId.offLogic); + } + break; + } + } + break; + case "set_temp": + { + if (button2 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button2.Text = value + "鈩�"; + } + break; + case "mode": + { + if (button3 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + switch (value) + { + case "cool": + { + button3.Text = Language.StringByID(StringId.coolLogic); + } + break; + case "heat": + { + button3.Text = Language.StringByID(StringId.heatingLogic); + } + break; + case "auto": + { + button3.Text = Language.StringByID(StringId.autoLogic); + } + break; + case "dry": + { + button3.Text = Language.StringByID(StringId.dehumidifyLogic); + } + break; + } + + + + } + break; + case "fan": + { + if (button4 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + switch (value) + { + case "high": + { + button4.Text = Language.StringByID(StringId.HighWindSpeed); + } + break; + case "medium": + { + button4.Text = Language.StringByID(StringId.MiddleWindSpeed); + } + break; + case "low": + { + button4.Text = Language.StringByID(StringId.LowWindSpeed); + } + break; + case "auto": + { + button4.Text = Language.StringByID(StringId.Auto); + } + break; + } + + + } + break; + + + } + + } + + } + break; + case SPK.FloorHeatStandard: + case SPK.HvacFloorHeat: + { + + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "on_off": + { + switch (value) + { + case "on": + { + button1.Text = Language.StringByID(StringId.onLogic); + } + break; + case "off": + { + button1.Text = Language.StringByID(StringId.offLogic); + } + break; + } + } + break; + case "set_temp": + { + if (button2 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button2.Text = value + "鈩�"; + } + break; + case "mode": + { + if (button3 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + switch (value) + { + case "day": + { + button3.Text = Language.StringByID(StringId.dayMode); + } + break; + case "night": + { + button3.Text = Language.StringByID(StringId.nightMode); + } + break; + + case "away": + { + button3.Text = Language.StringByID(StringId.leaveMode); + } + break; + case "normal": + { + button3.Text = Language.StringByID(StringId.ordinaryMode); + } + break; + case "timer": + { + button3.Text = Language.StringByID(StringId.timeMode); + } + break; + } + + + + } + break; + + } + + } + + } + break; + case SPK.AirFreshStandard: + case SPK.HvacAirFresh: + { + + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "on_off": + { + switch (value) + { + case "on": + { + button1.Text = Language.StringByID(StringId.onLogic); + } + break; + case "off": + { + button1.Text = Language.StringByID(StringId.offLogic); + } + break; + } + } + break; + + case "fan": + { + if (button2 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + switch (value) + { + case "high": + { + button2.Text = Language.StringByID(StringId.HighWindSpeed); + } + break; + case "medium": + { + button2.Text = Language.StringByID(StringId.MiddleWindSpeed); + } + break; + case "low": + { + button2.Text = Language.StringByID(StringId.LowWindSpeed); + } + break; + case "auto": + { + button2.Text = Language.StringByID(StringId.Auto); + } + break; + } + + + } + break; + + } + + } + + } + break; + case SPK.SensorGas: + case SPK.SensorSmoke: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + button1.Text = Language.StringByID(StringId.xieluo); + } + else + { + button1.Text = Language.StringByID(StringId.wuxieluo); + } + } + } + break; + case SPK.SensorWater: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + button1.Text = Language.StringByID(StringId.luoshui); + } + else + { + button1.Text = Language.StringByID(StringId.wuluoshui); + } + } + } + break; + case SPK.SensorDryContact: + case SPK.SensorDryContact2: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + } + else + { + button1.Text = Language.StringByID(StringId.offLogic); + } + } + } + break; + case SPK.SensorShanLan: + case SPK.SensorDuiShe: + case SPK.SensorPir: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "true") + { + button1.Text = Language.StringByID(StringId.youren); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + } + } + break; + case SPK.SensorDoorWindow: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "open") + { + button1.Text = Language.StringByID(StringId.kaiqi); + } + else + { + button1.Text = Language.StringByID(StringId.bihe); + } + } + } + break; + case SPK.SensorUtrasonic: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "status": + case "people_status": + { + if (value == "true") + { + button1.Text = Language.StringByID(StringId.youren); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + + + } + break; + case "dismantle": + { + if (value == "true") + { + button1.Text = Language.StringByID(StringId.zaixian); + } + else + { + button1.Text = Language.StringByID(StringId.buzaixian); + } + } + break; + + } + + } + } + break; + case SPK.SenesorMegahealth: + case SPK.SenesorMegahealth2: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "fall") + { + button1.Text = Language.StringByID(StringId.diedao); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + } + } + break; + } } + /// <summary> + /// 鑾峰彇value閿�� + /// </summary> + /// <param name="keyValue"></param> + /// <param name="dicList"></param> + /// <returns></returns> + public static string GetKeyValue(string keyValue, List<Dictionary<string, string>> dicList) + { + + string valueStr = ""; + foreach (var dic in dicList) + { + if (dic["key"] == keyValue) + { + valueStr = dic["value"]; + break; + } + + } + return valueStr; + } + /// <summary> + ///鑾峰彇鑷姩鍖栧悕绉� + /// </summary> + /// <returns> 鏂板缓鑷姩鍖栧懡鍚嶈鍒�</returns> + public static string GetLogicName(Logic logic) + { + + string name = ""; + try + { + //榛樿鍙栫涓�涓潯浠� + Input inputCondition = logic.input[0]; + //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵�� + switch (inputCondition.condition_type) + { + case "1": + { + name = Language.StringByID(StringId.hour) + "-"; + } + break; + case "2": + { + name = Language.StringByID(StringId.timeHorizon) + "-"; + + } + break; + case "3": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.CurrLogicMethod.GetDevice(inputCondition.sid); + name = device.name + "-"; + } + break; + case "10": + { + //鐢╯id鎵惧埌鍦烘櫙锛� + var scene = LogicMethod.CurrLogicMethod.GetSecne(inputCondition.sid); + name = scene.name + "-"; + } + break; + + } + //榛樿鍙栫涓�涓洰鏍� + Output outputTarget = logic.output[0]; + List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>; + //鏄剧ず杈撳嚭鏉′欢鍚勭绫诲瀷鐘舵�� + switch (outputTarget.target_type) + { + case "1": + { + //鐢╯id鎵惧埌璁惧锛� + var device = LogicMethod.CurrLogicMethod.GetDevice(outputTarget.sid); + //鏄剧ず璁惧鍚嶇О + name += device.name; + string stateStr = ""; + //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� + switch (device.spk) + { + case SPK.AirSwitch: + case SPK.LightSwitch: + {//寮�鍏崇伅 + + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + + } + else + { + stateStr = Language.StringByID(StringId.offLogic); + } + } + } + break; + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: + case SPK.LightDimming: + { + string on_off = InpOrOutLogicMethod.GetKeyValue("on_off", dicList); + string brightness = InpOrOutLogicMethod.GetKeyValue("brightness", dicList); + if (on_off == "on" && brightness != "") + { + stateStr = Language.StringByID(StringId.onLogic) + brightness + "%"; + } + else if (on_off == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + } + else if (on_off == "off") + { + stateStr = Language.StringByID(StringId.offLogic); + } + else if (brightness != "") + { + stateStr = brightness + "%"; + } + } + break; + case SPK.CurtainSwitch: + case SPK.CurtainTrietex: + case SPK.CurtainRoller: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (value) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic); + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic); + } + break; + case "stop": + { + stateStr = Language.StringByID(StringId.stop); + } + break; + } + } + } + break; + case SPK.AcStandard: + case SPK.HvacAC: + case SPK.FloorHeatStandard: + case SPK.HvacFloorHeat: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + + } + else if (value == "off") + { + stateStr = Language.StringByID(StringId.offLogic); + } + } + + } + break; + + } + name += stateStr; + } + break; + case "2": + { + //鐢╯id鎵惧埌鍦烘櫙锛� + var scene = LogicMethod.CurrLogicMethod.GetSecne(outputTarget.sid); + name += scene.name; + + } + break; + case "3": + { + //鐢╯id鎵惧埌瀹夐槻锛� + var security = LogicMethod.CurrLogicMethod.GetSecurity(outputTarget.sid); + name += security.name; + + } + break; + } + + if (!MainView.IsGatewayType) + { + name += Language.StringByID(StringId.push); + } + } + catch { } + return name; + } + /// <summary> + /// 寤舵椂鏃堕棿鏂规硶 + /// </summary> + /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param> + /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param> + /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param> + private void Delayed(FrameLayout thisFLayout, Output output, Action<int> action) + { + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + thisFLayout.AddChidren(fLayout); + LogicView.TimeView timePointView = new LogicView.TimeView(); + timePointView.FLayoutView(fLayout); + EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) => + { + //绉婚櫎fLayout鐣岄潰 + fLayout.RemoveFromParent(); + }; + //鍙栨秷鐐瑰嚮浜嬩欢 + timePointView.btnCancel.MouseUpEventHandler += RemovefLayout; + + //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩) + timePointView.mUIPickerView.setNPicker(timePointView.GetmStringList(), timePointView.GetsStringList(), null); + //榛樿鍒濆閫変腑鐘舵�� + timePointView.mUIPickerView.setCurrentItems(0, 5, 0); + //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿 + int timepoint = 5; + + if (output.delay != "0") + { + int intValue = int.Parse(output.delay); + var m = intValue / 60; + var s = intValue % 60; + + string timeValue = m.ToString() + ":" + s.ToString(); + int mIndex = timePointView.GetValueIndex(timeValue, 0, 1, timePointView.GetmIntList()); + int sIndex = timePointView.GetValueIndex(timeValue, 1, 0, timePointView.GetmIntList()); + //鏇存柊鍒濆鐘舵�� + timePointView.mUIPickerView.setCurrentItems(mIndex, sIndex, 0); + timepoint = intValue; + } + + + //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆� + timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) => + { + string minuet = timePointView.GethStringList0()[index1].Split(' ')[0]; + string second = timePointView.GetmStringList()[index2].Split(' ')[0]; + int minuetIntValue = int.Parse(minuet); + int secondIntValue = int.Parse(second); + timepoint = minuetIntValue * 60 + secondIntValue; + }; + //纭畾鐐瑰嚮浜嬩欢 + timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) => + { + if (timepoint == 0) + { + //鎻愮ず + return; + } + fLayout.RemoveFromParent(); + action(timepoint); + }; + } + /// <summary> + /// 鑾峰彇鏃堕棿鏂囨湰鎻忚堪 + /// </summary> + /// <param name="strTimeValue">鏃堕棿鍊硷紙鍗曚綅s绉掞級</param> + /// <returns></returns> + private string GetTimeText(string strTimeValue) + { + var timeValue = int.Parse(strTimeValue); + string state = ""; + var minutes = timeValue / 60; + var seconds = timeValue % 60; + if (minutes != 0) + { + if (seconds == 0) + { + state = minutes.ToString() + Language.StringByID(StringId.minute); + } + else + { + state = minutes.ToString() + Language.StringByID(StringId.minute) + seconds.ToString() + Language.StringByID(StringId.s); + } + } + else + { + if (seconds != 0) + { + state = seconds.ToString() + Language.StringByID(StringId.s); + } + } + if (!string.IsNullOrEmpty(state)) + { + state = Language.StringByID(StringId.delayLogic) + state; + } + return state; + } + /// <summary> + /// 鑾峰彇鏄剧ず闈㈢啛鏂囨湰 + /// </summary> + /// <param name="dicList">鐘舵�佹暟鎹垪琛�</param> + /// <returns></returns> + private string GetText(List<Dictionary<string, string>> dicList, string key) + { + string strtext = ""; + foreach (var dic in dicList) + { + string value = dic["value"]; + string comparator = dic["comparator"]; + switch (key) + { + + case "temperature": + { + if (comparator == ">") + { + strtext = ">" + value + "鈩�"; + } + else if (comparator == "<") + { + strtext = "<" + value + "鈩�"; + } + + } + break; + case "humidity": + { + if (comparator == ">") + { + strtext = ">" + value + "%"; + } + else if (comparator == "<") + { + strtext = "<" + value + "%"; + } + + } + break; + case "co2": + { + strtext = Language.StringByID(StringId.co2) + new PublicInterface { }.GetString("co2", value); + } + break; + case "pm25": + { + strtext = Language.StringByID(StringId.pm25) + new PublicInterface { }.GetString("pm25", value); + } + break; + case "tvoc": + { + strtext = Language.StringByID(StringId.tvoc) + new PublicInterface { }.GetString("tvoc", value); + } + break; + case "hcho": + { + strtext = Language.StringByID(StringId.Formaldehyde) + new PublicInterface { }.GetString("hcho", value); + } + break; + } + } + return strtext; + } + private void SensorView(FrameLayout thisView, Function device, string key, int indexVulae) + { + //杩欎釜璁惧姣旇緝鐗规畩 + ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); + ///褰撳墠鐨勭储寮曞�兼暟鎹璞� + Input inputedit = Logic.currlogic.input[indexVulae]; + ///鐘舵�佸�� + string stateValue = ""; + foreach (var dic in inputedit.condition) + { + string comparator = dic["comparator"]; + stateValue = dic["value"]; + switch (key) + { + + case "temperature": + { + int titleInt = 0; + if (comparator == ">") + { + titleInt = StringId.wendugaoyu; + } + else if (comparator == "<") + { + titleInt = StringId.wendudiyu; + } + conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); + } + break; + case "humidity": + { + int titleInt = 0; + if (comparator == ">") + { + titleInt = StringId.shidugaoyu; + } + else if (comparator == "<") + { + titleInt = StringId.shidudiyu; + } + conditionDeviceFunList.InputBoxAction(device, titleInt, indexVulae, true, stateValue); + } + break; + case "co2": + { + conditionDeviceFunList.PmCo2TvocAction(thisView, device, "co2", StringId.co2, indexVulae, true, stateValue); + } + break; + case "pm25": + { + conditionDeviceFunList.PmCo2TvocAction(thisView, device, "pm25", StringId.pm25, indexVulae, true, stateValue); + } + break; + case "tvoc": + { + conditionDeviceFunList.PmCo2TvocAction(thisView, device, "tvoc", StringId.tvoc, indexVulae, true, stateValue); + } + break; + case "hcho": + { + conditionDeviceFunList.PmCo2TvocAction(thisView, device, "hcho", StringId.Formaldehyde, indexVulae, true, stateValue); + } + break; + } + } + } + } } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs index f38003b..67752df 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs @@ -6,585 +6,598 @@ namespace HDL_ON.UI.UI2.Intelligence.Automation { - public class MainView + public class MainView + { + /// <summary> + /// VerticalRefreshLayout鐖舵帶浠� + /// </summary> + public static FrameLayout automationPage; + /// <summary> + /// 鍔犺浇閫昏緫鍒楄〃鏄剧ず鐣岄潰 + /// </summary> + public static void MainShow() { - /// <summary> - /// VerticalRefreshLayout鐖舵帶浠� - /// </summary> - public static FrameLayout automationPage; - /// <summary> - /// 鍔犺浇閫昏緫鍒楄〃鏄剧ず鐣岄潰 - /// </summary> - public static void MainShow() + automationPage.RemoveAll(); + VerticalRefreshLayout vv = new VerticalRefreshLayout(); + vv.Height = Application.GetRealHeight(667 - 64 - 49);//妯℃嫙楂樺害 + automationPage.AddChidren(vv); + vv.BeginHeaderRefreshingAction += () => + { + //娓呴櫎涔嬪墠鑷姩鍖栧垪琛�; + Logic.LogicList.Clear(); + //鑾峰彇鑷姩鍒楄〃 + GetLogicList(); + //鍒锋柊鑷姩鍖栫晫闈� + MainShow(); + //鍏抽棴鍒锋柊View锛� + vv.EndHeaderRefreshing(); + }; + //鑾峰彇鑷姩鍖栧垪琛� + GetLogicList(); + for (int i = Logic.LogicList.Count - 1; i >= 0; i--)//闄嶅簭鎺掑垪 + //for (int i = 0; i < Logic.LogicList.Count; i++) + { + var currLogic = Logic.LogicList[i]; + ///涓婁笅闂撮殧12鍍忕礌 + vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); + LogicView.SingleLogicView logicView = new LogicView.SingleLogicView(); + vv.AddChidren(logicView.FLayoutView()); + logicView.btnLogicName.Text = currLogic.name; + logicView.btnWeekText.Text = GetCyclicText(currLogic); + logicView.btnclick.MouseUpEventHandler += (sen, e) => { - automationPage.RemoveAll(); - VerticalRefreshLayout vv = new VerticalRefreshLayout(); - vv.Height = Application.GetRealHeight(667 - 64 - 49);//妯℃嫙楂樺害 - automationPage.AddChidren(vv); - vv.BeginHeaderRefreshingAction += () => - { - //娓呴櫎涔嬪墠鑷姩鍖栧垪琛�; - Logic.LogicList.Clear(); - //鑾峰彇鑷姩鍒楄〃 - GetLogicList(); - //鍒锋柊鑷姩鍖栫晫闈� - MainShow(); - //鍏抽棴鍒锋柊View锛� - vv.EndHeaderRefreshing(); - }; - //鑾峰彇鑷姩鍖栧垪琛� - GetLogicList(); - for (int i = Logic.LogicList.Count - 1; i >= 0; i--)//闄嶅簭鎺掑垪 - //for (int i = 0; i < Logic.LogicList.Count; i++) - { - var currLogic = Logic.LogicList[i]; - ///涓婁笅闂撮殧12鍍忕礌 - vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); - LogicView.SingleLogicView logicView = new LogicView.SingleLogicView(); - vv.AddChidren(logicView.FLayoutView()); - logicView.btnLogicName.Text = currLogic.name; - logicView.btnWeekText.Text = GetCyclicText(currLogic); - logicView.btnclick.MouseUpEventHandler += (sen, e) => - { - //Logic.currlogic = currLogic; - //var addLogic = new AddLogic(); - //MainPage.BasePageView.AddChidren(addLogic); - //addLogic.Show(); - //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - new MainView { }.SkipAddLogicPage(currLogic); - }; - //寮�鍏冲浘鏍囩殑鐐瑰嚮浜嬩欢 - logicView.btnSwitchIcon.MouseUpEventHandler += (sender1, e1) => - { - logicView.btnSwitchIcon.IsSelected = !logicView.btnSwitchIcon.IsSelected; - if (logicView.btnSwitchIcon.IsSelected) - { - logicView.btnSwitchIcon.IsSelected = true; - currLogic.enable = "true"; - } - else - { - logicView.btnSwitchIcon.IsSelected = false; - currLogic.enable = "false"; - } - //Send.switchLogic(currLogic); - new System.Threading.Thread(() => - { - try - { - //閫昏緫浣胯兘鐨勫懡浠� - Send.SwitchLogic(currLogic); - - } - catch { } - - }) - { IsBackground = true }.Start(); - }; - GetSelectIcon(logicView.frameLayout, currLogic); - if (i == 0)//闄嶅簭鎺掑垪 - //if (Logic.LogicList.Count - 1 == i) - { - ///鏈�鍚庝竴涓窛绂绘渶搴曢儴12,鐣岄潰鏄剧ず鏁堟灉浣滅敤; - vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); - } - if (currLogic.enable == "true") - { - logicView.btnSwitchIcon.IsSelected = true; - } - else - { - logicView.btnSwitchIcon.IsSelected = false; - } - } - - if (Logic.LogicList.Count == 0) - { - Button btnTipNot = new Button() - { - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(120), - Width = Application.GetRealWidth(180), - Height = Application.GetRealWidth(180), - UnSelectedImagePath = "TipNot.png", - }; - automationPage.AddChidren(btnTipNot); - Button btnTipNotText = new Button() - { - Y = btnTipNot.Bottom + Application.GetRealHeight(16), - Height = Application.GetRealHeight(20), - TextID = StringId.logicnull, - TextAlignment = TextAlignment.Center, - TextSize = LogicView.TextSize.text14, - TextColor = CSS.CSS_Color.textConfirmColor, - }; - automationPage.AddChidren(btnTipNotText); - } - } - /// <summary> - /// 鎸�+璺宠浆鍒伴�昏緫鐣岄潰鐨勬柟娉� - /// </summary> - public void SkipAddLogicPage(Logic logic=null) + //Logic.currlogic = currLogic; + //var addLogic = new AddLogic(); + //MainPage.BasePageView.AddChidren(addLogic); + //addLogic.Show(); + //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + new MainView { }.SkipAddLogicPage(currLogic); + }; + //寮�鍏冲浘鏍囩殑鐐瑰嚮浜嬩欢 + logicView.btnSwitchIcon.MouseUpEventHandler += (sender1, e1) => { - if (logic == null) + logicView.btnSwitchIcon.IsSelected = !logicView.btnSwitchIcon.IsSelected; + if (logicView.btnSwitchIcon.IsSelected) + { + logicView.btnSwitchIcon.IsSelected = true; + currLogic.enable = "true"; + } + else + { + logicView.btnSwitchIcon.IsSelected = false; + currLogic.enable = "false"; + } + //Send.switchLogic(currLogic); + new System.Threading.Thread(() => + { + try { - Logic.currlogic = new Logic(); - } - else { - Logic.currlogic = logic; - } - if (IsGatewayType) - { - var addLogic = new AddLogic(); - MainPage.BasePageView.AddChidren(addLogic); - addLogic.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - } - else - { + //閫昏緫浣胯兘鐨勫懡浠� + Send.SwitchLogic(currLogic); - var onePortAutomation = new OnePortAutomation(); - MainPage.BasePageView.AddChidren(onePortAutomation); - onePortAutomation.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } - } - /// <summary> - ///杩斿洖寰幆鎻忚堪鏂囨湰 - /// </summary> - /// <param name="logic"></param> - public static string GetCyclicText(Logic logic) + catch { } + + }) + { IsBackground = true }.Start(); + }; + GetSelectIcon(logicView.frameLayout, currLogic); + if (i == 0)//闄嶅簭鎺掑垪 + //if (Logic.LogicList.Count - 1 == i) { - - string weekName = ""; - /// (鎵ц涓�娆�:once锛屾瘡澶�:day锛屾瘡鏈�:mon锛屾槦鏈�:week锛屾棩鏈熸:date_to_date) - switch (logic.cycle.type) - { - case "once": - { - weekName = Language.StringByID(StringId.performA); - } - break; - case "day": - { - weekName = Language.StringByID(StringId.days); - } - break; - case "week": - { - - weekName = GetWeekString(logic.cycle.value); - - } - break; - case "mon": - { - weekName = GetMonString(logic.cycle.value); - } - break; - } - return weekName; + ///鏈�鍚庝竴涓窛绂绘渶搴曢儴12,鐣岄潰鏄剧ず鏁堟灉浣滅敤; + vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); } - /// <summary> - /// 杩斿洖鏄熸湡鎻忚堪鏂囨湰 - /// </summary> - /// <param name="weekList"></param> - /// <returns></returns> - public static string GetWeekString(List<string> weekList) + if (currLogic.enable == "true") { - string weekTextName = ""; - if (weekList.Contains("1")) - { - weekTextName += Language.StringByID(StringId.monday) + ","; - } - if (weekList.Contains("2")) - { - weekTextName += Language.StringByID(StringId.tuesday) + ","; - } - if (weekList.Contains("3")) - { - weekTextName += Language.StringByID(StringId.wednesday) + ","; - } - if (weekList.Contains("4")) - { - weekTextName += Language.StringByID(StringId.thursday) + ","; - } - if (weekList.Contains("5")) - { - weekTextName += Language.StringByID(StringId.friday) + ","; - } - if (weekList.Contains("6")) - { - weekTextName += Language.StringByID(StringId.saturday) + ","; - } - if (weekList.Contains("0")) - { - weekTextName += Language.StringByID(StringId.sunday) + ","; - } - if (weekTextName == "") - { - return ""; - } - return weekTextName.TrimEnd(','); + logicView.btnSwitchIcon.IsSelected = true; } - /// <summary> - /// 鑾峰彇姣忔湀鐨勫瓧绗︿覆 - /// </summary> - /// <param name="monList"></param> - /// <returns></returns> - public static string GetMonString(List<string> monList) + else { - string monTextName = Language.StringByID(StringId.monthly); - - for (int i = 1; i < 32; i++) - { - if (monList.Contains(i.ToString())) - { - monTextName += i.ToString() + ","; - } - } - return monTextName.TrimEnd(','); + logicView.btnSwitchIcon.IsSelected = false; } - /// <summary> - /// 鑾峰彇閫昏緫鍒楄〃 - /// </summary> - public static void GetLogicList() + } + + if (Logic.LogicList.Count == 0) + { + Button btnTipNot = new Button() { - if (Logic.LogicList.Count != 0) - { - //鑷姩鍖栧垪琛ㄤ负0鎵嶅幓鑾峰彇鑷姩鍖栧垪琛紱 - return; - } - List<string> logicIdList = new List<string>(); - //鑾峰彇閫昏緫ID鍒楄〃 - var idStr = Send.GetLogicIdList(); - if (idStr.Code == "0" && idStr.Data != null && idStr.Data.ToString() != "") - { - var date = Newtonsoft.Json.JsonConvert.SerializeObject(idStr.Data); - var dateList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<LogicData>>(date); - for (int i = 0; i < dateList.Count; i++) - { - //娣诲姞閫昏緫ID - logicIdList.Add(dateList[i].userLogicId); - } - } - //鑾峰彇鑷姩鍖栧垪琛� - var logicStr = Send.GetLogic(logicIdList); - if (logicStr.Code == "0" && logicStr.Data != null && logicStr.Data.ToString() != "") - { - //鑾峰彇閫昏緫璇︾粏杩斿洖鏄竴涓暟缁�(object绫诲瀷杞崲涓烘暟缁�); - var jArray = JArray.Parse(logicStr.Data.ToString()); - for (int a = 0; a < jArray.Count; a++) - { - var jay = jArray[a]; - //鏁版嵁杩斿簭鍒楀寲涓篖ogic瀵硅薄 - var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); - var logic = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic>(str); - if (logic != null) - { - //鏌ユ壘鏄惁宸茬粡瀛樺湪璇ラ�昏緫 - var if_logic = Logic.LogicList.Find((c) => c.userLogicId == logic.userLogicId); - if (if_logic == null) - { - - Logic newlogic = new Logic(); - newlogic.name = logic.name; - newlogic.userLogicId = logic.userLogicId; - newlogic.sid = logic.sid; - newlogic.relation = logic.relation; - newlogic.enable = logic.enable; - newlogic.cycle = logic.cycle; - for (int i = 0; i < logic.input.Count; i++) - { - if (logic.input[i] == null || string.IsNullOrEmpty(logic.input[i].condition_type)) - { - //闃叉璋冭瘯杞欢涔变紶涓滆タ涓婃潵; - //闃叉鏈夌┖瀵硅薄锛� - //姝e父鎯呭喌涓嬩笉浼氬嚭鐜扮殑鐜拌薄锛� - continue; - } - newlogic.input.Add(logic.input[i]); - } - for (int i = 0; i < logic.output.Count; i++) - { - if (logic.output[i] == null || string.IsNullOrEmpty(logic.output[i].target_type)) - { - //闃叉璋冭瘯杞欢涔变紶涓滆タ涓婃潵; - //闃叉鏈夌┖瀵硅薄锛� - //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛� - continue; - } - newlogic.output.Add(logic.output[i]); - } - newlogic.noticeConfig = logic.noticeConfig; - newlogic.pushConfigs = logic.pushConfigs; - //娣诲姞閫昏緫 - Logic.LogicList.Add(newlogic); - } - } - - } - } - - } - /// <summary> - /// 鍒ゆ柇JObject瀵硅薄鏄瓨鍦ㄥ仴鍊� - /// </summary> - /// <param name="jObject"></param> - /// <param name="key"></param> - /// <returns></returns> - private bool Exist(JObject jObject, string key) + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(120), + Width = Application.GetRealWidth(180), + Height = Application.GetRealWidth(180), + UnSelectedImagePath = "TipNot.png", + }; + automationPage.AddChidren(btnTipNot); + Button btnTipNotText = new Button() { - - if (jObject.Property(key) != null) - { - return true; - } - return false; - } - /// <summary> - /// 鏄剧ず鏉′欢鎴栬�呯洰鏍囩被鍨嬪浘鏍� - /// </summary> - /// <param name="layouFrame">鐖舵帶浠�</param> - /// <param name="logic">褰撳墠鑷姩鍖�</param> - private static void GetSelectIcon(FrameLayout layouFrame, Logic logic) - { - - //閲嶆柊鎺掑垪鍥炬爣搴忓彿 - List<int> iconIntValue = new List<int>(); - iconIntValue.Clear(); - - //1-10(琛ㄧず鏉′欢鍥炬爣)鑷繁灞�閮ㄥ畾涔変负浜嗘樉绀洪�変腑鏉′欢绫诲瀷鍥炬爣 - //1-鏃堕棿鍥炬爣 - //2-鍔熻兘鍥炬爣 - //3-浜戠鍥炬爣 - //4-鍦烘櫙鍥炬爣 - for (int i = 0; i < logic.input.Count; i++) - { - if (logic.input[i] == null) - continue; - var int1 = int.Parse(logic.input[i].condition_type); - int iconInt = 0; - switch (int1) - { - case 1: - case 2: - { - iconInt = 1; - - } - break; - case 3: - { - iconInt = 2; - - } - break; - case 4: - case 6: - case 9: - { - iconInt = 3; - - } - break; - case 10: - { - iconInt = 4; - - } - break; - } - - if (!iconIntValue.Contains(iconInt)) - { - iconIntValue.Add(iconInt); - } - - } - - //鍒嗗壊鏉′欢鍜岀洰鏍囩殑鍥炬爣 - iconIntValue.Add(11); - - //12-20(琛ㄧず鐩爣鍥炬爣)鑷繁灞�閮ㄥ畾涔変负浜嗘樉绀洪�変腑鐩爣绫诲瀷鍥炬爣 - //12-鍔熻兘鍥炬爣 - //13-鍦烘櫙鍥炬爣 - //14-瀹夐槻鍥炬爣 - //14-寤舵椂鍥炬爣 - for (int i = 0; i < logic.output.Count; i++) - { - var int1 = int.Parse(logic.output[i].target_type); - int iconInt = 0; - switch (int1) - { - case 1: - { - iconInt = 12; - - } - break; - case 2: - { - iconInt = 13; - - } - break; - case 3: - { - iconInt = 14; - - } - break; - case 4: - { - iconInt = 15; - - } - break; - } - - if (!iconIntValue.Contains(iconInt)) - { - iconIntValue.Add(iconInt); - } - } - //鍥炬爣鎺т欢鐨勭埗鎺т欢 - FrameLayout frame = new FrameLayout - { - Height = Application.GetRealHeight(40), - Width = Application.GetRealWidth(275), - Y = Application.GetRealHeight(56), - }; - layouFrame.AddChidren(frame); - - - for (int i = 0; i < iconIntValue.Count; i++) - { - //鍥炬爣鎺т欢 - Button btnIcon = new Button - { - Width = Application.GetRealWidth(28), - Height = Application.GetRealWidth(28), - Gravity = Gravity.CenterVertical, - }; - frame.AddChidren(btnIcon); - - if (i == 0) - { - btnIcon.X = Application.GetRealWidth(12); - } - else - { - btnIcon.X = Application.GetRealWidth(12 + (28 + 4) * i); - } - string strIcon = ""; - switch (iconIntValue[i]) - { - - case 1: - { - strIcon = "LogicIcon/selectTheTime.png"; - } - break; - case 2: - { - - strIcon = "LogicIcon/selectTheFun.png"; - } - break; - case 3: - { - - strIcon = "LogicIcon/shiwaitianqi.png"; - } - break; - case 4: - { - - strIcon = "LogicIcon/selectTheScene.png"; - } - break; - case 11: - { - //鍒嗗壊鏉′欢鍜岀洰鏍囩殑鍥炬爣 - strIcon = "LogicIcon/link.png"; - } - break; - case 12: - { - - strIcon = "LogicIcon/selectTheFun.png"; - } - break; - case 13: - { - strIcon = "LogicIcon/selectTheScene.png"; - } - break; - case 14: - { - - strIcon = "LogicIcon/security.png"; - } - break; - case 15: - { - //strIcon = "LogicIcon/timeicon.png"; - - } - break; - - } - btnIcon.UnSelectedImagePath = strIcon; - } - } - /// <summary> - /// 鍒ゆ柇缃戝叧绫诲瀷(0:bus缃戝叧锛�1:A鍗忚缃戝叧) - /// </summary> - /// <returns>true=A鍗忚缃戝叧;false=bus缃戝叧</returns> - public static bool IsGatewayType - { - get - { - if (Entity.DB_ResidenceData.Instance.GatewayType == 1) - { - return true; - } - return false; - } - } + Y = btnTipNot.Bottom + Application.GetRealHeight(16), + Height = Application.GetRealHeight(20), + TextID = StringId.logicnull, + TextAlignment = TextAlignment.Center, + TextSize = LogicView.TextSize.text14, + TextColor = CSS.CSS_Color.textConfirmColor, + }; + automationPage.AddChidren(btnTipNotText); + } } - class LogicData + /// <summary> + /// 鎸�+璺宠浆鍒伴�昏緫鐣岄潰鐨勬柟娉� + /// </summary> + public void SkipAddLogicPage(Logic logic = null) { - /// <summary> - /// 浜戠鍞竴id - /// </summary> - public string userLogicId = ""; - /// <summary> - /// 缃戝叧id - /// </summary> - public string gatewayId = ""; - /// <summary> - /// 閫昏緫鍞竴鏍囪瘑 - /// </summary> - public string sid = ""; - /// <summary> - /// 閫昏緫鍚嶇О - /// </summary> - public string name = ""; - /// <summary> - /// 閫昏緫浣胯兘锛堝紑锛屽叧锛� - /// </summary> - public string enable = ""; - /// <summary> - /// 鍦扮悊鍥存爮閰嶇疆 - /// </summary> - public Fence geo_fence = new Fence(); - } + if (logic == null) + { + Logic.currlogic = new Logic(); + } + else + { + Logic.currlogic = logic; + } + if (IsGatewayType) + { + var addLogic = new AddLogic(); + MainPage.BasePageView.AddChidren(addLogic); + addLogic.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + else + { - class CycleA - { - public string type = ""; - public string[] value; + var onePortAutomation = new OnePortAutomation(); + MainPage.BasePageView.AddChidren(onePortAutomation); + onePortAutomation.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } } + /// <summary> + ///杩斿洖寰幆鎻忚堪鏂囨湰 + /// </summary> + /// <param name="logic"></param> + public static string GetCyclicText(Logic logic) + { + + string weekName = ""; + /// (鎵ц涓�娆�:once锛屾瘡澶�:day锛屾瘡鏈�:mon锛屾槦鏈�:week锛屾棩鏈熸:date_to_date) + switch (logic.cycle.type) + { + case "once": + { + weekName = Language.StringByID(StringId.performA); + } + break; + case "day": + { + weekName = Language.StringByID(StringId.days); + } + break; + case "week": + { + + weekName = GetWeekString(logic.cycle.value); + + } + break; + case "mon": + { + weekName = GetMonString(logic.cycle.value); + } + break; + } + return weekName; + } + /// <summary> + /// 杩斿洖鏄熸湡鎻忚堪鏂囨湰 + /// </summary> + /// <param name="weekList"></param> + /// <returns></returns> + public static string GetWeekString(List<string> weekList) + { + string weekTextName = ""; + if (weekList.Contains("1")) + { + weekTextName += Language.StringByID(StringId.monday) + ","; + } + if (weekList.Contains("2")) + { + weekTextName += Language.StringByID(StringId.tuesday) + ","; + } + if (weekList.Contains("3")) + { + weekTextName += Language.StringByID(StringId.wednesday) + ","; + } + if (weekList.Contains("4")) + { + weekTextName += Language.StringByID(StringId.thursday) + ","; + } + if (weekList.Contains("5")) + { + weekTextName += Language.StringByID(StringId.friday) + ","; + } + if (weekList.Contains("6")) + { + weekTextName += Language.StringByID(StringId.saturday) + ","; + } + if (weekList.Contains("0")) + { + weekTextName += Language.StringByID(StringId.sunday) + ","; + } + if (weekTextName == "") + { + return ""; + } + return weekTextName.TrimEnd(','); + } + /// <summary> + /// 鑾峰彇姣忔湀鐨勫瓧绗︿覆 + /// </summary> + /// <param name="monList"></param> + /// <returns></returns> + public static string GetMonString(List<string> monList) + { + string monTextName = Language.StringByID(StringId.monthly); + + for (int i = 1; i < 32; i++) + { + if (monList.Contains(i.ToString())) + { + monTextName += i.ToString() + ","; + } + } + return monTextName.TrimEnd(','); + } + /// <summary> + /// 鑾峰彇閫昏緫鍒楄〃 + /// </summary> + public static void GetLogicList() + { + if (Logic.LogicList.Count != 0) + { + //鑷姩鍖栧垪琛ㄤ负0鎵嶅幓鑾峰彇鑷姩鍖栧垪琛紱 + return; + } + List<string> logicIdList = new List<string>(); + //鑾峰彇閫昏緫ID鍒楄〃 + var idStr = Send.GetLogicIdList(); + if (idStr.Code == "0" && idStr.Data != null && idStr.Data.ToString() != "") + { + var date = Newtonsoft.Json.JsonConvert.SerializeObject(idStr.Data); + var dateList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<LogicData>>(date); + for (int i = 0; i < dateList.Count; i++) + { + //娣诲姞閫昏緫ID + logicIdList.Add(dateList[i].userLogicId); + } + } + //鑾峰彇鑷姩鍖栧垪琛� + var logicStr = Send.GetLogic(logicIdList); + if (logicStr.Code == "0" && logicStr.Data != null && logicStr.Data.ToString() != "") + { + //鑾峰彇閫昏緫璇︾粏杩斿洖鏄竴涓暟缁�(object绫诲瀷杞崲涓烘暟缁�); + var jArray = JArray.Parse(logicStr.Data.ToString()); + for (int a = 0; a < jArray.Count; a++) + { + var jay = jArray[a]; + //鏁版嵁杩斿簭鍒楀寲涓篖ogic瀵硅薄 + var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); + var logic = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic>(str); + if (logic != null) + { + //鏌ユ壘鏄惁宸茬粡瀛樺湪璇ラ�昏緫 + var if_logic = Logic.LogicList.Find((c) => c.userLogicId == logic.userLogicId); + if (if_logic == null) + { + + Logic newlogic = new Logic(); + newlogic.name = logic.name; + newlogic.userLogicId = logic.userLogicId; + newlogic.sid = logic.sid; + newlogic.relation = logic.relation; + newlogic.enable = logic.enable; + newlogic.cycle = logic.cycle; + for (int i = 0; i < logic.input.Count; i++) + { + if (logic.input[i] == null || string.IsNullOrEmpty(logic.input[i].condition_type)) + { + //闃叉璋冭瘯杞欢涔变紶涓滆タ涓婃潵; + //闃叉鏈夌┖瀵硅薄锛� + //姝e父鎯呭喌涓嬩笉浼氬嚭鐜扮殑鐜拌薄锛� + continue; + } + newlogic.input.Add(logic.input[i]); + } + for (int i = 0; i < logic.output.Count; i++) + { + if (logic.output[i] == null || string.IsNullOrEmpty(logic.output[i].target_type)) + { + //闃叉璋冭瘯杞欢涔变紶涓滆タ涓婃潵; + //闃叉鏈夌┖瀵硅薄锛� + //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛� + continue; + } + newlogic.output.Add(logic.output[i]); + } + newlogic.noticeConfig = logic.noticeConfig; + newlogic.pushConfigs = logic.pushConfigs; + //娣诲姞閫昏緫 + Logic.LogicList.Add(newlogic); + } + } + + } + } + + } + /// <summary> + /// 鍒ゆ柇JObject瀵硅薄鏄瓨鍦ㄥ仴鍊� + /// </summary> + /// <param name="jObject"></param> + /// <param name="key"></param> + /// <returns></returns> + private bool Exist(JObject jObject, string key) + { + + if (jObject.Property(key) != null) + { + return true; + } + return false; + } + /// <summary> + /// 鏄剧ず鏉′欢鎴栬�呯洰鏍囩被鍨嬪浘鏍� + /// </summary> + /// <param name="layouFrame">鐖舵帶浠�</param> + /// <param name="logic">褰撳墠鑷姩鍖�</param> + private static void GetSelectIcon(FrameLayout layouFrame, Logic logic) + { + + //閲嶆柊鎺掑垪鍥炬爣搴忓彿 + List<int> iconIntValue = new List<int>(); + iconIntValue.Clear(); + + //1-10(琛ㄧず鏉′欢鍥炬爣)鑷繁灞�閮ㄥ畾涔変负浜嗘樉绀洪�変腑鏉′欢绫诲瀷鍥炬爣 + //1-鏃堕棿鍥炬爣 + //2-鍔熻兘鍥炬爣 + //3-浜戠鍥炬爣 + //4-鍦烘櫙鍥炬爣 + for (int i = 0; i < logic.input.Count; i++) + { + if (logic.input[i] == null) + continue; + var int1 = int.Parse(logic.input[i].condition_type); + int iconInt = 0; + switch (int1) + { + case 1: + case 2: + { + iconInt = 1; + + } + break; + case 3: + { + iconInt = 2; + + } + break; + case 4: + case 6: + case 9: + { + iconInt = 3; + + } + break; + case 10: + { + iconInt = 4; + + } + break; + case 8: + { + iconInt = 5; + + } + break; + } + + if (!iconIntValue.Contains(iconInt)) + { + iconIntValue.Add(iconInt); + } + + } + + //鍒嗗壊鏉′欢鍜岀洰鏍囩殑鍥炬爣 + iconIntValue.Add(11); + + //12-20(琛ㄧず鐩爣鍥炬爣)鑷繁灞�閮ㄥ畾涔変负浜嗘樉绀洪�変腑鐩爣绫诲瀷鍥炬爣 + //12-鍔熻兘鍥炬爣 + //13-鍦烘櫙鍥炬爣 + //14-瀹夐槻鍥炬爣 + //14-寤舵椂鍥炬爣 + for (int i = 0; i < logic.output.Count; i++) + { + var int1 = int.Parse(logic.output[i].target_type); + int iconInt = 0; + switch (int1) + { + case 1: + { + iconInt = 12; + + } + break; + case 2: + { + iconInt = 13; + + } + break; + case 3: + { + iconInt = 14; + + } + break; + case 4: + { + iconInt = 15; + + } + break; + } + + if (!iconIntValue.Contains(iconInt)) + { + iconIntValue.Add(iconInt); + } + } + //鍥炬爣鎺т欢鐨勭埗鎺т欢 + FrameLayout frame = new FrameLayout + { + Height = Application.GetRealHeight(40), + Width = Application.GetRealWidth(275), + Y = Application.GetRealHeight(56), + }; + layouFrame.AddChidren(frame); + + + for (int i = 0; i < iconIntValue.Count; i++) + { + //鍥炬爣鎺т欢 + Button btnIcon = new Button + { + Width = Application.GetRealWidth(28), + Height = Application.GetRealWidth(28), + Gravity = Gravity.CenterVertical, + }; + frame.AddChidren(btnIcon); + + if (i == 0) + { + btnIcon.X = Application.GetRealWidth(12); + } + else + { + btnIcon.X = Application.GetRealWidth(12 + (28 + 4) * i); + } + string strIcon = ""; + switch (iconIntValue[i]) + { + + case 1: + { + strIcon = "LogicIcon/selectTheTime.png"; + } + break; + case 2: + { + + strIcon = "LogicIcon/selectTheFun.png"; + } + break; + case 3: + { + + strIcon = "LogicIcon/shiwaitianqi.png"; + } + break; + case 4: + { + + strIcon = "LogicIcon/selectTheScene.png"; + } + break; + case 5: + { + + strIcon = "LogicIcon/selectTheautomLocation.png"; + } + break; + case 11: + { + //鍒嗗壊鏉′欢鍜岀洰鏍囩殑鍥炬爣 + strIcon = "LogicIcon/link.png"; + } + break; + case 12: + { + + strIcon = "LogicIcon/selectTheFun.png"; + } + break; + case 13: + { + strIcon = "LogicIcon/selectTheScene.png"; + } + break; + case 14: + { + + strIcon = "LogicIcon/selectTheautomSecurity.png"; + } + break; + case 15: + { + //strIcon = "LogicIcon/timeicon.png"; + + } + break; + + } + btnIcon.UnSelectedImagePath = strIcon; + } + } + /// <summary> + /// 鍒ゆ柇缃戝叧绫诲瀷(0:bus缃戝叧锛�1:A鍗忚缃戝叧) + /// </summary> + /// <returns>true=A鍗忚缃戝叧;false=bus缃戝叧</returns> + public static bool IsGatewayType + { + get + { + if (Entity.DB_ResidenceData.Instance.GatewayType == 1) + { + return true; + } + return false; + } + } + } + class LogicData + { + /// <summary> + /// 浜戠鍞竴id + /// </summary> + public string userLogicId = ""; + /// <summary> + /// 缃戝叧id + /// </summary> + public string gatewayId = ""; + /// <summary> + /// 閫昏緫鍞竴鏍囪瘑 + /// </summary> + public string sid = ""; + /// <summary> + /// 閫昏緫鍚嶇О + /// </summary> + public string name = ""; + /// <summary> + /// 閫昏緫浣胯兘锛堝紑锛屽叧锛� + /// </summary> + public string enable = ""; + /// <summary> + /// 鍦扮悊鍥存爮閰嶇疆 + /// </summary> + public Fence geo_fence = new Fence(); + } + + class CycleA + { + public string type = ""; + public string[] value; + } } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs index 7398574..f1f78e5 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs @@ -3,664 +3,664 @@ using Shared; namespace HDL_ON.UI.UI2.Intelligence.Automation { - public class PublicInterface + public class PublicInterface + { + /// <summary> + /// 鍗曢�夋嫨 + /// </summary> + /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param> + /// <param name="list">鏄剧ず鏁版嵁婧�</param> + /// <param name="titleText"></param> + /// <param name="stateText">涔嬪墠鐘舵�佹枃鏈�</param> + /// <param name="action">杩斿洖鍊�</param> + /// <param name="textSize">鏄剧ず鏂囨湰瀛椾綋澶у皬</param> + public void SingleSelectionShow(FrameLayout frame, List<string> list, string titleText, string stateText, Action<string> action, int textSize = LogicView.TextSize.text14) { - /// <summary> - /// 鍗曢�夋嫨 - /// </summary> - /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param> - /// <param name="list">鏄剧ず鏁版嵁婧�</param> - /// <param name="titleText"></param> - /// <param name="stateText">涔嬪墠鐘舵�佹枃鏈�</param> - /// <param name="action">杩斿洖鍊�</param> - /// <param name="textSize">鏄剧ず鏂囨湰瀛椾綋澶у皬</param> - public void SingleSelectionShow(FrameLayout frame, List<string> list, string titleText, string stateText, Action<string> action, int textSize = LogicView.TextSize.text14) + if (list == null) + { + return; + } + FrameLayout frameLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + frame.AddChidren(frameLayout); + + LogicView.DateView view = new LogicView.DateView(); + view.btnTitle.Text = titleText; + view.FLayoutView(frameLayout, list.Count); + view.btnCancel.MouseUpEventHandler += (sender, e) => + { + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + }; + ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵�� + Button checkBtn = new Button + { + Tag = "unknown", + }; + for (int i = 0; i < list.Count; i++) + { + string str = list[i]; + LogicView.CheckView checkView = new LogicView.CheckView(); + checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); + checkView.btnText.TextSize = textSize; + view.frameLayout.AddChidren(checkView.FLayoutView()); + checkView.btnText.Text = str; + checkView.btnClick.Tag = str;//鏍囪 + + if (stateText == str) { - if (list == null) + //鏄剧ず涔嬪墠鐨勯�変腑鐘舵�� + checkBtn.IsSelected = false; + checkView.btnCheckIcon.IsSelected = true; + checkBtn = checkView.btnCheckIcon; + checkBtn.Tag = checkView.btnClick.Tag.ToString(); + } + //鐐瑰嚮浜嬩欢 + checkView.btnClick.MouseUpEventHandler += (sender1, e1) => + { + checkBtn.IsSelected = false; + checkView.btnCheckIcon.IsSelected = true; + checkBtn = checkView.btnCheckIcon; + checkBtn.Tag = checkView.btnClick.Tag.ToString(); + }; + + } + view.btnConfirm.MouseUpEventHandler += (sender1, e1) => + { + if (checkBtn.Tag.ToString() == "unknown") + { + return; + } + action(checkBtn.Tag.ToString()); + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + }; + + } + + /// <summary> + /// 澶氶�夋嫨 + /// </summary> + /// <param name="frameLayout">鐖舵帶浠�</param> + /// <param name="list">鏄剧ず鏁版嵁婧�</param> + /// <param name="titleText"></param> + /// <param name="stateTextList">涔嬪墠鐘舵�佹枃鏈�</param> + /// <param name="action">杩斿洖鍊�</param> + /// <param name="textSize">鏄剧ず鏂囨湰瀛椾綋澶у皬</param> + public void MultiSelectShow(FrameLayout frameLayout, List<string> list, string titleText, List<string> stateTextList, Action<List<string>> action, int textSize = LogicView.TextSize.text14) + { + LogicView.DateView view = new LogicView.DateView(); + view.btnTitle.Text = titleText; + view.FLayoutView(frameLayout, list.Count); + view.btnCancel.MouseUpEventHandler += (sender, e) => + { + //绉婚櫎fLayout鐣岄潰 + view.frameLayout.RemoveFromParent(); + }; + for (int i = 0; i < list.Count; i++) + { + string str = list[i]; + LogicView.CheckView checkView = new LogicView.CheckView(); + checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); + checkView.btnText.TextSize = textSize; + view.frameLayout.AddChidren(checkView.FLayoutView()); + checkView.btnText.Text = str; + checkView.btnClick.Tag = str;//鏍囪 + + if (stateTextList.Contains(str)) + { + //鏄剧ず涔嬪墠鐨勯�変腑鐘舵�� + checkView.btnCheckIcon.IsSelected = true; + } + //鐐瑰嚮浜嬩欢 + checkView.btnClick.MouseUpEventHandler += (sender1, e1) => + { + + string clickIndex = checkView.btnClick.Tag.ToString(); + checkView.btnClick.IsSelected = !checkView.btnClick.IsSelected; + if (checkView.btnClick.IsSelected) + { + checkView.btnCheckIcon.IsSelected = true; + if (!stateTextList.Contains(clickIndex)) { + //娣诲姞閫変腑鏁版嵁 + stateTextList.Add(clickIndex); + } + } + else + { + checkView.btnCheckIcon.IsSelected = false; + if (stateTextList.Contains(clickIndex)) + { + //绉婚櫎閫変腑鏁版嵁 + stateTextList.Remove(clickIndex); + } + } + + }; + + } + view.btnConfirm.MouseUpEventHandler += (sender1, e1) => + { + if (stateTextList.Count == 0) + { + return; + } + action(stateTextList); + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + }; + + } + + /// <summary> + /// 鏈�-澶氶�夋嫨 + /// </summary> + /// <param name="frameLayout">鐖舵帶浠�</param> + /// <param name="action">鏄剧ず鏂囨湰瀛椾綋澶у皬</param> + public void MonSelectShow(FrameLayout frameLayout, Logic logic, Action<List<string>> action) + { + LogicView.MonView monView = new LogicView.MonView(); + monView.btnTitle.TextID = StringId.monthly; + monView.FLayoutView(frameLayout); + monView.btnCancel.MouseUpEventHandler += (sender, e) => + { + monView.frameLayout.RemoveFromParent(); + }; + //瀹氫箟涓�涓眬閮╩onList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁; + List<string> monList = new List<string>(); + if (logic.cycle.type == "mon") + { + //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹� + monList.AddRange(logic.cycle.value); + } + //瀹氫箟涓�涓彉閲忚褰曡鏁� + int lineSun = 0; + for (int i = 1; i < 32; i++) + { + Button monTextBtn = new Button + { + Width = Application.GetRealWidth(30), + Height = Application.GetRealWidth(30), + Radius = (uint)Application.GetRealWidth(15), + Text = i.ToString(), + TextSize = LogicView.TextSize.text14, + TextColor = CSS.CSS_Color.textColor, + SelectedTextColor = CSS.CSS_Color.view, + SelectedBackgroundColor = CSS.CSS_Color.textConfirmColor, + BackgroundColor = CSS.CSS_Color.viewTranslucence, + Tag = i, + }; + monView.frameLayout.AddChidren(monTextBtn); + if (lineSun > 0) + { + monTextBtn.X = Application.GetRealWidth(16 + ((i - 1) - lineSun * 7) * 46); + } + else + { + + monTextBtn.X = Application.GetRealWidth(16 + (i - 1) * 46); + } + monTextBtn.Y = Application.GetRealWidth(58 + 10 + lineSun * (30 + 10)); + + if (i % 7 == 0) + { + //涓�瀹氭墽琛屽畬鍐嶅垽鏂槸鍚﹁鎹㈣. + lineSun = lineSun + 1; + + } + monTextBtn.MouseUpEventHandler += (sender, e) => + { + string clickIndex = monTextBtn.Tag.ToString(); + monTextBtn.IsSelected = !monTextBtn.IsSelected; + if (monTextBtn.IsSelected) + { + monTextBtn.IsSelected = true; + if (!monList.Contains(clickIndex)) + { + //娣诲姞閫変腑鏁版嵁 + monList.Add(clickIndex); + } + } + else + { + monTextBtn.IsSelected = false; + if (monList.Contains(clickIndex)) + { + //绉婚櫎閫変腑鏁版嵁 + monList.Remove(clickIndex); + } + } + }; + + if (monList.Contains(i.ToString())) + { + monTextBtn.IsSelected = true; + } + } + //纭畾鐐瑰嚮浜嬩欢 + monView.btnConfirm.MouseUpEventHandler += (sender1, e1) => + { + if (monList.Count == 0) + { + //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡 return; - } - FrameLayout frameLayout = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - frame.AddChidren(frameLayout); - - LogicView.DateView view = new LogicView.DateView(); - view.btnTitle.Text = titleText; - view.FLayoutView(frameLayout, list.Count); - view.btnCancel.MouseUpEventHandler += (sender, e) => - { - //绉婚櫎fLayout鐣岄潰 - frameLayout.RemoveFromParent(); - }; - ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵�� - Button checkBtn = new Button - { - Tag = "unknown", - }; - for (int i = 0; i < list.Count; i++) - { - string str = list[i]; - LogicView.CheckView checkView = new LogicView.CheckView(); - checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); - checkView.btnText.TextSize = textSize; - view.frameLayout.AddChidren(checkView.FLayoutView()); - checkView.btnText.Text = str; - checkView.btnClick.Tag = str;//鏍囪 - - if (stateText == str) - { - //鏄剧ず涔嬪墠鐨勯�変腑鐘舵�� - checkBtn.IsSelected = false; - checkView.btnCheckIcon.IsSelected = true; - checkBtn = checkView.btnCheckIcon; - checkBtn.Tag = checkView.btnClick.Tag.ToString(); - } - //鐐瑰嚮浜嬩欢 - checkView.btnClick.MouseUpEventHandler += (sender1, e1) => - { - checkBtn.IsSelected = false; - checkView.btnCheckIcon.IsSelected = true; - checkBtn = checkView.btnCheckIcon; - checkBtn.Tag = checkView.btnClick.Tag.ToString(); - }; - - } - view.btnConfirm.MouseUpEventHandler += (sender1, e1) => - { - if (checkBtn.Tag.ToString() == "unknown") - { - return; - } - action(checkBtn.Tag.ToString()); - //绉婚櫎fLayout鐣岄潰 - frameLayout.RemoveFromParent(); - }; - } - /// <summary> - /// 澶氶�夋嫨 - /// </summary> - /// <param name="frameLayout">鐖舵帶浠�</param> - /// <param name="list">鏄剧ず鏁版嵁婧�</param> - /// <param name="titleText"></param> - /// <param name="stateTextList">涔嬪墠鐘舵�佹枃鏈�</param> - /// <param name="action">杩斿洖鍊�</param> - /// <param name="textSize">鏄剧ず鏂囨湰瀛椾綋澶у皬</param> - public void MultiSelectShow(FrameLayout frameLayout, List<string> list, string titleText, List<string> stateTextList, Action<List<string>> action, int textSize = LogicView.TextSize.text14) + + action(monList); + frameLayout.RemoveFromParent(); + }; + + } + + /// <summary> + /// 瓒呭嚭5涓厓绱犺鐢ㄦ粦鍔ㄦ帶浠� + /// </summary> + /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param> + /// <param name="list">鏄剧ず鏁版嵁婧�</param> + /// <param name="titleText">鏍囬</param> + /// <param name="action">杩斿洖鍊肩储寮曞��</param> + public void FrameOrVv(FrameLayout frame, List<string> list, List<string> stateList, int titleText, Action<int> action) + { + + int line = 0; + if (list.Count == 0 || list.Count > 5) + { + //瓒呭嚭5涓彧鑳介粯璁�5涓�; + line = 5; + } + else + { + line = list.Count; + } + + FrameLayout frameLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + frame.AddChidren(frameLayout); + + LogicView.DateView view = new LogicView.DateView(); + view.btnTitle.TextID = titleText; + view.FLayoutView(frameLayout, line); + view.btnCancel.MouseUpEventHandler += (sender, e) => + { + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + }; + //灏忎簬5浣跨敤 + FrameLayout frameL = new FrameLayout + { + Y = Application.GetRealHeight(56), + Height = Application.GetRealHeight(50 * line), + }; + //澶т簬5浣跨敤 + VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout + { + Y = Application.GetRealHeight(56), + Height = Application.GetRealHeight(50 * 5), + + }; + verticalRefresh.BeginHeaderRefreshingAction += () => + { + //鍏抽棴鍒锋柊View锛� + verticalRefresh.EndHeaderRefreshing(); + }; + + if (list.Count == 0) + { + Button btnTipNot = new Button { - LogicView.DateView view = new LogicView.DateView(); - view.btnTitle.Text = titleText; - view.FLayoutView(frameLayout, list.Count); - view.btnCancel.MouseUpEventHandler += (sender, e) => - { - //绉婚櫎fLayout鐣岄潰 - view.frameLayout.RemoveFromParent(); - }; - for (int i = 0; i < list.Count; i++) - { - string str = list[i]; - LogicView.CheckView checkView = new LogicView.CheckView(); - checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); - checkView.btnText.TextSize = textSize; - view.frameLayout.AddChidren(checkView.FLayoutView()); - checkView.btnText.Text = str; - checkView.btnClick.Tag = str;//鏍囪 + X = Application.GetRealWidth(93), + Y = Application.GetRealHeight(80), + Width = Application.GetRealWidth(158), + Height = Application.GetRealWidth(158), + UnSelectedImagePath = "TipNot.png", - if (stateTextList.Contains(str)) - { - //鏄剧ず涔嬪墠鐨勯�変腑鐘舵�� - checkView.btnCheckIcon.IsSelected = true; - } - //鐐瑰嚮浜嬩欢 - checkView.btnClick.MouseUpEventHandler += (sender1, e1) => - { + }; + view.frameLayout.AddChidren(btnTipNot); - string clickIndex = checkView.btnClick.Tag.ToString(); - checkView.btnClick.IsSelected = !checkView.btnClick.IsSelected; - if (checkView.btnClick.IsSelected) - { - checkView.btnCheckIcon.IsSelected = true; - if (!stateTextList.Contains(clickIndex)) - { - //娣诲姞閫変腑鏁版嵁 - stateTextList.Add(clickIndex); - } - } - else - { - checkView.btnCheckIcon.IsSelected = false; - if (stateTextList.Contains(clickIndex)) - { - //绉婚櫎閫変腑鏁版嵁 - stateTextList.Remove(clickIndex); - } - } + Button btnTipNotText = new Button() + { + Y = btnTipNot.Bottom + Application.GetRealHeight(16), + Height = Application.GetRealHeight(20), + TextID = StringId.secnenull, + TextColor = CSS.CSS_Color.textColor, + TextSize = LogicView.TextSize.text14, + TextAlignment = TextAlignment.Center, + }; + view.frameLayout.AddChidren(btnTipNotText); + } + else if (list.Count > 0 && list.Count <= 5) + { + view.frameLayout.AddChidren(frameL); + } + else if (list.Count > 5) + { + view.frameLayout.AddChidren(verticalRefresh); - }; - - } - view.btnConfirm.MouseUpEventHandler += (sender1, e1) => - { - if (stateTextList.Count == 0) - { - return; - } - action(stateTextList); - //绉婚櫎fLayout鐣岄潰 - frameLayout.RemoveFromParent(); - }; - + } + ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵�� + Button checkBtn = new Button + { + Tag = "unknown", + }; + for (int i = 0; i < list.Count; i++) + { + string strName = list[i]; + LogicView.CheckView checkView = new LogicView.CheckView(); + checkView.btnText.TextSize = LogicView.TextSize.text14; + if (list.Count <= 5) + { + checkView.frameLayout.Y = Application.GetRealWidth(i * 50); + frameL.AddChidren(checkView.FLayoutView()); + if (line - 1 == i) + { + checkView.btnLine.BackgroundColor = CSS.CSS_Color.view; + } + } + else + { + verticalRefresh.AddChidren(checkView.FLayoutView()); } - /// <summary> - /// 鏈�-澶氶�夋嫨 - /// </summary> - /// <param name="frameLayout">鐖舵帶浠�</param> - /// <param name="action">鏄剧ず鏂囨湰瀛椾綋澶у皬</param> - public void MonSelectShow(FrameLayout frameLayout, Logic logic, Action<List<string>> action) + if (stateList.Contains(strName)) { - LogicView.MonView monView = new LogicView.MonView(); - monView.btnTitle.TextID = StringId.monthly; - monView.FLayoutView(frameLayout); - monView.btnCancel.MouseUpEventHandler += (sender, e) => - { - monView.frameLayout.RemoveFromParent(); - }; - //瀹氫箟涓�涓眬閮╩onList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁; - List<string> monList = new List<string>(); - if (logic.cycle.type == "mon") - { - //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹� - monList.AddRange(logic.cycle.value); - } - //瀹氫箟涓�涓彉閲忚褰曡鏁� - int lineSun = 0; - for (int i = 1; i < 32; i++) - { - Button monTextBtn = new Button - { - Width = Application.GetRealWidth(30), - Height = Application.GetRealWidth(30), - Radius = (uint)Application.GetRealWidth(15), - Text = i.ToString(), - TextSize = LogicView.TextSize.text14, - TextColor = CSS.CSS_Color.textColor, - SelectedTextColor = CSS.CSS_Color.view, - SelectedBackgroundColor = CSS.CSS_Color.textConfirmColor, - BackgroundColor = CSS.CSS_Color.viewTranslucence, - Tag = i, - }; - monView.frameLayout.AddChidren(monTextBtn); - if (lineSun > 0) - { - monTextBtn.X = Application.GetRealWidth(16 + ((i - 1) - lineSun * 7) * 46); - } - else - { - - monTextBtn.X = Application.GetRealWidth(16 + (i - 1) * 46); - } - monTextBtn.Y = Application.GetRealWidth(58 + 10 + lineSun * (30 + 10)); - - if (i % 7 == 0) - { - //涓�瀹氭墽琛屽畬鍐嶅垽鏂槸鍚﹁鎹㈣. - lineSun = lineSun + 1; - - } - monTextBtn.MouseUpEventHandler += (sender, e) => - { - string clickIndex = monTextBtn.Tag.ToString(); - monTextBtn.IsSelected = !monTextBtn.IsSelected; - if (monTextBtn.IsSelected) - { - monTextBtn.IsSelected = true; - if (!monList.Contains(clickIndex)) - { - //娣诲姞閫変腑鏁版嵁 - monList.Add(clickIndex); - } - } - else - { - monTextBtn.IsSelected = false; - if (monList.Contains(clickIndex)) - { - //绉婚櫎閫変腑鏁版嵁 - monList.Remove(clickIndex); - } - } - }; - - if (monList.Contains(i.ToString())) - { - monTextBtn.IsSelected = true; - } - } - //纭畾鐐瑰嚮浜嬩欢 - monView.btnConfirm.MouseUpEventHandler += (sender1, e1) => - { - if (monList.Count == 0) - { - //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡 - return; - } - - - action(monList); - frameLayout.RemoveFromParent(); - }; - + checkView.btnCheckIcon.IsSelected = true; } - - /// <summary> - /// 瓒呭嚭5涓厓绱犺鐢ㄦ粦鍔ㄦ帶浠� - /// </summary> - /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param> - /// <param name="list">鏄剧ず鏁版嵁婧�</param> - /// <param name="titleText">鏍囬</param> - /// <param name="action">杩斿洖鍊肩储寮曞��</param> - public void FrameOrVv(FrameLayout frame, List<string> list, List<string> stateList, int titleText, Action<int> action) + checkView.btnText.Text = strName; + checkView.btnClick.Tag = i;//鏍囪 + //鐐瑰嚮浜嬩欢 + checkView.btnClick.MouseUpEventHandler += (sender1, e1) => { + checkBtn.IsSelected = false; + checkView.btnCheckIcon.IsSelected = true; + checkBtn = checkView.btnCheckIcon; + checkBtn.Tag = checkView.btnClick.Tag.ToString(); + }; - int line = 0; - if (list.Count == 0 || list.Count > 5) - { - //瓒呭嚭5涓彧鑳介粯璁�5涓�; - line = 5; - } - else - { - line = list.Count; - } - - FrameLayout frameLayout = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - frame.AddChidren(frameLayout); - - LogicView.DateView view = new LogicView.DateView(); - view.btnTitle.TextID = titleText; - view.FLayoutView(frameLayout, line); - view.btnCancel.MouseUpEventHandler += (sender, e) => - { - //绉婚櫎fLayout鐣岄潰 - frameLayout.RemoveFromParent(); - }; - //灏忎簬5浣跨敤 - FrameLayout frameL = new FrameLayout - { - Y = Application.GetRealHeight(56), - Height = Application.GetRealHeight(50 * line), - }; - //澶т簬5浣跨敤 - VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout - { - Y = Application.GetRealHeight(56), - Height = Application.GetRealHeight(50 * 5), - - }; - verticalRefresh.BeginHeaderRefreshingAction += () => - { - //鍏抽棴鍒锋柊View锛� - verticalRefresh.EndHeaderRefreshing(); - }; - - if (list.Count == 0) - { - Button btnTipNot = new Button - { - X = Application.GetRealWidth(93), - Y = Application.GetRealHeight(80), - Width = Application.GetRealWidth(158), - Height = Application.GetRealWidth(158), - UnSelectedImagePath = "TipNot.png", - - }; - view.frameLayout.AddChidren(btnTipNot); - - Button btnTipNotText = new Button() - { - Y = btnTipNot.Bottom + Application.GetRealHeight(16), - Height = Application.GetRealHeight(20), - TextID = StringId.secnenull, - TextColor = CSS.CSS_Color.textColor, - TextSize = LogicView.TextSize.text14, - TextAlignment = TextAlignment.Center, - }; - view.frameLayout.AddChidren(btnTipNotText); - } - else if (list.Count > 0 && list.Count <= 5) - { - view.frameLayout.AddChidren(frameL); - } - else if (list.Count > 5) - { - view.frameLayout.AddChidren(verticalRefresh); - - } - ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵�� - Button checkBtn = new Button - { - Tag = "unknown", - }; - for (int i = 0; i < list.Count; i++) - { - string strName = list[i]; - LogicView.CheckView checkView = new LogicView.CheckView(); - checkView.btnText.TextSize = LogicView.TextSize.text14; - if (list.Count <= 5) - { - checkView.frameLayout.Y = Application.GetRealWidth(i * 50); - frameL.AddChidren(checkView.FLayoutView()); - if (line - 1 == i) - { - checkView.btnLine.BackgroundColor = CSS.CSS_Color.view; - } - } - else - { - verticalRefresh.AddChidren(checkView.FLayoutView()); - } - - if (stateList.Contains(strName)) - { - checkView.btnCheckIcon.IsSelected = true; - } - checkView.btnText.Text = strName; - checkView.btnClick.Tag = i;//鏍囪 - //鐐瑰嚮浜嬩欢 - checkView.btnClick.MouseUpEventHandler += (sender1, e1) => - { - checkBtn.IsSelected = false; - checkView.btnCheckIcon.IsSelected = true; - checkBtn = checkView.btnCheckIcon; - checkBtn.Tag = checkView.btnClick.Tag.ToString(); - }; - - } - view.btnConfirm.MouseUpEventHandler += (sender1, e1) => - { - if (checkBtn.Tag.ToString() == "unknown") - { - return; - } - //鍒楄〃绱㈠紩鍊� - int indexValue = int.Parse(checkBtn.Tag.ToString()); - action(indexValue); - //绉婚櫎fLayout鐣岄潰 - frameLayout.RemoveFromParent(); - }; - - } - /// <summary> - /// 瓒呭嚭5涓厓绱犺鐢ㄦ粦鍔ㄦ帶浠� - /// </summary> - /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param> - /// <param name="list">鏄剧ず鏁版嵁婧�</param> - /// <param name="stateList">涔嬪墠鐘舵�佹暟鎹簮</param> - /// <param name="titleText">鏍囬</param> - /// <param name="action">杩斿洖鍊煎垪琛�</param> - public void FrameOrVvList(FrameLayout frame, List<string> list, List<string> stateList, int titleText, Action<List<string>> action) + } + view.btnConfirm.MouseUpEventHandler += (sender1, e1) => + { + if (checkBtn.Tag.ToString() == "unknown") { - - int line = 0; - if (list.Count == 0 || list.Count > 5) - { - //瓒呭嚭5涓彧鑳介粯璁�5涓�; - line = 5; - } - else - { - line = list.Count; - } - - FrameLayout frameLayout = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - frame.AddChidren(frameLayout); - - LogicView.DateView view = new LogicView.DateView(); - view.btnTitle.TextID = titleText; - view.FLayoutView(frameLayout, line); - view.btnCancel.MouseUpEventHandler += (sender, e) => - { - //绉婚櫎fLayout鐣岄潰 - frameLayout.RemoveFromParent(); - }; - //灏忎簬5浣跨敤 - FrameLayout frameL = new FrameLayout - { - Y = Application.GetRealHeight(56), - Height = Application.GetRealHeight(50 * line), - }; - //澶т簬5浣跨敤 - VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout - { - Y = Application.GetRealHeight(56), - Height = Application.GetRealHeight(50 * 5), - - }; - verticalRefresh.BeginHeaderRefreshingAction += () => - { - //鍏抽棴鍒锋柊View锛� - verticalRefresh.EndHeaderRefreshing(); - }; - - if (list.Count == 0) - { - //Button btnTipNot = new Button - //{ - // X = Application.GetRealWidth(93), - // Y = Application.GetRealHeight(80), - // Width = Application.GetRealWidth(158), - // Height = Application.GetRealWidth(158), - // UnSelectedImagePath = "TipNot.png", - - //}; - //view.frameLayout.AddChidren(btnTipNot); - - //Button btnTipNotText = new Button() - //{ - // Y = btnTipNot.Bottom + Application.GetRealHeight(16), - // Height = Application.GetRealHeight(20), - // TextID = StringId.secnenull, - // TextColor = CSS.CSS_Color.textColor, - // TextSize = LogicView.TextSize.text14, - // TextAlignment = TextAlignment.Center, - //}; - //view.frameLayout.AddChidren(btnTipNotText); - } - else if (list.Count > 0 && list.Count <= 5) - { - view.frameLayout.AddChidren(frameL); - } - else if (list.Count > 5) - { - view.frameLayout.AddChidren(verticalRefresh); - - } - List<string> selecetdList = new List<string>(); - for (int i = 0; i < list.Count; i++) - { - string strName = list[i]; - LogicView.CheckView checkView = new LogicView.CheckView(); - checkView.btnText.TextSize = LogicView.TextSize.text14; - if (list.Count <= 5) - { - checkView.frameLayout.Y = Application.GetRealWidth(i * 50); - frameL.AddChidren(checkView.FLayoutView()); - if (line - 1 == i) - { - checkView.btnLine.BackgroundColor = CSS.CSS_Color.view; - } - } - else - { - verticalRefresh.AddChidren(checkView.FLayoutView()); - } - if (stateList.Contains(strName)) - { - checkView.btnClick.IsSelected = true; - checkView.btnCheckIcon.IsSelected = true; - selecetdList.Add(strName); - } - checkView.btnText.Text = strName; - checkView.btnClick.Tag = strName;//鏍囪 - //鐐瑰嚮浜嬩欢 - checkView.btnClick.MouseUpEventHandler += (sender1, e1) => - { - checkView.btnClick.IsSelected = !checkView.btnClick.IsSelected; - checkView.btnCheckIcon.IsSelected = checkView.btnClick.IsSelected; - if (checkView.btnClick.IsSelected) - { - if (!selecetdList.Contains(checkView.btnClick.Tag.ToString())) - { - selecetdList.Add(checkView.btnClick.Tag.ToString()); - } - - } - else - { - if (selecetdList.Contains(checkView.btnClick.Tag.ToString())) - { - selecetdList.Remove(checkView.btnClick.Tag.ToString()); - } - } - }; - - } - view.btnConfirm.MouseUpEventHandler += (sender1, e1) => - { - if (selecetdList.Count == 0) - { - return; - } - //鍒楄〃绱㈠紩鍊� - action(selecetdList); - //绉婚櫎fLayout鐣岄潰 - frameLayout.RemoveFromParent(); - }; - + return; } + //鍒楄〃绱㈠紩鍊� + int indexValue = int.Parse(checkBtn.Tag.ToString()); + action(indexValue); + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + }; - /// <summary> - /// 娓╂箍搴︾粍鍚堢晫闈� - /// </summary> - /// <param name="frameLayout">鐖舵帶浠�</param> - /// <param name="text1">鏍囬鏂囨湰1</param> - /// <param name="text2">鏍囬鏂囨湰2</param> - /// <param name="action">鍥炶皟鍑芥暟</param> - public void ViewZuHe(FrameLayout frameLayout, int text1, int text2, Action<int, FrameLayout> action) + } + /// <summary> + /// 瓒呭嚭5涓厓绱犺鐢ㄦ粦鍔ㄦ帶浠� + /// </summary> + /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param> + /// <param name="list">鏄剧ず鏁版嵁婧�</param> + /// <param name="stateList">涔嬪墠鐘舵�佹暟鎹簮</param> + /// <param name="titleText">鏍囬</param> + /// <param name="action">杩斿洖鍊煎垪琛�</param> + public void FrameOrVvList(FrameLayout frame, List<string> list, List<string> stateList, int titleText, Action<List<string>> action) + { + + int line = 0; + if (list.Count == 0 || list.Count > 5) + { + //瓒呭嚭5涓彧鑳介粯璁�5涓�; + line = 5; + } + else + { + line = list.Count; + } + + FrameLayout frameLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + frame.AddChidren(frameLayout); + + LogicView.DateView view = new LogicView.DateView(); + view.btnTitle.TextID = titleText; + view.FLayoutView(frameLayout, line); + view.btnCancel.MouseUpEventHandler += (sender, e) => + { + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + }; + //灏忎簬5浣跨敤 + FrameLayout frameL = new FrameLayout + { + Y = Application.GetRealHeight(56), + Height = Application.GetRealHeight(50 * line), + }; + //澶т簬5浣跨敤 + VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout + { + Y = Application.GetRealHeight(56), + Height = Application.GetRealHeight(50 * 5), + + }; + verticalRefresh.BeginHeaderRefreshingAction += () => + { + //鍏抽棴鍒锋柊View锛� + verticalRefresh.EndHeaderRefreshing(); + }; + + if (list.Count == 0) + { + //Button btnTipNot = new Button + //{ + // X = Application.GetRealWidth(93), + // Y = Application.GetRealHeight(80), + // Width = Application.GetRealWidth(158), + // Height = Application.GetRealWidth(158), + // UnSelectedImagePath = "TipNot.png", + + //}; + //view.frameLayout.AddChidren(btnTipNot); + + //Button btnTipNotText = new Button() + //{ + // Y = btnTipNot.Bottom + Application.GetRealHeight(16), + // Height = Application.GetRealHeight(20), + // TextID = StringId.secnenull, + // TextColor = CSS.CSS_Color.textColor, + // TextSize = LogicView.TextSize.text14, + // TextAlignment = TextAlignment.Center, + //}; + //view.frameLayout.AddChidren(btnTipNotText); + } + else if (list.Count > 0 && list.Count <= 5) + { + view.frameLayout.AddChidren(frameL); + } + else if (list.Count > 5) + { + view.frameLayout.AddChidren(verticalRefresh); + + } + List<string> selecetdList = new List<string>(); + for (int i = 0; i < list.Count; i++) + { + string strName = list[i]; + LogicView.CheckView checkView = new LogicView.CheckView(); + checkView.btnText.TextSize = LogicView.TextSize.text14; + if (list.Count <= 5) { - - FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewMiddle }; - frameLayout.AddChidren(frame); - LogicView.TopView topView = new LogicView.TopView(); - topView.topNameBtn.TextID = StringId.wendu; - frame.AddChidren(topView.FLayoutView()); - topView.clickBackBtn.MouseUpEventHandler += (e, sen) => - { - frame.RemoveFromParent(); - }; - FrameLayout viewLayout = new FrameLayout - { - Y = Application.GetRealHeight(64), - Width = Application.GetRealWidth(LogicView.TextSize.view375), - Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64), - BackgroundColor = CSS.CSS_Color.viewMiddle, - }; - frame.AddChidren(viewLayout); - - //娓�,婀垮害楂樹簬 - LogicView.SelectTypeView temperaturehigherView = new LogicView.SelectTypeView(); - temperaturehigherView.btnIcon.Visible = false; - temperaturehigherView.btnText.X = Application.GetRealWidth(16); - temperaturehigherView.btnLine.X = Application.GetRealWidth(16); - temperaturehigherView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); - temperaturehigherView.btnText.TextID = text1; - viewLayout.AddChidren(temperaturehigherView.FLayoutView()); - //娓�,婀垮害浣庝簬 - LogicView.SelectTypeView temperatureunderView = new LogicView.SelectTypeView(); - temperatureunderView.frameLayout.Y = temperaturehigherView.frameLayout.Bottom; - temperatureunderView.btnIcon.Visible = false; - temperatureunderView.btnText.X = Application.GetRealWidth(16); - temperatureunderView.btnLine.X = Application.GetRealWidth(16); - temperatureunderView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); - temperatureunderView.btnText.TextID = text2; - viewLayout.AddChidren(temperatureunderView.FLayoutView()); - - //娓�,婀垮害楂樹簬 - temperaturehigherView.btnClick.MouseUpEventHandler += (sen, e) => - { - action(text1, frame); - }; - //娓�,婀垮害浣庝簬 - temperatureunderView.btnClick.MouseUpEventHandler += (sen, e) => - { - action(text2, frame); - }; + checkView.frameLayout.Y = Application.GetRealWidth(i * 50); + frameL.AddChidren(checkView.FLayoutView()); + if (line - 1 == i) + { + checkView.btnLine.BackgroundColor = CSS.CSS_Color.view; + } } - - /// <summary> - /// 鑾峰彇鐣岄潰鍒楄〃 - /// </summary> - /// <param name="isStr">鑷繁瀹氫箟鑷繁鐢�</param> - /// <returns></returns> - public List<string> GetViewList(string isStr) + else { - List<string> list = null; - switch (isStr) + verticalRefresh.AddChidren(checkView.FLayoutView()); + } + if (stateList.Contains(strName)) + { + checkView.btnClick.IsSelected = true; + checkView.btnCheckIcon.IsSelected = true; + selecetdList.Add(strName); + } + checkView.btnText.Text = strName; + checkView.btnClick.Tag = strName;//鏍囪 + //鐐瑰嚮浜嬩欢 + checkView.btnClick.MouseUpEventHandler += (sender1, e1) => + { + checkView.btnClick.IsSelected = !checkView.btnClick.IsSelected; + checkView.btnCheckIcon.IsSelected = checkView.btnClick.IsSelected; + if (checkView.btnClick.IsSelected) + { + if (!selecetdList.Contains(checkView.btnClick.Tag.ToString())) { - case "mode": - { - list = new List<string> { + selecetdList.Add(checkView.btnClick.Tag.ToString()); + } + + } + else + { + if (selecetdList.Contains(checkView.btnClick.Tag.ToString())) + { + selecetdList.Remove(checkView.btnClick.Tag.ToString()); + } + } + }; + + } + view.btnConfirm.MouseUpEventHandler += (sender1, e1) => + { + if (selecetdList.Count == 0) + { + return; + } + //鍒楄〃绱㈠紩鍊� + action(selecetdList); + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + }; + + } + + /// <summary> + /// 娓╂箍搴︾粍鍚堢晫闈� + /// </summary> + /// <param name="frameLayout">鐖舵帶浠�</param> + /// <param name="text1">鏍囬鏂囨湰1</param> + /// <param name="text2">鏍囬鏂囨湰2</param> + /// <param name="action">鍥炶皟鍑芥暟</param> + public void ViewZuHe(FrameLayout frameLayout, int text1, int text2, Action<int, FrameLayout> action) + { + + FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewMiddle }; + frameLayout.AddChidren(frame); + LogicView.TopView topView = new LogicView.TopView(); + topView.topNameBtn.TextID = StringId.wendu; + frame.AddChidren(topView.FLayoutView()); + topView.clickBackBtn.MouseUpEventHandler += (e, sen) => + { + frame.RemoveFromParent(); + }; + FrameLayout viewLayout = new FrameLayout + { + Y = Application.GetRealHeight(64), + Width = Application.GetRealWidth(LogicView.TextSize.view375), + Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64), + BackgroundColor = CSS.CSS_Color.viewMiddle, + }; + frame.AddChidren(viewLayout); + + //娓�,婀垮害楂樹簬 + LogicView.SelectTypeView temperaturehigherView = new LogicView.SelectTypeView(); + temperaturehigherView.btnIcon.Visible = false; + temperaturehigherView.btnText.X = Application.GetRealWidth(16); + temperaturehigherView.btnLine.X = Application.GetRealWidth(16); + temperaturehigherView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); + temperaturehigherView.btnText.TextID = text1; + viewLayout.AddChidren(temperaturehigherView.FLayoutView()); + //娓�,婀垮害浣庝簬 + LogicView.SelectTypeView temperatureunderView = new LogicView.SelectTypeView(); + temperatureunderView.frameLayout.Y = temperaturehigherView.frameLayout.Bottom; + temperatureunderView.btnIcon.Visible = false; + temperatureunderView.btnText.X = Application.GetRealWidth(16); + temperatureunderView.btnLine.X = Application.GetRealWidth(16); + temperatureunderView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); + temperatureunderView.btnText.TextID = text2; + viewLayout.AddChidren(temperatureunderView.FLayoutView()); + + //娓�,婀垮害楂樹簬 + temperaturehigherView.btnClick.MouseUpEventHandler += (sen, e) => + { + action(text1, frame); + }; + //娓�,婀垮害浣庝簬 + temperatureunderView.btnClick.MouseUpEventHandler += (sen, e) => + { + action(text2, frame); + }; + } + + /// <summary> + /// 鑾峰彇鐣岄潰鍒楄〃 + /// </summary> + /// <param name="isStr">鑷繁瀹氫箟鑷繁鐢�</param> + /// <returns></returns> + public List<string> GetViewList(string isStr) + { + List<string> list = null; + switch (isStr) + { + case "mode": + { + list = new List<string> { Language.StringByID(StringId.coolLogic), Language.StringByID(StringId.heatingLogic), Language.StringByID(StringId.autoLogic), Language.StringByID(StringId.dehumidifyLogic), }; - } - break; - case "fan": - { - list = new List<string> { + } + break; + case "fan": + { + list = new List<string> { Language.StringByID(StringId.LowWindSpeed), Language.StringByID(StringId.MiddleWindSpeed), Language.StringByID(StringId.HighWindSpeed), Language.StringByID(StringId.Auto), }; - } - break; - case "floorheatingmode": - { - list = new List<string> { + } + break; + case "floorheatingmode": + { + list = new List<string> { Language.StringByID(StringId.dayMode), Language.StringByID(StringId.nightMode), Language.StringByID(StringId.leaveMode), Language.StringByID(StringId.ordinaryMode), Language.StringByID(StringId.timeMode), }; - } - break; - case "airFresh": - { - list = new List<string> { + } + break; + case "airFresh": + { + list = new List<string> { Language.StringByID(StringId.zidong), Language.StringByID(StringId.shoudong), Language.StringByID(StringId.dingshi), Language.StringByID(StringId.zhineng), }; - } - break; - case "week": - { - list = new List<string> { + } + break; + case "week": + { + list = new List<string> { Language.StringByID(StringId.monday), Language.StringByID(StringId.tuesday), Language.StringByID(StringId.wednesday), @@ -669,470 +669,481 @@ Language.StringByID(StringId.saturday), Language.StringByID(StringId.sunday), }; - } - break; - case "andor": - { - list = new List<string> { + } + break; + case "andor": + { + list = new List<string> { Language.StringByID(StringId.andCondition), Language.StringByID(StringId.orCondition), }; - } - break; - case "time": - { - list = new List<string> { - "30 s", + } + break; + case "time": + { + list = new List<string> { + // "30 s", "1 min", "2 min", "3 min", "5 min", + "10 min", }; - } - break; - case "pm25": - { - list = new List<string> { + } + break; + case "pm25": + { + list = new List<string> { Language.StringByID(StringId.pmyou), Language.StringByID(StringId.pmliang), Language.StringByID(StringId.pmqingdu), Language.StringByID(StringId.pmzhongdu), Language.StringByID(StringId.pmzhongduwuran), }; - } - break; - case "co2": - { - list = new List<string> { + } + break; + case "co2": + { + list = new List<string> { Language.StringByID(StringId.zhengchang)+ ":0~1000PPM", Language.StringByID(StringId.piangao) + ":1001~2000PPM", Language.StringByID(StringId.chaobiao) + ":>2000PPM", }; - } - break; - case "tvoc": - { - list = new List<string> { + } + break; + case "tvoc": + { + list = new List<string> { Language.StringByID(StringId.zhengchang)+ ":0~399PPB", Language.StringByID(StringId.chaobiao)+ ":400~699PPB", Language.StringByID(StringId.yanzhong)+":>700PPB", }; - } - break; - case "hcho": - { - list = new List<string> { + } + break; + case "hcho": + { + list = new List<string> { Language.StringByID(StringId.youxiu)+ ":(0~0.08mg/m3)", Language.StringByID(StringId.lianghao)+":(0.09~0.1mg/m3)", Language.StringByID(StringId.chaobiao)+ ":>(0.1mg/m3)", }; - } - break; - case "security": - { - list = new List<string> { + } + break; + case "security": + { + list = new List<string> { Language.StringByID(StringId.bufang ), Language.StringByID(StringId.chefang), }; - } - break; - case "鍦扮悊鍥存爮": - { - list = new List<string> { + } + break; + case "鍦扮悊鍥存爮": + { + list = new List<string> { Language.StringByID(StringId.likai ), Language.StringByID(StringId.daoda), }; - } - break; - } - return list; - } - /// <summary> - /// 妯″紡/椋庨�熶簰鐩歌浆鎹㈠�肩殑鏂规硶 - /// </summary> - /// <param name="text">鏂囨湰</param> - /// <param name="type">鑷繁瀹氫箟鑷繁鐢�</param> - /// <returns></returns> - public string GetModeValueString(string text, string type) - { - string str = ""; - switch (type) - { - case "mode": - { - if (text == Language.StringByID(StringId.coolLogic)) - { - str = "cool"; - } - else if (text == Language.StringByID(StringId.heatingLogic)) - { - str = "heat"; - } - else if (text == Language.StringByID(StringId.autoLogic)) - { - str = "auto"; - } - else if (text == Language.StringByID(StringId.dehumidifyLogic)) - { - str = "dry"; - } - } - break; - case "fan": - { - if (text == Language.StringByID(StringId.HighWindSpeed)) - { - str = "high"; - } - else if (text == Language.StringByID(StringId.MiddleWindSpeed)) - { - str = "medium"; - } - else if (text == Language.StringByID(StringId.LowWindSpeed)) - { - str = "low"; - } - else if (text == Language.StringByID(StringId.Auto)) - { - str = "auto"; - } - } - break; - case "floorheatingmode": - { - if (text == Language.StringByID(StringId.dayMode)) - { - str = "day"; - } - else if (text == Language.StringByID(StringId.nightMode)) - { - str = "night"; - } - else if (text == Language.StringByID(StringId.leaveMode)) - { - str = "away"; - } - else if (text == Language.StringByID(StringId.ordinaryMode)) - { - str = "normal"; - } - else if (text == Language.StringByID(StringId.timeMode)) - { - str = "timer"; - } - } - break; - case "airFresh": - { - - if (text == Language.StringByID(StringId.autoLogic)) - { - str = "auto"; - } - else if (text == Language.StringByID(StringId.shoudong)) - { - str = "manual"; - } - else if (text == Language.StringByID(StringId.dingshi)) - { - str = "timer"; - } - else if (text == Language.StringByID(StringId.zhineng)) - { - str = "smart"; - } - } - break; - } - return str; - } - /// <summary> - /// 鏄熸湡int鍜宻tring浜掔浉杞崲鍊肩殑鏂规硶 - /// </summary> - /// <param name="list"></param> - /// <param name="str_or_int"></param> - /// <returns></returns> - public List<string> GetWeekString(List<string> list, string str_or_int) - { - string weekTextName = ""; - List<string> stateList = new List<string>(); - for (int i = 0; i < list.Count; i++) - { - var s = list[i]; - if (str_or_int == "int") - { - switch (s) - { - case "1": - { - weekTextName = Language.StringByID(StringId.monday); - } - break; - case "2": - { - weekTextName = Language.StringByID(StringId.tuesday); - } - break; - case "3": - { - weekTextName = Language.StringByID(StringId.wednesday); - } - break; - case "4": - { - weekTextName = Language.StringByID(StringId.thursday); - } - break; - case "5": - { - weekTextName = Language.StringByID(StringId.friday); - } - break; - case "6": - { - weekTextName = Language.StringByID(StringId.saturday); - } - break; - case "0": - { - weekTextName = Language.StringByID(StringId.sunday); - } - break; - } - - } - else - { - if (Language.StringByID(StringId.monday) == s) - { - weekTextName = "1"; - } - else if (Language.StringByID(StringId.tuesday) == s) - { - weekTextName = "2"; - } - else if (Language.StringByID(StringId.wednesday) == s) - { - weekTextName = "3"; - } - else if (Language.StringByID(StringId.thursday) == s) - { - weekTextName = "4"; - } - else if (Language.StringByID(StringId.friday) == s) - { - weekTextName = "5"; - } - else if (Language.StringByID(StringId.saturday) == s) - { - weekTextName = "6"; - } - else if (Language.StringByID(StringId.sunday) == s) - { - weekTextName = "0"; - } - } - stateList.Add(weekTextName); - - } - - return stateList; - } - /// <summary> - /// 鏁板�艰繑鍥炴枃鏈� - /// </summary> - /// <param name="type">绫诲瀷</param> - /// <param name="strValue">鍊�</param> - /// <returns></returns> - public string GetString(string type, string strValue) - { - string text = ""; - switch (type) - { - case "pm25": - { - - switch (strValue) { - case "(0,35]": { - text = Language.StringByID(StringId.pmyou); - } - break; - case "(35,75]": { - text = Language.StringByID(StringId.pmliang); - } break; - case "(75,115]": { - text = Language.StringByID(StringId.pmqingdu); - } break; - case "(115,150]": { - text = Language.StringByID(StringId.pmzhongdu); - } break; - case "(151,100000]": { - text = Language.StringByID(StringId.pmzhongduwuran); - } break; - } - - } - break; - case "co2": - { - switch (strValue) - { - case "(0,1000]": - { - text = Language.StringByID(StringId.zhengchang) + ":0~1000PPM"; - } - break; - case "(1000,2000]": - { - text = Language.StringByID(StringId.piangao) + ":1001~2000PPM"; - } - break; - case "(2000,200000]": - { - text = Language.StringByID(StringId.chaobiao) + ":>2000PPM"; - } - break; - } - } - break; - case "tvoc": - { - switch (strValue) - { - case "(0,399]": - { - text = Language.StringByID(StringId.zhengchang) + ":0~399PPB"; - } - break; - case "(399,699]": - { - text = Language.StringByID(StringId.chaobiao) + ":400~699PPB"; - } - break; - case "(699,70000]": - { - text = Language.StringByID(StringId.yanzhong) + ":>700PPB"; - } - break; - } - - } - break; - case "hcho": - { - switch (strValue) - { - case "(0,0.08]": - { - text = Language.StringByID(StringId.youxiu) + ":(0~0.08mg/m3)"; - } - break; - case "(0.08,0.1]": - { - text = Language.StringByID(StringId.lianghao) + ":(0.09~0.1mg/m3)"; - } - break; - case "(0.1,10000]": - { - text = Language.StringByID(StringId.chaobiao) + ":>(0.1mg/m3)"; - } - break; - } - - } - break; - } - return text; - } - - /// <summary> - /// 鏈枃杩斿洖鏁板�艰繑鍥� - /// </summary> - /// <param name="type">绫诲瀷</param> - /// <param name="text">鏂囨湰</param> - /// <returns></returns> - public string GetValue(string type, string text) - { - string value = ""; - switch (type) - { - case "pm25": - { - if (text == Language.StringByID(StringId.pmyou)) - { - value = "(0,35]"; - } - else if (text == Language.StringByID(StringId.pmliang)) - { - value = "(35,75]"; - } - else if (text == Language.StringByID(StringId.pmqingdu)) - { - value = "(75,115]"; - } - else if (text == Language.StringByID(StringId.pmzhongdu)) - { - value = "(115,150]"; - } - else if (text == Language.StringByID(StringId.pmzhongduwuran)) - { - value = "(150,100000]"; - } - } - break; - case "co2": - { - if (text == Language.StringByID(StringId.zhengchang) + ":0~1000PPM") - { - value = "(0,1000]"; - } - else if (text == Language.StringByID(StringId.piangao) + ":1001~2000PPM") - { - value = "(1000,2000]"; - } - else if (text == Language.StringByID(StringId.chaobiao) + ":>2000PPM") - { - value = "(2000,200000]"; - } - } - break; - case "tvoc": - { - if (text == Language.StringByID(StringId.zhengchang) + ":0~399PPB") - { - value = "(0,399]"; - } - else if (text == Language.StringByID(StringId.chaobiao) + ":400~699PPB") - { - value = "(399,699]"; - } - else if (text == Language.StringByID(StringId.yanzhong) + ":>700PPB") - { - value = "(699,70000]"; - } - } - break; - case "hcho": - { - if (text == Language.StringByID(StringId.youxiu) + ":(0~0.08mg/m3)") - { - value = "(0,0.08]"; - } - else if (text == Language.StringByID(StringId.lianghao) + ":(0.09~0.1mg/m3)") - { - value = "(0.08,0.1]"; - } - else if (text == Language.StringByID(StringId.chaobiao) + ":>(0.1mg/m3)") - { - value = "(0.1,10000]"; - } - } - break; - - } - return value; - } - - + } + break; + } + return list; } + /// <summary> + /// 妯″紡/椋庨�熶簰鐩歌浆鎹㈠�肩殑鏂规硶 + /// </summary> + /// <param name="text">鏂囨湰</param> + /// <param name="type">鑷繁瀹氫箟鑷繁鐢�</param> + /// <returns></returns> + public string GetModeValueString(string text, string type) + { + string str = ""; + switch (type) + { + case "mode": + { + if (text == Language.StringByID(StringId.coolLogic)) + { + str = "cool"; + } + else if (text == Language.StringByID(StringId.heatingLogic)) + { + str = "heat"; + } + else if (text == Language.StringByID(StringId.autoLogic)) + { + str = "auto"; + } + else if (text == Language.StringByID(StringId.dehumidifyLogic)) + { + str = "dry"; + } + } + break; + case "fan": + { + if (text == Language.StringByID(StringId.HighWindSpeed)) + { + str = "high"; + } + else if (text == Language.StringByID(StringId.MiddleWindSpeed)) + { + str = "medium"; + } + else if (text == Language.StringByID(StringId.LowWindSpeed)) + { + str = "low"; + } + else if (text == Language.StringByID(StringId.Auto)) + { + str = "auto"; + } + } + break; + case "floorheatingmode": + { + if (text == Language.StringByID(StringId.dayMode)) + { + str = "day"; + } + else if (text == Language.StringByID(StringId.nightMode)) + { + str = "night"; + } + else if (text == Language.StringByID(StringId.leaveMode)) + { + str = "away"; + } + else if (text == Language.StringByID(StringId.ordinaryMode)) + { + str = "normal"; + } + else if (text == Language.StringByID(StringId.timeMode)) + { + str = "timer"; + } + } + break; + case "airFresh": + { + + if (text == Language.StringByID(StringId.autoLogic)) + { + str = "auto"; + } + else if (text == Language.StringByID(StringId.shoudong)) + { + str = "manual"; + } + else if (text == Language.StringByID(StringId.dingshi)) + { + str = "timer"; + } + else if (text == Language.StringByID(StringId.zhineng)) + { + str = "smart"; + } + } + break; + } + return str; + } + /// <summary> + /// 鏄熸湡int鍜宻tring浜掔浉杞崲鍊肩殑鏂规硶 + /// </summary> + /// <param name="list"></param> + /// <param name="str_or_int"></param> + /// <returns></returns> + public List<string> GetWeekString(List<string> list, string str_or_int) + { + string weekTextName = ""; + List<string> stateList = new List<string>(); + for (int i = 0; i < list.Count; i++) + { + var s = list[i]; + if (str_or_int == "int") + { + switch (s) + { + case "1": + { + weekTextName = Language.StringByID(StringId.monday); + } + break; + case "2": + { + weekTextName = Language.StringByID(StringId.tuesday); + } + break; + case "3": + { + weekTextName = Language.StringByID(StringId.wednesday); + } + break; + case "4": + { + weekTextName = Language.StringByID(StringId.thursday); + } + break; + case "5": + { + weekTextName = Language.StringByID(StringId.friday); + } + break; + case "6": + { + weekTextName = Language.StringByID(StringId.saturday); + } + break; + case "0": + { + weekTextName = Language.StringByID(StringId.sunday); + } + break; + } + + } + else + { + if (Language.StringByID(StringId.monday) == s) + { + weekTextName = "1"; + } + else if (Language.StringByID(StringId.tuesday) == s) + { + weekTextName = "2"; + } + else if (Language.StringByID(StringId.wednesday) == s) + { + weekTextName = "3"; + } + else if (Language.StringByID(StringId.thursday) == s) + { + weekTextName = "4"; + } + else if (Language.StringByID(StringId.friday) == s) + { + weekTextName = "5"; + } + else if (Language.StringByID(StringId.saturday) == s) + { + weekTextName = "6"; + } + else if (Language.StringByID(StringId.sunday) == s) + { + weekTextName = "0"; + } + } + stateList.Add(weekTextName); + + } + + return stateList; + } + /// <summary> + /// 鏁板�艰繑鍥炴枃鏈� + /// </summary> + /// <param name="type">绫诲瀷</param> + /// <param name="strValue">鍊�</param> + /// <returns></returns> + public string GetString(string type, string strValue) + { + string text = ""; + switch (type) + { + case "pm25": + { + + switch (strValue) + { + case "(0,35]": + { + text = Language.StringByID(StringId.pmyou); + } + break; + case "(35,75]": + { + text = Language.StringByID(StringId.pmliang); + } + break; + case "(75,115]": + { + text = Language.StringByID(StringId.pmqingdu); + } + break; + case "(115,150]": + { + text = Language.StringByID(StringId.pmzhongdu); + } + break; + case "(151,100000]": + { + text = Language.StringByID(StringId.pmzhongduwuran); + } + break; + } + + } + break; + case "co2": + { + switch (strValue) + { + case "(0,1000]": + { + text = Language.StringByID(StringId.zhengchang) + ":0~1000PPM"; + } + break; + case "(1000,2000]": + { + text = Language.StringByID(StringId.piangao) + ":1001~2000PPM"; + } + break; + case "(2000,200000]": + { + text = Language.StringByID(StringId.chaobiao) + ":>2000PPM"; + } + break; + } + } + break; + case "tvoc": + { + switch (strValue) + { + case "(0,399]": + { + text = Language.StringByID(StringId.zhengchang) + ":0~399PPB"; + } + break; + case "(399,699]": + { + text = Language.StringByID(StringId.chaobiao) + ":400~699PPB"; + } + break; + case "(699,70000]": + { + text = Language.StringByID(StringId.yanzhong) + ":>700PPB"; + } + break; + } + + } + break; + case "hcho": + { + switch (strValue) + { + case "(0,0.08]": + { + text = Language.StringByID(StringId.youxiu) + ":(0~0.08mg/m3)"; + } + break; + case "(0.08,0.1]": + { + text = Language.StringByID(StringId.lianghao) + ":(0.09~0.1mg/m3)"; + } + break; + case "(0.1,10000]": + { + text = Language.StringByID(StringId.chaobiao) + ":>(0.1mg/m3)"; + } + break; + } + + } + break; + } + return text; + } + + /// <summary> + /// 鏈枃杩斿洖鏁板�艰繑鍥� + /// </summary> + /// <param name="type">绫诲瀷</param> + /// <param name="text">鏂囨湰</param> + /// <returns></returns> + public string GetValue(string type, string text) + { + string value = ""; + switch (type) + { + case "pm25": + { + if (text == Language.StringByID(StringId.pmyou)) + { + value = "(0,35]"; + } + else if (text == Language.StringByID(StringId.pmliang)) + { + value = "(35,75]"; + } + else if (text == Language.StringByID(StringId.pmqingdu)) + { + value = "(75,115]"; + } + else if (text == Language.StringByID(StringId.pmzhongdu)) + { + value = "(115,150]"; + } + else if (text == Language.StringByID(StringId.pmzhongduwuran)) + { + value = "(150,100000]"; + } + } + break; + case "co2": + { + if (text == Language.StringByID(StringId.zhengchang) + ":0~1000PPM") + { + value = "(0,1000]"; + } + else if (text == Language.StringByID(StringId.piangao) + ":1001~2000PPM") + { + value = "(1000,2000]"; + } + else if (text == Language.StringByID(StringId.chaobiao) + ":>2000PPM") + { + value = "(2000,200000]"; + } + } + break; + case "tvoc": + { + if (text == Language.StringByID(StringId.zhengchang) + ":0~399PPB") + { + value = "(0,399]"; + } + else if (text == Language.StringByID(StringId.chaobiao) + ":400~699PPB") + { + value = "(399,699]"; + } + else if (text == Language.StringByID(StringId.yanzhong) + ":>700PPB") + { + value = "(699,70000]"; + } + } + break; + case "hcho": + { + if (text == Language.StringByID(StringId.youxiu) + ":(0~0.08mg/m3)") + { + value = "(0,0.08]"; + } + else if (text == Language.StringByID(StringId.lianghao) + ":(0.09~0.1mg/m3)") + { + value = "(0.08,0.1]"; + } + else if (text == Language.StringByID(StringId.chaobiao) + ":>(0.1mg/m3)") + { + value = "(0.1,10000]"; + } + } + break; + + } + return value; + } + + + } } -- Gitblit v1.8.0