From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 13:21:21 +0800 Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1 --- HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 1062 ++++++++++++++++------------------------------------------ 1 files changed, 302 insertions(+), 760 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index 8154407..2b40f4b 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -1,6 +1,8 @@ -锘縰sing System; +using System; using Shared; using System.Collections.Generic; +using HDL_ON.Entity; + namespace HDL_ON.UI.UI2.Intelligence.Automation { public class TargetDeviceFunList : FrameLayout @@ -43,34 +45,93 @@ this.AddChidren(saveView.FLayoutView()); #endregion #region 缂栬緫璁惧鐘舵�� - switch (device.functionType) + switch (device.spk) { //寮�鍏崇伅鍏� light.Switch - case FunctionType.Dimmer: - case FunctionType.RGB: - case FunctionType.RGBW: - case FunctionType.ColorTemperature: + case SPK.LightDimming: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: { - //2琛ㄧず(寮�锛屽叧)鍔熻兘 - SwitchBrightnessView(fLayout, device, index, edit, 2); + #region 鐣岄潰 + ///寮�鍏� + LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView(); + lightSwitchView.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(lightSwitchView.FLayoutView()); + ///浜害 + LogicView.FunTypeView brightnessView = new LogicView.FunTypeView(); + brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom; + brightnessView.btnText.TextID = StringId.brightnesLogic; + fLayout.AddChidren(brightnessView.FLayoutView()); + #endregion + #region 鐐瑰嚮浜嬩欢 + ///寮�鍏崇偣鍑讳簨浠� + lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) => + { + SwitchViewMethod(device, lightSwitchView.btnState, 2); + }; + ///浜害鐐瑰嚮浜嬩欢 + brightnessView.btnClick.MouseUpEventHandler += (sender, e) => + { + BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text); + + }; + if (edit) + { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� + GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null); + } + #endregion } break; - case FunctionType.Relay: + case SPK.LightSwitch: { - //2琛ㄧず(寮�锛屽叧)鍔熻兘 - SwitchView(fLayout, device, index, edit, 2); + #region 鐣岄潰 + ///寮�鍏� + LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView(); + lightSwitchView.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(lightSwitchView.FLayoutView()); + #endregion + #region 鐐瑰嚮浜嬩欢 + ///寮�鍏崇偣鍑讳簨浠� + lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) => + { + SwitchViewMethod(device, lightSwitchView.btnState, 2); + }; + if (edit) + { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� + GetEditState(device, index, lightSwitchView.btnState, null, null, null); + } + #endregion } break; //绐楀笜 - case FunctionType.Curtain: - case FunctionType.MotorCurtain: - case FunctionType.RollingShutter: + case SPK.CurtainSwitch: + case SPK.CurtainTrietex: + case SPK.CurtainRoller: { - //3琛ㄧず(寮�锛屽叧锛屾殏鍋�)鍔熻兘 - SwitchView(fLayout, device, index, edit, 3); + #region 鐣岄潰 + ///寮�鍏� + LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView(); + curtainSwitchView.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(curtainSwitchView.FLayoutView()); + #endregion + #region 鐐瑰嚮浜嬩欢 + ///寮�鍏崇偣鍑讳簨浠� + curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) => + { + SwitchViewMethod(device, curtainSwitchView.btnState, 3); + }; + if (edit) + { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� + GetEditState(device, index, curtainSwitchView.btnState, null, null, null); + } + #endregion } break; - case FunctionType.AC: + case SPK.AcStandard: { #region 鐣岄潰 ///寮�鍏� @@ -105,218 +166,74 @@ ///娓╁害鐐瑰嚮浜嬩欢 temperatureView.btnClick.MouseUpEventHandler += (sender, e) => { - FrameLayout frame = new FrameLayout + ///涔嬪墠鐨勭姸鎬佹枃鏈� + string tempValue = temperatureView.btnState.Text; + LogicView.TemperatureView tempView = new LogicView.TemperatureView(); + tempView.FLayoutView(this, tempValue, (stateStr) => { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - this.AddChidren(frame); - LogicView.TimeView view = new LogicView.TimeView(); - view.FLayoutView(frame); - EventHandler<MouseEventArgs> removefLayout = (sender1, e1) => - { - //绉婚櫎fLayout鐣岄潰 - frame.RemoveFromParent(); - }; - //鍙栨秷鐐瑰嚮浜嬩欢 - view.btnCancel.MouseUpEventHandler += removefLayout; - - //鍒濆鍖栧垪琛� - var temperatureList = new List<string>(); - for (int i = 16; i < 32; i++) - { - //娣诲姞鏁版嵁 - temperatureList.Add(i.ToString() + "鈩�"); - temperatureList.Add((i + 0.5).ToString() + "鈩�"); - - } - - //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩) - view.mUIPickerView.setNPicker(temperatureList, null, null); - //榛樿鍒濆閫変腑鐘舵�� - view.mUIPickerView.setCurrentItems(9, 0, 0); - //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿 - string temperature = "25鈩�"; - for (int i = 0; i < temperatureList.Count; i++) - { - if (temperatureList[i] == temperatureView.btnState.Text) - { - //鏇存柊鐘舵�� - view.mUIPickerView.setCurrentItems(i, 0, 0); - //鏇存柊鐘舵�� - temperature = temperatureList[i]; - break; - } - } - //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆� - view.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) => - { - temperature = temperatureList[index1]; - }; - //纭畾鐐瑰嚮浜嬩欢 - view.btnConfirm.MouseUpEventHandler += (sender2, e2) => - { - Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", "set_temp"); + //鐣岄潰鏄剧ず閫変腑鍊� + temperatureView.btnState.Text = stateStr; + //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "set_temp"; - string set_temp_value = temperature.Replace("鈩�", ""); - LogicMethod.dictionary(dic, "value", set_temp_value); - AddDictionaryData(dicSateteList, keyVlaue, dic); - selectedState = device.functionType + "_set_temp"; - RemView(frame); - temperatureView.btnState.Text = temperature; + selectedState = device.spk + "_" + keyVlaue; + string set_temp_value = stateStr.Replace("鈩�", ""); + //鏁版嵁灏佽 + AddDictionary(keyVlaue, set_temp_value); + }); - }; }; ///妯″紡鐐瑰嚮浜嬩欢 acModehView.btnClick.MouseUpEventHandler += (sender, e) => { + ///涔嬪墠鐨勭姸鎬佹枃鏈� + string currText = acModehView.btnState.Text; + //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; + string keyVlaue = "mode"; + selectedState = device.spk + "_" + keyVlaue; + PublicInterface modeView = new PublicInterface(); + var modeListStr = modeView.GetViewList(keyVlaue); + modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText + , (stateValue) => + { + //鐣岄潰鏄剧ず閫変腑鍊� + acModehView.btnState.Text = stateValue; + //鏁版嵁灏佽 + AddDictionary(keyVlaue, modeView.GetModeValueString(stateValue, keyVlaue)); + }); - List<string> modeStr = new List<string> { - Language.StringByID(StringId.coolLogic), - Language.StringByID(StringId.heatingLogic), - Language.StringByID(StringId.autoLogic), - Language.StringByID(StringId.dehumidifyLogic), - }; - FrameLayout frame = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - this.AddChidren(frame); - LogicView.DateView modeView = new LogicView.DateView(); - modeView.btnTitle.TextID = StringId.modeLogic; - modeView.FLayoutView(frame, modeStr.Count); - modeView.btnCancel.MouseUpEventHandler += (sender2, e2) => - { - frame.RemoveFromParent(); - }; - ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵�� - Button checkBtn = new Button - { - Tag = "unknown", - }; - for (int i = 0; i < modeStr.Count; i++) - { - LogicView.CheckView modeTypeView = new LogicView.CheckView(); - modeTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); - modeView.frameLayout.AddChidren(modeTypeView.FLayoutView()); - modeTypeView.btnText.Text = modeStr[i]; - modeTypeView.btnClick.Tag = modeStr[i];//鏍囪 - - if (acModehView.btnState.Text == modeStr[i]) - { - //鏄剧ず涔嬪墠鐨勯�変腑鐘舵�� - checkBtn.IsSelected = false; - modeTypeView.btnCheckIcon.IsSelected = true; - checkBtn = modeTypeView.btnCheckIcon; - checkBtn.Tag = modeTypeView.btnClick.Tag.ToString(); - } - //鏄熸湡鐨勭偣鍑讳簨浠� - modeTypeView.btnClick.MouseUpEventHandler += (sender1, e1) => - { - checkBtn.IsSelected = false; - modeTypeView.btnCheckIcon.IsSelected = true; - checkBtn = modeTypeView.btnCheckIcon; - checkBtn.Tag = modeTypeView.btnClick.Tag.ToString(); - }; - - } - modeView.btnConfirm.MouseUpEventHandler += (sender1, e1) => - { - if (checkBtn.Tag.ToString() == "unknown") - { - return; - } - - Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", "mode"); - string keyVlaue = "mode"; - LogicMethod.dictionary(dic, "value", GetModeValueString(checkBtn.Tag.ToString(), keyVlaue)); - acModehView.btnState.Text = checkBtn.Tag.ToString(); - selectedState = device.functionType + "_mode"; - AddDictionaryData(dicSateteList, keyVlaue, dic); - RemView(frame); - }; }; ///椋庨�熺偣鍑讳簨浠� acSpeedView.btnClick.MouseUpEventHandler += (sender, e) => { - List<string> speedStr = new List<string> { - Language.StringByID(StringId.LowWindSpeed), - Language.StringByID(StringId.MiddleWindSpeed), - Language.StringByID(StringId.HighWindSpeed), - Language.StringByID(StringId.Auto), - }; - FrameLayout frame = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - this.AddChidren(frame); - LogicView.DateView speedView = new LogicView.DateView(); - speedView.btnTitle.TextID = StringId.modeLogic; - speedView.FLayoutView(frame, speedStr.Count); - speedView.btnCancel.MouseUpEventHandler += (sender2, e2) => - { - frame.RemoveFromParent(); - }; - ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵�� - Button checkBtn = new Button - { - Tag = "unknown", - }; - for (int i = 0; i < speedStr.Count; i++) - { - LogicView.CheckView speedTypeView = new LogicView.CheckView(); - speedTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); - speedView.frameLayout.AddChidren(speedTypeView.FLayoutView()); - speedTypeView.btnText.Text = speedStr[i]; - speedTypeView.btnClick.Tag = speedStr[i];//鏍囪 + ///涔嬪墠鐨勭姸鎬佹枃鏈� + string currText = acSpeedView.btnState.Text; + //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; + string keyVlaue = "fan"; + selectedState = device.spk + "_" + keyVlaue; + PublicInterface speedView = new PublicInterface(); + var speedListStr = speedView.GetViewList(keyVlaue); + speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText + , (stateValue) => + { + //鐣岄潰鏄剧ず閫変腑鍊� + acSpeedView.btnState.Text = stateValue; + //鏁版嵁灏佽 + AddDictionary(keyVlaue, speedView.GetModeValueString(stateValue, keyVlaue)); - if (acSpeedView.btnState.Text == speedStr[i]) - { - //鏄剧ず涔嬪墠鐨勯�変腑鐘舵�� - checkBtn.IsSelected = false; - speedTypeView.btnCheckIcon.IsSelected = true; - checkBtn = speedTypeView.btnCheckIcon; - checkBtn.Tag = speedTypeView.btnClick.Tag.ToString(); - } - //鏄熸湡鐨勭偣鍑讳簨浠� - speedTypeView.btnClick.MouseUpEventHandler += (sender1, e1) => - { - checkBtn.IsSelected = false; - speedTypeView.btnCheckIcon.IsSelected = true; - checkBtn = speedTypeView.btnCheckIcon; - checkBtn.Tag = speedTypeView.btnClick.Tag.ToString(); - }; - - } - speedView.btnConfirm.MouseUpEventHandler += (sender1, e1) => - { - if (checkBtn.Tag.ToString() == "unknown") - { - return; - } - - Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", "fan"); - string keyVlaue = "fan"; - LogicMethod.dictionary(dic, "value", GetModeValueString(checkBtn.Tag.ToString(), keyVlaue)); - acSpeedView.btnState.Text = checkBtn.Tag.ToString(); - selectedState = device.functionType + "_fan"; - AddDictionaryData(dicSateteList, keyVlaue, dic); - RemView(frame); - }; + }); }; if (edit) { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� GetEditState(device, index, acSwitchVie.btnState, temperatureView.btnState, acModehView.btnState, acSpeedView.btnState); } #endregion } break; - case FunctionType.FloorHeating: + case SPK.FloorHeatStandard: { #region 鐣岄潰 ///寮�鍏� @@ -342,108 +259,136 @@ ///寮�鍏崇偣鍑讳簨浠� floorHeatingSwitchVie.btnClick.MouseUpEventHandler += (sender, e) => { + SwitchViewMethod(device, floorHeatingSwitchVie.btnState, 2); }; ///娓╁害鐐瑰嚮浜嬩欢 temperatureView.btnClick.MouseUpEventHandler += (sender, e) => { - FrameLayout frame = new FrameLayout + string tempValue = temperatureView.btnState.Text; + LogicView.TemperatureView tempView = new LogicView.TemperatureView(); + tempView.FLayoutView(this, tempValue, (stateStr) => { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - this.AddChidren(frame); - LogicView.TimeView view = new LogicView.TimeView(); - view.FLayoutView(frame); - EventHandler<MouseEventArgs> removefLayout = (sender1, e1) => - { - //绉婚櫎fLayout鐣岄潰 - frame.RemoveFromParent(); - }; - //鍙栨秷鐐瑰嚮浜嬩欢 - view.btnCancel.MouseUpEventHandler += removefLayout; - - //鍒濆鍖栧垪琛� - var temperatureList = new List<string>(); - for (int i = 16; i < 32; i++) - { - //娣诲姞鏁版嵁 - temperatureList.Add(i.ToString() + "鈩�"); - temperatureList.Add((i + 0.5).ToString() + "鈩�"); - - } - - //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩) - view.mUIPickerView.setNPicker(temperatureList, null, null); - - //榛樿鍒濆閫変腑鐘舵�� - view.mUIPickerView.setCurrentItems(9, 0, 0); - //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿 - string temperature = "25鈩�"; - for (int i = 0; i < temperatureList.Count; i++) - { - if (temperatureList[i] == temperatureView.btnState.Text) - { - //鏇存柊鐘舵�� - view.mUIPickerView.setCurrentItems(i, 0, 0); - //鏇存柊鐘舵�� - temperature = temperatureList[i]; - break; - } - } - //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆� - view.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) => - { - temperature = temperatureList[index1]; - }; - //纭畾鐐瑰嚮浜嬩欢 - view.btnConfirm.MouseUpEventHandler += (sender2, e2) => - { - Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", "set_temp"); + //鐣岄潰鏄剧ず閫変腑鍊� + temperatureView.btnState.Text = stateStr; + //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "set_temp"; - string set_temp_value = temperature.Replace("鈩�", ""); - LogicMethod.dictionary(dic, "value", set_temp_value); - selectedState = device.functionType + "_set_temp"; - AddDictionaryData(dicSateteList, keyVlaue, dic); - RemView(frame); - temperatureView.btnState.Text = temperature; + selectedState = device.spk + "_" + keyVlaue; + string set_temp_value = stateStr.Replace("鈩�", ""); + //鏁版嵁灏佽 + AddDictionary(keyVlaue, set_temp_value); - }; + }); + }; ///妯″紡鐐瑰嚮浜嬩欢 floorHeatingModehView.btnClick.MouseUpEventHandler += (sender, e) => { - FrameLayout frame = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - this.AddChidren(frame); - List<string> modeStr = new List<string> { - Language.StringByID(StringId.dayMode), - Language.StringByID(StringId.nightMode), - Language.StringByID(StringId.leaveMode), - Language.StringByID(StringId.ordinaryMode), - Language.StringByID(StringId.timeMode), - }; + + ///涔嬪墠鐨勭姸鎬佹枃鏈� - string currText= floorHeatingModehView.btnState.Text; + string currText = floorHeatingModehView.btnState.Text; + //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; + string keyVlaue = "mode"; + selectedState = device.spk + "_" + keyVlaue; PublicInterface modeView = new PublicInterface(); - modeView.SingleSelectionShow(frame, modeStr, Language.StringByID(StringId.modeLogic), currText + var modeListStr = modeView.GetViewList("floorheatingmode"); + modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText , (stateValue) => { - string keyVlaue = "mode"; - Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", "mode"); - LogicMethod.dictionary(dic, "value", GetModeValueString(stateValue, "FloorHeating")); - AddDictionaryData(dicSateteList, keyVlaue, dic); + //鐣岄潰鏄剧ず閫変腑鍊� floorHeatingModehView.btnState.Text = stateValue; - selectedState = device.functionType + "_mode"; + //鏁版嵁灏佽 + AddDictionary(keyVlaue, modeView.GetModeValueString(stateValue, "floorheatingmode")); }); }; if (edit) { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� GetEditState(device, index, floorHeatingSwitchVie.btnState, temperatureView.btnState, floorHeatingModehView.btnState, null); + } + + #endregion + } + break; + case SPK.AirFreshStandard: + { + #region 鐣岄潰 + ///寮�鍏� + LogicView.FunTypeView AirFreshSwitchVie = new LogicView.FunTypeView(); + AirFreshSwitchVie.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(AirFreshSwitchVie.FLayoutView()); + + ///椋庨�� + LogicView.FunTypeView AirFreshSpeedView = new LogicView.FunTypeView(); + AirFreshSpeedView.frameLayout.Y = AirFreshSwitchVie.frameLayout.Bottom; + AirFreshSpeedView.btnText.TextID = StringId.speedLogic; + fLayout.AddChidren(AirFreshSpeedView.FLayoutView()); + #endregion + #region 鐐瑰嚮浜嬩欢 + ///寮�鍏崇偣鍑讳簨浠� + AirFreshSwitchVie.btnClick.MouseUpEventHandler += (sender, e) => + { + + SwitchViewMethod(device, AirFreshSwitchVie.btnState, 2); + }; + ///椋庨�熺偣鍑讳簨浠� + AirFreshSpeedView.btnClick.MouseUpEventHandler += (sender, e) => + { + //瀹氫箟涓�涓复鏃跺垪琛� + List<string> fanAttrList = new List<string>(); + //鍔ㄦ�佽鍙栨柊椋庨閫熷垪琛� + var fanAttr = device.GetAttribute(FunctionAttributeKey.FanSpeed); + foreach (var fanAttrValue in fanAttr.value) + { + switch (fanAttrValue) + { + case "high": + { + fanAttrList.Add(Language.StringByID(StringId.HighWindSpeed)); + } + break; + case "medium": + { + fanAttrList.Add(Language.StringByID(StringId.MiddleWindSpeed)); + } + break; + case "low": + { + + fanAttrList.Add(Language.StringByID(StringId.LowWindSpeed)); + } + break; + case "auto": + { + fanAttrList.Add(Language.StringByID(StringId.Auto)); + break; + } + + } + } + ///涔嬪墠鐨勭姸鎬佹枃鏈� + string currText = AirFreshSpeedView.btnState.Text; + //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; + string keyVlaue = "fan"; + selectedState = device.spk + "_" + keyVlaue; + PublicInterface speedView = new PublicInterface(); + var speedListStr = fanAttrList;// speedView.GetViewList(keyVlaue); + speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText + , (stateValue) => + { + //鐣岄潰鏄剧ず閫変腑鍊� + AirFreshSpeedView.btnState.Text = stateValue; + //鏁版嵁灏佽 + AddDictionary(keyVlaue, speedView.GetModeValueString(stateValue, keyVlaue)); + + }); + }; + if (edit) + { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� + GetEditState(device, index, AirFreshSwitchVie.btnState, AirFreshSpeedView.btnState, null, null); } #endregion @@ -452,29 +397,28 @@ } #endregion - #region 淇濆瓨鐐瑰嚮鏃堕棿 + #region 淇濆瓨鐐瑰嚮浜嬩欢 saveView.btnClick.MouseUpEventHandler += (sen, e) => { - - if (selectedState != "unknown") { Output outputDevice = new Output(); outputDevice.target_type = "1"; outputDevice.sid = device.sid; - switch (device.functionType) + switch (device.spk) { - case FunctionType.Dimmer: - case FunctionType.RGB: - case FunctionType.RGBW: - case FunctionType.ColorTemperature: + case SPK.LightDimming: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: { //璋冨厜鍋氫簡涓�涓壒娈婂鐞嗭紱 if (dicSateteList.Count > 1) { foreach (var dictionary in dicSateteList) { - if (dictionary["key"] == "on_off") + string keyValue = dictionary["key"]; + if (keyValue == "on_off") { if (dictionary["value"] == "off") { @@ -492,11 +436,11 @@ } break; } - case FunctionType.AC: - case FunctionType.FloorHeating: + case SPK.AcStandard: + case SPK.FloorHeatStandard: + case SPK.AirFreshStandard: { - - //(绌鸿皟/鍦扮儹)鍋氫簡涓�涓壒娈婂鐞嗭紱 + //鍋氫簡涓�涓壒娈婂鐞嗭紱 bool _bool = false; for (int i = 0; i < dicSateteList.Count; i++) { @@ -516,8 +460,6 @@ diction.Add("value", "on"); dicSateteList.Add(diction); } - - } break; } @@ -525,6 +467,8 @@ if (edit) { + //鏇存柊寤舵椂鏃堕棿 + outputDevice.delay = Logic.currlogic.output[index].delay; //绉婚櫎鏃ф暟鎹� Logic.currlogic.output.RemoveAt(index); //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�; @@ -546,166 +490,12 @@ this.RemoveFromParent(); return; } - LogicMethod.RemoveAllView(); + LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; - #endregion - - } - /// <summary> - /// 鑾峰彇妯″紡/椋庨�熼敭鍊� - /// </summary> - /// <param name="text"></param> - /// <param name="type"></param> - /// <returns></returns> - private 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 "FloorHeating": - { - 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; - } - return str; - } - /// <summary> - ///寮�鍏�=鐣岄潰 - /// </summary> - /// <param name="fLayout"></param> - /// <param name="device"></param> - /// <param name="index"></param> - /// <param name="edit"></param> - /// <param name="intView">閫変腑View鐨勬暟閲�</param> - private void SwitchView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView) - { - #region 鐣岄潰 - ///寮�鍏� - LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView(); - curtainSwitchView.btnText.TextID = StringId.switchLogic; - fLayout.AddChidren(curtainSwitchView.FLayoutView()); - #endregion - #region 鐐瑰嚮浜嬩欢 - ///寮�鍏崇偣鍑讳簨浠� - curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) => - { - SwitchViewMethod(device, curtainSwitchView.btnState, intView); - }; - if (edit) - { - GetEditState(device, index, curtainSwitchView.btnState, null, null, null); - } - #endregion - - } - /// <summary> - ///锛堝紑鍏�+浜害/鐧惧垎姣�)鐣岄潰 - /// </summary> - /// <param name="fLayout"></param> - /// <param name="device"></param> - /// <param name="index"></param> - /// <param name="edit"></param> - /// <param name="intView">閫変腑View鐨勬暟閲�</param> - private void SwitchBrightnessView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView) - { - #region 鐣岄潰 - ///寮�鍏� - LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView(); - lightSwitchView.btnText.TextID = StringId.switchLogic; - fLayout.AddChidren(lightSwitchView.FLayoutView()); - ///浜害 - LogicView.FunTypeView brightnessView = new LogicView.FunTypeView(); - brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom; - if (device.functionType == FunctionType.MotorCurtain || device.functionType == FunctionType.RollingShutter) - { - - brightnessView.btnText.TextID = StringId.percentum; - } - else - { - brightnessView.btnText.TextID = StringId.brightnesLogic; - } - fLayout.AddChidren(brightnessView.FLayoutView()); - #endregion - #region 鐐瑰嚮浜嬩欢 - ///寮�鍏崇偣鍑讳簨浠� - lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) => - { - SwitchViewMethod(device, lightSwitchView.btnState, intView); - }; - ///浜害鐐瑰嚮浜嬩欢 - brightnessView.btnClick.MouseUpEventHandler += (sender, e) => - { - BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text); - }; - if (edit) - { - GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null); - } #endregion } @@ -718,35 +508,37 @@ private void SwitchViewMethod(Entity.Function device, Button button, int len) { #region 鐣岄潰 - FrameLayout frame = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; + FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence }; this.AddChidren(frame); LogicView.SwitchView switchView = new LogicView.SwitchView(); switchView.FLayoutView(frame, len, button.Text, (strValue) => { int id = 0; - switch (strValue) { - case "on": { + switch (strValue) + { + case "on": + { id = StringId.onLogic; } break; - case "off": { + case "off": + { id = StringId.offLogic; - } break; - case "stop": { + } + break; + case "stop": + { id = StringId.stop; - } break; + } + break; } + //鐣岄潰鏄剧ず閫変腑鍊� button.TextID = id; - Dictionary<string, string> dic = new Dictionary<string, string>(); - LogicMethod.dictionary(dic, "key", "on_off"); + selectedState = device.spk + "_" + strValue; + //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "on_off"; - LogicMethod.dictionary(dic, "value", strValue); - AddDictionaryData(dicSateteList, keyVlaue, dic); - selectedState = device.functionType + "_" + strValue; - + //鏁版嵁灏佽 + AddDictionary(keyVlaue, strValue); }); #endregion } @@ -758,51 +550,39 @@ private void BrightnessMethod(Entity.Function device, Button button, string titleName) { #region 鐣岄潰 - FrameLayout frame = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - this.AddChidren(frame); + //涔嬪墠鐨勭姸鎬佸�� + string stateVlaue = button.Text; LogicView.BrightnessView brightness = new LogicView.BrightnessView(); - brightness.FLayoutView(frame, titleName, button.Text, (brightnesValue) => + brightness.FLayoutView(this, titleName, stateVlaue, (brightnesValue) => { - button.Text = brightnesValue+"%"; - Dictionary<string, string> dic = new Dictionary<string, string>(); + //鐣岄潰鏄剧ず閫変腑鍊� + button.Text = brightnesValue + "%"; + selectedState = device.spk + brightnesValue.ToString(); + //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = ""; - switch (device.functionType) + switch (device.spk) { //寮�鍏崇伅鍏� light.Switch - case FunctionType.Dimmer: - case FunctionType.RGB: - case FunctionType.RGBW: - case FunctionType.ColorTemperature: + case SPK.LightDimming: + case SPK.LightRGB: + case SPK.LightRGBW: + case SPK.LightCCT: { - LogicMethod.dictionary(dic, "key", "brightness"); keyVlaue = "brightness"; } break; - case FunctionType.MotorCurtain: - case FunctionType.RollingShutter: + case SPK.CurtainRoller: + case SPK.CurtainTrietex: { - LogicMethod.dictionary(dic, "key", "percent"); keyVlaue = "percent"; } break; } - LogicMethod.dictionary(dic, "value", brightnesValue.ToString()); - AddDictionaryData(dicSateteList, keyVlaue, dic); - selectedState = device.functionType + brightnesValue.ToString(); + //鏁版嵁灏佽 + AddDictionary(keyVlaue, brightnesValue); }); #endregion - } - /// <summary> - /// 绉婚櫎鎺т欢 - /// </summary> - /// <param name="frame"></param> - private void RemView(FrameLayout frame) - { - frame.RemoveFromParent(); } /// <summary> /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� @@ -816,7 +596,7 @@ private void GetEditState(Entity.Function device, int index, Button button1, Button button2, Button button3, Button button4) { Output outputs = Logic.currlogic.output[index]; - var dicList = outputs.status as List<Dictionary<string, string>>; + var dicList = outputs.status; //娓呴櫎涔嬪墠鏃ф暟鎹� dicSateteList.Clear(); if (dicList.Count != 0) @@ -824,270 +604,33 @@ //鏈夋暟鎹噸鏂拌祴鍊� dicSateteList = dicList; } - switch (device.functionType) - { - //寮�鍏崇伅鍏� - case FunctionType.Relay: - { - 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 FunctionType.Dimmer: - case FunctionType.RGB: - case FunctionType.RGBW: - case FunctionType.ColorTemperature: - { - 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": - { - - button2.Text = value+"%"; - } - break; - } - - } - } - break; - case FunctionType.Curtain: - case FunctionType.MotorCurtain: - case FunctionType.RollingShutter: - { - 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 FunctionType.AC: - { - 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": - { - button2.Text = value + "鈩�"; - } - break; - case "mode": - { - 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": - { - 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 FunctionType.FloorHeating: - { - - 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": - { - button2.Text = value + "鈩�"; - } - break; - case "mode": - { - 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; - } + InpOrOutLogicMethod.EditState(device, dicList, button1, button2, button3, button4); } /// <summary> - /// 娣诲姞澶勭悊閫変腑鏁版嵁 + /// 娣诲姞閫変腑鏁版嵁 /// </summary> - /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param> - /// <param name="keyValue">璇嗗埆璁惧</param> - /// <param name="dictionary">閫変腑鏁版嵁</param> + /// <param name="KeyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> + /// <param name="selectedValue">鐘舵�佸��</param> + private void AddDictionary(string KeyValue, string selectedValue) + { + //鏁版嵁灏佽 + Dictionary<string, string> dic = new Dictionary<string, string>(); + LogicMethod.CurrLogicMethod.dictionary(dic, "key", KeyValue); + LogicMethod.CurrLogicMethod.dictionary(dic, "value", selectedValue); + AddDictionaryList(KeyValue, dic); + } + /// <summary> + /// 鏇存柊鏁版嵁鍒楄〃 + /// </summary> + /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> + /// <param name="dictionary">娣诲姞閫変腑鏁版嵁</param> /// <returns></returns> - private void AddDictionaryData(List<Dictionary<string, string>> dicList, string keyValue, Dictionary<string, string> dictionary) + private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary) { int indexValue = -1; - for (int i = 0; i < dicList.Count; i++) + for (int i = 0; i < dicSateteList.Count; i++) { - var dic = dicList[i]; + var dic = dicSateteList[i]; if (dic.ContainsValue(keyValue)) { //鍒ゆ柇鏄惁瀛樺湪 @@ -1099,14 +642,14 @@ if (indexValue != -1) { //瀛樺湪绉婚櫎 - dicList.RemoveAt(indexValue); + dicSateteList.RemoveAt(indexValue); //閲嶆柊娣诲姞 - dicList.Insert(indexValue, dictionary); + dicSateteList.Insert(indexValue, dictionary); } else { //鏂版坊鍔� - dicList.Add(dictionary); + dicSateteList.Add(dictionary); } } @@ -1137,7 +680,6 @@ } } - } } -- Gitblit v1.8.0