using System; using System.Collections.Generic; using Shared; namespace HDL_ON.UI.UI2.Intelligence.Automation { public class Security : FrameLayout { public Security() { Tag = "Logic"; } public void Show() { LogicView.TopView topView = new LogicView.TopView(); this.AddChidren(topView.FLayoutView()); topView.clickBackBtn.MouseUpEventHandler += (e, sen) => { RemoveFromParent(); }; topView.topNameBtn.TextID = StringId.addSecurityLogic; VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout { Y = Application.GetRealHeight(64), Width = Application.GetRealWidth(LogicView.TextSize.view375), Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64), BackgroundColor = CSS.CSS_Color.viewMiddle, }; this.AddChidren(viewLayout); var securityList = LogicMethod.CurrLogicMethod.GetSecurityList(); for (int i = 0; i < securityList.Count; i++) { var security = securityList[i]; LogicView.SelectTypeView securityView = new LogicView.SelectTypeView(); securityView.btnText.Text = security.name; securityView.btnIcon.UnSelectedImagePath = "LogicIcon/security.png"; viewLayout.AddChidren(securityView.FLayoutView()); securityView.btnClick.MouseUpEventHandler += (sen, e) => { SecurityMethod(this, security.sid); }; } } /// /// 添加安防 /// public void SecurityMethod(FrameLayout frameLayout,string sid, bool edit = false, int index1 = -1) { string stateStr = ""; if (edit && index1 != -1) { Output output = Logic.currlogic.output[index1]; sid = output.sid; for (int i = 0; i < output.status.Count; i++) { var dic = output.status[i]; if (dic.ContainsKey("value")) { if (dic["value"] == "enable") { stateStr = Language.StringByID(StringId.bufang); } else { stateStr = Language.StringByID(StringId.chefang); } } } } PublicInterface conditionView = new PublicInterface(); var strList = conditionView.GetViewList("security"); conditionView.SingleSelectionShow(frameLayout, strList, Language.StringByID(StringId.addSecurityLogic), stateStr , (stateValue) => { string selecttionMode = ""; if (stateValue == Language.StringByID(StringId.bufang)) { selecttionMode = "enable"; } else { selecttionMode = "disable"; } //封装数据 Output outputDevice = new Output(); outputDevice.target_type = "3"; outputDevice.sid = sid; outputDevice.status = new List> { new Dictionary { { "key", "security" }, { "value", selecttionMode } } }; AddOutput(outputDevice, true); LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); addLogic.Show(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }); } /// /// 添加目标 /// /// /// 表示启用不同条件 private void AddOutput(Output target, bool bool_if = false) { int indexValue = -1; for (int i = 0; i < Logic.currlogic.output.Count; i++) { if (bool_if) { ///安防允许一种 if (Logic.currlogic.output[i].target_type == target.target_type) { indexValue = i; break; } } else { if (Logic.currlogic.output[i].sid == target.sid) { indexValue = i; break; } } } if (indexValue != -1) { Logic.currlogic.output.RemoveAt(indexValue); Logic.currlogic.output.Insert(indexValue, target); } else { Logic.currlogic.output.Add(target); } } } }