| | |
| | | UserView.HomePage.Instance.RemoveViewByTag("Logic"); |
| | | Tag = "Logic"; |
| | | } |
| | | EditText logicTextBox; |
| | | |
| | | public async void Show(Action action) |
| | | { |
| | | |
| | |
| | | } |
| | | view.clickBtn.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | // UserView.HomePage.Instance.ScrollEnabled = true;//恢复左滑 |
| | | // UserView.HomePage.Instance.ScrollEnabled = true;//恢复左滑 |
| | | action(); |
| | | RemoveFromParent(); |
| | | }; |
| | | var middle = new VerticalScrolViewLayout |
| | | { |
| | | Y = view.topRowLayout.Bottom, |
| | | Height = Application.GetRealHeight(Method.H - 184-180), |
| | | Height = Application.GetRealHeight(Method.H - 184 - 180), |
| | | BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, |
| | | }; |
| | | this.AddChidren(middle); |
| | |
| | | }; |
| | | logicnamefl.AddChidren(text); |
| | | |
| | | logicTextBox = new EditText |
| | | EditText logicTextBox = new EditText |
| | | { |
| | | Y = Application.GetRealHeight(35), |
| | | Width = Application.GetRealWidth(1080-58-300), |
| | | Width = Application.GetRealWidth(1080 - 58 - 300), |
| | | Height = Application.GetRealHeight(60), |
| | | X = text.Right, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | |
| | | middle.AddChidren(addconditionview.AddDeviceView()); |
| | | |
| | | ///添加条件的点击事件 |
| | | addconditionview.clickBtn.MouseUpEventHandler+= (sender, e) => |
| | | { |
| | | if (Common.Logic.CurrentLogic.Conditions.Count == 1) |
| | | { |
| | | ConditionView(false); |
| | | } |
| | | else |
| | | { |
| | | var addLogicPage = new AddLogicPage(); |
| | | UserView.HomePage.Instance.AddChidren(addLogicPage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | addLogicPage.Show(); |
| | | } |
| | | }; |
| | | addconditionview.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); |
| | | if (Common.Logic.CurrentLogic.Conditions.Count == 1) |
| | | { |
| | | new LogicDveiceStatus { }.ConditionView(false, this); |
| | | } |
| | | else |
| | | { |
| | | var addLogicPage = new AddLogicPage(); |
| | | UserView.HomePage.Instance.AddChidren(addLogicPage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | addLogicPage.Show(); |
| | | } |
| | | }; |
| | | List<Dictionary<string, string>> ListConditions = new List<Dictionary<string, string>>(); |
| | | ListConditions.Clear(); |
| | | ListConditions.AddRange(Common.Logic.CurrentLogic.Conditions); |
| | |
| | | } |
| | | EventHandler<MouseEventArgs> editclick = (sender, e) => |
| | | { |
| | | |
| | | ConditionView(true); |
| | | Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); |
| | | new LogicDveiceStatus { }.ConditionView(true, this); |
| | | }; |
| | | row.MouseUpEventHandler += editclick; |
| | | relationship.MouseUpEventHandler += editclick; |
| | | |
| | | } |
| | | for (int i = 0; i < ListConditions.Count; i++) |
| | | { |
| | | if (i == (ListConditions.Count - 1)) |
| | | { |
| | | LogicView.AddDeviceView addflview = new LogicView.AddDeviceView(); |
| | | addflview.titleBtn.TextID = MyInternationalizationString.addconditions; |
| | | middle.AddChidren(addflview.AddFl()); |
| | | addflview.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (Common.Logic.CurrentLogic.Conditions.Count == 1) |
| | | { |
| | | ConditionView(false); |
| | | } |
| | | else |
| | | { |
| | | var addLogicPage = new AddLogicPage(); |
| | | UserView.HomePage.Instance.AddChidren(addLogicPage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | addLogicPage.Show(); |
| | | } |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | SelectedDeviceView selecteddevice = new SelectedDeviceView(); |
| | | selecteddevice.Show(middle); |
| | | selecteddevice.stateRow.AddRightView(selecteddevice.edit); |
| | | selecteddevice.stateRow.AddRightView(selecteddevice.del); |
| | | |
| | | var Type = int.Parse(ListConditions[i]["Type"]); |
| | | var conditions = ListConditions[i]; |
| | | string name = ""; |
| | | string icon = ""; |
| | | string state = ""; |
| | | switch (Type) |
| | | { |
| | | /// (0:时间点条件;1:设备状态变化条件;2:其他逻辑条件;3:计数器条件;4:倒计时;5:时间段条件;6:安防条件;7:地理位置) |
| | | case 0: |
| | | { |
| | | |
| | | //"0正常时间点","1日出时间","2日落时间","3正午时间" |
| | | switch (int.Parse(conditions["DateType"])) |
| | | { |
| | | case 0: |
| | | { |
| | | name = Language.StringByID(MyInternationalizationString.immediateexecution); |
| | | icon = "ZigeeLogic/timepoint.png"; |
| | | string s = ""; |
| | | s = conditions["StartMin"].Length < 2 ? "0" + conditions["StartMin"] : conditions["StartMin"]; |
| | | state = conditions["StartHour"] + ":" + s; |
| | | |
| | | } |
| | | break; |
| | | case 1: |
| | | { |
| | | name = Language.StringByID(MyInternationalizationString.sunrise); |
| | | icon = "ZigeeLogic/sunrise.png"; |
| | | if (int.Parse(conditions["AdjustTime"]) > 0) |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.delayed) + conditions["AdjustTime"] + Language.StringByID(MyInternationalizationString.logicminute); |
| | | } |
| | | else if (int.Parse(conditions["AdjustTime"]) < 0) |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.advance) + Math.Abs(int.Parse(conditions["AdjustTime"])).ToString() + Language.StringByID(MyInternationalizationString.logicminute); |
| | | } |
| | | else |
| | | { |
| | | //timeTxet.Text = Language.StringByID(MyInternationalizationString.sunrise); |
| | | } |
| | | } |
| | | break; |
| | | case 2: |
| | | { |
| | | name = Language.StringByID(MyInternationalizationString.sunset); |
| | | icon = "ZigeeLogic/sunset.png"; |
| | | if (int.Parse(conditions["AdjustTime"]) > 0) |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.delayed) + conditions["AdjustTime"] + Language.StringByID(MyInternationalizationString.logicminute); |
| | | } |
| | | else if (int.Parse(conditions["AdjustTime"]) < 0) |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.advance) + Math.Abs(int.Parse(conditions["AdjustTime"])).ToString() + Language.StringByID(MyInternationalizationString.logicminute); |
| | | } |
| | | else |
| | | { |
| | | // timevalue.Text = Language.StringByID(MyInternationalizationString.sunset); |
| | | } |
| | | } |
| | | break; |
| | | case 3: |
| | | { |
| | | name = Language.StringByID(MyInternationalizationString.noon); |
| | | icon = "ZigeeLogic/noon.png"; |
| | | if (int.Parse(conditions["AdjustTime"]) > 0) |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.delayed) + conditions["AdjustTime"] + Language.StringByID(MyInternationalizationString.logicminute); |
| | | } |
| | | else if (int.Parse(conditions["AdjustTime"]) < 0) |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.advance) + Math.Abs(int.Parse(conditions["AdjustTime"])).ToString() + Language.StringByID(MyInternationalizationString.logicminute); |
| | | } |
| | | else |
| | | { |
| | | // timeTxet.Text = Language.StringByID(MyInternationalizationString.noon); |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case 5: |
| | | { |
| | | icon = "ZigeeLogic/timeparagraph.png"; |
| | | string s1 = "", s2 = ""; |
| | | s1 = conditions["StartMin"].Length < 2 ? "0" + conditions["StartMin"] : conditions["StartMin"]; |
| | | s2 = conditions["StopMin"].Length < 2 ? "0" + conditions["StopMin"] : conditions["StopMin"]; |
| | | ///显示时间 |
| | | name = conditions["StartHour"] + ":" + s1 + "-" + conditions["StopHour"] + ":" + s2; |
| | | state =Language.StringByID(MyInternationalizationString.timeframe); |
| | | } |
| | | break; |
| | | case 1: |
| | | { |
| | | var deviceinof = Method.GetCommonDevice(conditions["MacAddr"], conditions["Epoint"]); |
| | | name = LocalDevice.Current.GetDeviceEpointName(deviceinof); |
| | | selecteddevice.regionNameBtn.Visible = true; |
| | | Method.RoomNmae(selecteddevice.regionNameBtn, deviceinof); |
| | | |
| | | switch (deviceinof.Type) |
| | | { |
| | | case DeviceType.OnOffOutput: |
| | | { |
| | | icon = "ZigeeLogic/light.png"; |
| | | if (conditions["AttriButeId"] == "0") |
| | | { |
| | | if (conditions["AttriButeData1"] == "1") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.open); |
| | | } |
| | | else |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.close); |
| | | } |
| | | |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.IASZone: |
| | | { |
| | | var iASZonedevice = deviceinof as IASZone; |
| | | var intvalue = conditions["AttriButeData1"]; |
| | | icon = $"ZigeeLogic/sensor{iASZonedevice.IasDeviceType}.png"; |
| | | switch (iASZonedevice.IasDeviceType) |
| | | { |
| | | case 13: |
| | | { |
| | | if (conditions.ContainsKey("IgnoreTime")) |
| | | { |
| | | int minute = int.Parse(conditions["IgnoreTime"]) / 60; |
| | | int second = int.Parse(conditions["IgnoreTime"]) % 60; |
| | | if (minute != 0 && second != 0) |
| | | { |
| | | state = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1); |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (minute == 0 && second != 0) |
| | | { |
| | | state = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1); |
| | | |
| | | } |
| | | if (minute != 0 && second == 0) |
| | | { |
| | | state = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.unattendedtime1); |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.someone); |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case 21: |
| | | case 22: |
| | | { |
| | | if (conditions.ContainsKey("IgnoreTime")) |
| | | { |
| | | |
| | | int minute = int.Parse(conditions["IgnoreTime"]) / 60; |
| | | int second = int.Parse(conditions["IgnoreTime"]) % 60; |
| | | if (minute != 0 && second != 0) |
| | | { |
| | | state = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (minute == 0 && second != 0) |
| | | { |
| | | state = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); |
| | | |
| | | } |
| | | if (minute != 0 && second == 0) |
| | | { |
| | | state = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.closetime); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (intvalue == "1") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.logicopen); |
| | | } |
| | | else |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.logicclose); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case 40: |
| | | { |
| | | if (intvalue == "1") |
| | | { |
| | | state =Language.StringByID(MyInternationalizationString.smokescreen); |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case 42: |
| | | { |
| | | if (intvalue == "1") |
| | | { |
| | | state =Language.StringByID( MyInternationalizationString.waterleakage); |
| | | } |
| | | else |
| | | { |
| | | state =Language.StringByID( MyInternationalizationString.noleakage); |
| | | } |
| | | } |
| | | break; |
| | | case 43: |
| | | { |
| | | if (intvalue == "1") |
| | | { |
| | | state =Language.StringByID( MyInternationalizationString.gas); |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case 277: |
| | | { |
| | | if (intvalue == "1") |
| | | { |
| | | state =Language.StringByID( MyInternationalizationString.callthepolice); |
| | | } |
| | | |
| | | } |
| | | break; |
| | | default: |
| | | { |
| | | if (intvalue == "1") |
| | | { |
| | | state =Language.StringByID(MyInternationalizationString.callthepolice); |
| | | } |
| | | } |
| | | break; |
| | | |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.OnOffSwitch: |
| | | { |
| | | icon = "ZigeeLogic/panel.png"; |
| | | state = Language.StringByID(MyInternationalizationString.OnOffSwitch) + conditions["Epoint"]; |
| | | } |
| | | break; |
| | | case DeviceType.DoorLock: |
| | | { |
| | | icon = "ZigeeLogic/doorlock.png"; |
| | | for (int a = 0; a < Common.Logic.CurrentLogic.Accounts.Count; a++) |
| | | { |
| | | if (Common.Logic.CurrentLogic.Accounts[a]["Type"] == "1") |
| | | { |
| | | if (Common.Logic.CurrentLogic.Accounts[a]["UserId"] == conditions["AttriButeData2"]) |
| | | { |
| | | state = Common.Logic.CurrentLogic.Accounts[a]["AccountName"]; |
| | | break; |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.TemperatureSensor: |
| | | { |
| | | // conditionIcon.UnSelectedImagePath = "ZigeeLogic/temperature.png"; |
| | | var dev = deviceinof as TemperatureSensor; |
| | | if (conditions["Cluster_ID"] == "1026") |
| | | { |
| | | dev.SensorDiv = 1; |
| | | } |
| | | else |
| | | { |
| | | dev.SensorDiv = 2; |
| | | } |
| | | string s = ""; |
| | | switch (conditions["Range"]) |
| | | { |
| | | case "0": |
| | | { |
| | | s = ">"; |
| | | } |
| | | break; |
| | | case "1": |
| | | { |
| | | s = "="; |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | s = "<"; |
| | | } |
| | | break; |
| | | case "6": |
| | | { |
| | | s = "≥"; |
| | | } |
| | | break; |
| | | case "7": |
| | | { |
| | | s = "≤"; |
| | | } |
| | | break; |
| | | }
|
| | | ///转换温度值/100
|
| | | string srtValue = (int.Parse(conditions["AttriButeData1"]) / 100).ToString(); |
| | | if (conditions["Cluster_ID"] == "1026") |
| | | { |
| | | icon = "ZigeeLogic/temperature.png"; |
| | | state = s + srtValue + "℃"; |
| | | } |
| | | else |
| | | { |
| | | icon = "ZigeeLogic/humidity.png"; |
| | | state = s + srtValue + "%"; |
| | | } |
| | | break; |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | break; |
| | | case 6: |
| | | { |
| | | switch (conditions["EnOrWithdrawMode"]) |
| | | { |
| | | case "0": |
| | | { |
| | | if (conditions["ModeId"] == "1") |
| | | { |
| | | icon = "ZigeeLogic/athome.png"; |
| | | name = Language.StringByID(MyInternationalizationString.logicathomegarrison); |
| | | |
| | | } |
| | | else |
| | | { |
| | | icon = "ZigeeLogic/leavehome.png"; |
| | | name = Language.StringByID(MyInternationalizationString.logicremovehomegarrison); |
| | | } |
| | | } |
| | | break; |
| | | case "1": |
| | | { |
| | | icon = "ZigeeLogic/withdrawal.png"; |
| | | name = Language.StringByID(MyInternationalizationString.withdrawal); |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | icon = "ZigeeLogic/withdrawal.png"; |
| | | name = Language.StringByID(MyInternationalizationString.urgentwithdrawal); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | break; |
| | | case 7: |
| | | { |
| | | icon = "ZigeeLogic/position.png"; |
| | | name = Language.StringByID(MyInternationalizationString.geographicalposition); |
| | | foreach (var radius in Common.Logic.CurrentLogic.Accounts) |
| | | { |
| | | if (radius["Type"] == "7") |
| | | { |
| | | if (conditions["AtHome"] == "1") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.athome) + radius["Radius"] + Language.StringByID(MyInternationalizationString.mi); |
| | | } |
| | | else |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.leavehome) + radius["Radius"] + Language.StringByID(MyInternationalizationString.mi); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | if (Type != 1) |
| | | { |
| | | selecteddevice.ordinaryBtn.Visible = true; |
| | | selecteddevice.iconBtn.UnSelectedImagePath = icon; |
| | | selecteddevice.ordinaryBtn.Text = name; |
| | | selecteddevice.selecetddevicestateBtn.Text = state; |
| | | } |
| | | else |
| | | { |
| | | //设备状态 |
| | | selecteddevice.deviceNameBtn.Visible = true; |
| | | selecteddevice.iconBtn.UnSelectedImagePath = icon; |
| | | selecteddevice.deviceNameBtn.Text = name; |
| | | selecteddevice.selecetddevicestateBtn.Text = state; |
| | | } |
| | | ///编辑 |
| | | selecteddevice.edit.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | switch (Type) |
| | | { |
| | | |
| | | /// (0:时间点条件;1:设备状态变化条件;2:其他逻辑条件;3:计数器条件;4:倒计时;5:时间段条件;6:安防条件;7:地理位置) |
| | | case 0: |
| | | { |
| | | var timePoint = new TimePoint(); |
| | | UserView.HomePage.Instance.AddChidren(timePoint); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | timePoint.IsEditor = true; |
| | | timePoint.Show(conditions); |
| | | } |
| | | break; |
| | | case 5: |
| | | { |
| | | var timePage = new TimePage(); |
| | | UserView.HomePage.Instance.AddChidren(timePage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | timePage.str1 = conditions["StartHour"] + ":" + conditions["StartMin"] + "-" + conditions["StopHour"] + ":" + conditions["StopMin"]; |
| | | timePage.IsEditor = true; |
| | | timePage.Show(); |
| | | } |
| | | break; |
| | | case 1: |
| | | { |
| | | var deviceinof = Method.GetCommonDevice(conditions["MacAddr"], conditions["Epoint"]); |
| | | if (deviceinof.Type != DeviceType.DoorLock) |
| | | { |
| | | var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; |
| | | this.AddChidren(flMain); |
| | | CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "condition_logic"); |
| | | } |
| | | else |
| | | { |
| | | var memberList = new MemberList(); |
| | | UserView.HomePage.Instance.AddChidren(memberList); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | MemberList.edit = true; |
| | | memberList.Show(deviceinof, conditions); |
| | | } |
| | | } |
| | | break; |
| | | case 6: |
| | | { |
| | | var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; |
| | | this.AddChidren(flMain); |
| | | AddLogicPage.SecurityView(flMain, true); |
| | | } |
| | | break; |
| | | case 7: |
| | | { |
| | | var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; |
| | | this.AddChidren(flMain); |
| | | AddLogicPage.LocationView(flMain, true); |
| | | } |
| | | break; |
| | | } |
| | | }; |
| | | ///删除控件 |
| | | selecteddevice.del.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm, |
| | | Language.StringByID(MyInternationalizationString.doyouwanttodelete), |
| | | Language.StringByID(MyInternationalizationString.confrim)); |
| | | alert.Show(); |
| | | |
| | | alert.ConfirmClickEvent += () => |
| | | { |
| | | Common.Logic.CurrentLogic.Conditions.Remove(conditions); |
| | | selecteddevice.selecetdFrameLayout.RemoveFromParent(); |
| | | //var logicCommunalPage = new LogicCommunalPage(); |
| | | //UserView.HomePage.Instance.AddChidren(logicCommunalPage); |
| | | //UserView.HomePage.Instance.PageIndex += 1; |
| | | //logicCommunalPage.Show(() => { }); |
| | | }; |
| | | |
| | | }; |
| | | |
| | | } |
| | | } |
| | | |
| | | new LogicDveiceStatus { }.Conditions(this, middle, ListConditions, logicTextBox.Text.Trim()); |
| | | |
| | | #endregion |
| | | |
| | |
| | | addactionview.iconBtn.Visible = true; |
| | | addactionview.titleBtn.TextID = MyInternationalizationString.execute; |
| | | middle.AddChidren(addactionview.AddDeviceView()); |
| | | |
| | | addactionview.clickBtn.MouseUpEventHandler+= (sender, e) => |
| | | { |
| | | Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); |
| | | Method.View(IfString.Action_Logic,IfString.Action_LogicScene); |
| | | }; |
| | | addactionview.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); |
| | | Method.View(IfString.Action_Logic, IfString.Action_LogicScene); |
| | | }; |
| | | |
| | | List<Dictionary<string, object>> ListActions = new List<Dictionary<string, object>>(); |
| | | ListActions.Clear(); |
| | | ListActions.AddRange(Common.Logic.CurrentLogic.Actions); |
| | | ListActions.Add(new Dictionary<string, object>()); |
| | | |
| | | for (int i = 0; i < ListActions.Count; i++) |
| | | { |
| | | if (i == (ListActions.Count - 1)) |
| | | { |
| | | |
| | | LogicView.AddDeviceView addflview = new LogicView.AddDeviceView(); |
| | | addflview.titleBtn.TextID = MyInternationalizationString.addfunction; |
| | | middle.AddChidren(addflview.AddFl()); |
| | | addflview.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); |
| | | Method.View(IfString.Action_Logic, IfString.Action_LogicScene); |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | |
| | | SelectedDeviceView actiondevice = new SelectedDeviceView(); |
| | | actiondevice.Show(middle); |
| | | var linkType = int.Parse(ListActions[i]["LinkType"].ToString()); |
| | | var actions = ListActions[i]; |
| | | string name = ""; |
| | | string icon = ""; |
| | | string state = ""; |
| | | |
| | | switch (linkType) |
| | | { |
| | | case 0: |
| | | case 8: |
| | | { |
| | | |
| | | var deviceinof = Method.GetCommonDevice(actions["DeviceAddr"].ToString(), actions["Epoint"].ToString()); |
| | | name = LocalDevice.Current.GetDeviceEpointName(deviceinof); |
| | | actiondevice.regionNameBtn.Visible = true; |
| | | Method.RoomNmae(actiondevice.regionNameBtn, deviceinof); |
| | | switch (deviceinof.Type) |
| | | { |
| | | case DeviceType.OnOffOutput: |
| | | { |
| | | icon = "ZigeeLogic/light.png"; |
| | | |
| | | var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; |
| | | if (TaskList == null) |
| | | { |
| | | continue; |
| | | } |
| | | foreach (var status in TaskList) |
| | | { |
| | | if (status["TaskType"].ToString() == "1") |
| | | { |
| | | if (status["Data1"].ToString() == "0") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.close); |
| | | |
| | | } |
| | | else if (status["Data1"].ToString() == "1") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.open); |
| | | |
| | | } |
| | | else if (status["Data1"].ToString() == "2") |
| | | { |
| | | |
| | | state = Language.StringByID(MyInternationalizationString.onoff); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case DeviceType.DimmableLight: |
| | | { |
| | | icon = "ZigeeLogic/dimmableLight.png"; |
| | | var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; |
| | | if (TaskList == null) |
| | | { |
| | | continue; |
| | | } |
| | | foreach (var status in TaskList) |
| | | { |
| | | if (status["TaskType"].ToString() == "3") |
| | | { |
| | | var intvalue = int.Parse(status["Data1"]); |
| | | var lightbrightnessvalue = (intvalue * 100) / 254; |
| | | state = lightbrightnessvalue.ToString() + "%"; |
| | | } |
| | | else if (status["TaskType"].ToString() == "1") |
| | | { |
| | | |
| | | if (status["Data1"].ToString() == "0") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.close); |
| | | } |
| | | else if (status["Data1"].ToString() == "2") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.onoff); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case DeviceType.WindowCoveringDevice: |
| | | { |
| | | icon = "ZigeeLogic/curtain.png"; |
| | | var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; |
| | | if (TaskList == null) |
| | | { |
| | | continue; |
| | | } |
| | | foreach (var status in TaskList) |
| | | { |
| | | if (status["TaskType"] == "6") |
| | | { |
| | | if (status["Data1"] == "0") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.open); |
| | | } |
| | | else if (status["Data1"] == "1") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.close); |
| | | } |
| | | else if (status["Data1"] == "5") |
| | | { |
| | | state = status["Data2"] + "%"; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.AirSwitch: |
| | | { |
| | | icon = "ZigeeLogic/airswitch.png"; |
| | | |
| | | var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; |
| | | if (TaskList == null) |
| | | { |
| | | continue; |
| | | } |
| | | foreach (var status in TaskList) |
| | | { |
| | | if (status["TaskType"].ToString() == "1") |
| | | { |
| | | if (status["Data1"].ToString() == "0") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.close); |
| | | |
| | | } |
| | | else if (status["Data1"].ToString() == "1") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.open); |
| | | |
| | | } |
| | | else if (status["Data1"].ToString() == "2") |
| | | { |
| | | |
| | | state = Language.StringByID(MyInternationalizationString.onoff); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case DeviceType.Thermostat: |
| | | { |
| | | icon = "ZigeeLogic/ac.png"; |
| | | |
| | | var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; |
| | | if (TaskList == null) |
| | | { |
| | | continue; |
| | | } |
| | | string modetext = "", temperaturetext = "", speedtext = ""; |
| | | bool ifclose = false; |
| | | foreach (var status in TaskList) |
| | | { |
| | | |
| | | if (TaskList.Count == 1) |
| | | { |
| | | //数组只有一个元素说明当前空调状态为关; |
| | | ifclose = false; |
| | | //如果空调状态是关;直接跳出for循坏; |
| | | break; |
| | | } |
| | | else |
| | | { |
| | | ifclose = true; |
| | | } |
| | | if (status["TaskType"].ToString() == "5") |
| | | { |
| | | if (status["Data1"] == "3") |
| | | {//3---设置工作模式(1:自动;3:制冷;4:制热;7:送风;8:除湿) |
| | | switch (status["Data2"]) |
| | | { |
| | | case "3": |
| | | { |
| | | modetext = Language.StringByID(MyInternationalizationString.logiccool); |
| | | } |
| | | break; |
| | | case "4": |
| | | { |
| | | modetext = Language.StringByID(MyInternationalizationString.logicheat); |
| | | } |
| | | break; |
| | | case "1": |
| | | { |
| | | modetext = Language.StringByID(MyInternationalizationString.logicauto); |
| | | } |
| | | break; |
| | | case "8": |
| | | { |
| | | modetext = Language.StringByID(MyInternationalizationString.logicdry); |
| | | } |
| | | break; |
| | | case "7": |
| | | { |
| | | modetext = Language.StringByID(MyInternationalizationString.logicfanonly); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | else if (status["Data1"] == "6") |
| | | {//6---设置风扇模式(1:低风;2:中风;3:高风;) |
| | | switch (status["Data2"]) |
| | | { |
| | | case "1": |
| | | { |
| | | speedtext = Language.StringByID(MyInternationalizationString.logiclow); |
| | | } |
| | | break; |
| | | |
| | | case "2": |
| | | { |
| | | speedtext = Language.StringByID(MyInternationalizationString.logicmedium); |
| | | } |
| | | break; |
| | | case "3": |
| | | { |
| | | speedtext = Language.StringByID(MyInternationalizationString.logichigh); |
| | | } |
| | | break; |
| | | |
| | | } |
| | | } |
| | | //4---设置加热度数;5---设置制冷、除湿度数;7---设置自动度数 |
| | | else if (status["Data1"] == "4" || status["Data1"] == "5" || status["Data1"] == "7") |
| | | { |
| | | var s = int.Parse(status["Data2"]) / 100; |
| | | temperaturetext = s.ToString(); |
| | | } |
| | | else if (status["Data1"] == "20") |
| | | { |
| | | temperaturetext = "无"; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | if (ifclose) |
| | | { |
| | | state = modetext + ";" + temperaturetext + "℃;" + speedtext; |
| | | } |
| | | else |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.close); |
| | | |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.DoorLock: |
| | | { |
| | | //门锁特殊 |
| | | icon = "ZigeeLogic/doorlock.png"; |
| | | if (actions["PassData"].ToString() == "055704010112") |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.logicopen); |
| | | } |
| | | else |
| | | { |
| | | state = Language.StringByID(MyInternationalizationString.logicclose); |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.ColorTemperatureLight: |
| | | { |
| | | icon = "ZigeeLogic/nightLight.png"; |
| | | var taskList = actions["TaskList"] as List<Dictionary<string, string>>; |
| | | if (taskList == null) |
| | | { |
| | | continue; |
| | | } |
| | | foreach (var tasks in taskList) |
| | | { |
| | | switch (tasks["TaskType"]) |
| | | { |
| | | case "1": |
| | | { |
| | | if (tasks["Data1"] == "0") |
| | | { |
| | | state += Language.StringByID(MyInternationalizationString.close) + ";"; |
| | | } |
| | | else |
| | | { |
| | | state += Language.StringByID(MyInternationalizationString.open) + ";"; |
| | | } |
| | | } |
| | | break; |
| | | |
| | | } |
| | | } |
| | | foreach (var tasks in taskList) |
| | | { |
| | | switch (tasks["TaskType"]) |
| | | { |
| | | |
| | | case "3": |
| | | { |
| | | var intvalue = int.Parse(tasks["Data1"]); |
| | | var lightbrightnessvalue = (intvalue * 100) / 254; |
| | | state += Language.StringByID(MyInternationalizationString.brightness) + lightbrightnessvalue.ToString() + "%;"; |
| | | } |
| | | break; |
| | | |
| | | } |
| | | } |
| | | foreach (var tasks in taskList) |
| | | { |
| | | switch (tasks["TaskType"]) |
| | | { |
| | | |
| | | case "7": |
| | | { |
| | | if (tasks["Data1"] == "0") |
| | | { |
| | | state += Language.StringByID(MyInternationalizationString.buzzer) + Language.StringByID(MyInternationalizationString.close) + ";"; |
| | | } |
| | | else |
| | | { |
| | | state += Language.StringByID(MyInternationalizationString.buzzer) + Language.StringByID(MyInternationalizationString.open) + ";"; |
| | | } |
| | | } |
| | | break; |
| | | |
| | | } |
| | | } |
| | | foreach (var tasks in taskList) |
| | | { |
| | | switch (tasks["TaskType"]) |
| | | { |
| | | |
| | | case "8": |
| | | { |
| | | var intvalue = int.Parse(tasks["Data1"]); |
| | | var colorTemperatureValue = 1000000/(intvalue *100); |
| | | state += Language.StringByID(MyInternationalizationString.colorTemperature) + colorTemperatureValue.ToString() + "K"; |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | |
| | | state=state.TrimEnd(';');//去掉最后那个";" |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case 2: |
| | | { |
| | | //在本地查找该场景; |
| | | var sceneinof = UserCenter.HdlSceneLogic.Current.GetSceneUIBySceneId(Convert.ToInt32(actions["DeviceAddr"].ToString())); |
| | | //本地没有存在; |
| | | if (sceneinof == null) |
| | | { |
| | | //实现目的:显示出来让可以自己是否删除 |
| | | sceneinof = new SceneUI(); |
| | | #region -------- |
| | | ////在网关查找该场景; |
| | | ////标记问题:网络请求,存在视图加载快慢的问题; |
| | | //sceneinof = await Send.GetScene(int.Parse(actions["DeviceAddr"].ToString())); |
| | | ////网关没有存在; |
| | | //if (sceneinof == null) |
| | | //{ |
| | | // //注解:本地和网关都不存在该场景,界面将不会显示该场景; |
| | | // //sceneinof = new SceneUI(); |
| | | // //移除该场景数据; |
| | | // Common.Logic.CurrentLogic.Actions.Remove(actions); |
| | | // //移除该场景视图; |
| | | // devicesFrameLayout.RemoveFromParent(); |
| | | // continue; |
| | | //} |
| | | #endregion |
| | | } |
| | | |
| | | icon = "ZigeeLogic/scene.png"; |
| | | name = sceneinof.Name; |
| | | actiondevice.regionNameBtn.Visible = true; |
| | | /////通过设备找到区域(房间)名称 |
| | | Common.Room room = new Common.Room(); |
| | | actiondevice.regionNameBtn.Text = UserCenter.HdlRoomLogic.Current.GetRoomNameBySceneId(sceneinof.Id); |
| | | |
| | | } |
| | | break; |
| | | case 6: |
| | | { |
| | | |
| | | |
| | | |
| | | if (actions["SecuritySetting"].ToString() == "0") |
| | | { |
| | | if (actions["Password"].ToString() == "888888") |
| | | { |
| | | icon = "ZigeeLogic/withdrawal.png"; |
| | | state = Language.StringByID(MyInternationalizationString.urgentwithdrawal); |
| | | } |
| | | else |
| | | { |
| | | icon = "ZigeeLogic/withdrawal.png"; |
| | | state = Language.StringByID(MyInternationalizationString.withdrawal); |
| | | |
| | | } |
| | | } |
| | | else if (actions["SecuritySetting"].ToString() == "1") |
| | | { |
| | | if (actions["SecurityModeId"].ToString() == "1") |
| | | { |
| | | icon = "ZigeeLogic/athome.png"; |
| | | state = Language.StringByID(MyInternationalizationString.logicathomegarrison); |
| | | } |
| | | else if (actions["SecurityModeId"].ToString() == "2") |
| | | { |
| | | icon = "ZigeeLogic/leavehome.png"; |
| | | state = Language.StringByID(MyInternationalizationString.logicremovehomegarrison); |
| | | } |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case 7: |
| | | { |
| | | var delaytimevalue = int.Parse(actions["DelayTime"].ToString()); |
| | | var Minutes = delaytimevalue / 60; |
| | | var seconds = delaytimevalue % 60; |
| | | |
| | | icon = "ZigeeLogic/delay.png"; |
| | | |
| | | if (Minutes != 0) |
| | | { |
| | | if (seconds == 0) |
| | | { |
| | | state = Minutes.ToString() + Language.StringByID(MyInternationalizationString.minute); |
| | | } |
| | | else |
| | | { |
| | | state = Minutes.ToString() + Language.StringByID(MyInternationalizationString.minute) + seconds.ToString() + Language.StringByID(MyInternationalizationString.second); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | state = seconds.ToString() + Language.StringByID(MyInternationalizationString.second); |
| | | } |
| | | //记录延时; |
| | | actiondevice.edit.Tag = i; |
| | | }; |
| | | break; |
| | | } |
| | | |
| | | if (linkType != 2) |
| | | { |
| | | actiondevice.stateRow.AddRightView(actiondevice.edit); |
| | | } |
| | | actiondevice.stateRow.AddRightView(actiondevice.del); |
| | | |
| | | if (linkType == 6 || linkType == 7) |
| | | { |
| | | actiondevice.ordinaryBtn.Visible = true; |
| | | actiondevice.iconBtn.UnSelectedImagePath = icon; |
| | | actiondevice.ordinaryBtn.Text = name; |
| | | actiondevice.selecetddevicestateBtn.Text = state; |
| | | } |
| | | else |
| | | { |
| | | //设备状态 |
| | | actiondevice.deviceNameBtn.Visible = true; |
| | | actiondevice.iconBtn.UnSelectedImagePath = icon; |
| | | actiondevice.deviceNameBtn.Text = name; |
| | | actiondevice.selecetddevicestateBtn.Text = state; |
| | | } |
| | | ///编辑 |
| | | actiondevice.edit.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | switch (linkType) |
| | | { |
| | | case 8: |
| | | case 0: |
| | | { |
| | | var deviceinof = Method.GetCommonDevice(actions["DeviceAddr"].ToString(), actions["Epoint"].ToString()); |
| | | if (deviceinof.Type != DeviceType.ColorTemperatureLight) |
| | | { |
| | | var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; |
| | | this.AddChidren(flMain); |
| | | CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "action_logic"); |
| | | } |
| | | else |
| | | { |
| | | var nightlight = new Nightlight(); |
| | | UserView.HomePage.Instance.AddChidren(nightlight); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | nightlight.Show(deviceinof, true, "logic", actions); |
| | | } |
| | | } |
| | | break; |
| | | case 6: |
| | | { |
| | | var securityMode = new SecurityMode(); |
| | | UserView.HomePage.Instance.AddChidren(securityMode); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | securityMode.IsDeviceEditor = true; |
| | | securityMode.Show(); |
| | | } |
| | | break; |
| | | case 7: |
| | | { |
| | | var delayTime = new DelayTime(); |
| | | UserView.HomePage.Instance.AddChidren(delayTime); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | delayTime.Show(int.Parse(actiondevice.edit.Tag.ToString()), true); |
| | | } |
| | | break; |
| | | |
| | | } |
| | | }; |
| | | ///删除控件 |
| | | actiondevice.del.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm, |
| | | Language.StringByID(MyInternationalizationString.doyouwanttodelete), |
| | | Language.StringByID(MyInternationalizationString.confrim)); |
| | | alert.Show(); |
| | | alert.ConfirmClickEvent += () => |
| | | { |
| | | Common.Logic.CurrentLogic.Actions.Remove(actions); |
| | | actiondevice.selecetdFrameLayout.RemoveFromParent(); |
| | | // devicesFrameLayout.RemoveFromParent(); |
| | | //var logicCommunalPage = new LogicCommunalPage(); |
| | | //UserView.HomePage.Instance.AddChidren(logicCommunalPage); |
| | | //UserView.HomePage.Instance.PageIndex += 1; |
| | | //logicCommunalPage.Show(() => { }); |
| | | }; |
| | | |
| | | }; |
| | | } |
| | | } |
| | | new LogicDveiceStatus { }.Actions(this, middle, ListActions, logicTextBox.Text.Trim()); |
| | | |
| | | #endregion |
| | | |
| | |
| | | //Text = "每天", |
| | | TextColor = ZigbeeColor.Current.LogicBtnCancelColor, |
| | | TextID = MyInternationalizationString.everyday, |
| | | Y = Application.GetRealHeight(35+30), |
| | | Y = Application.GetRealHeight(35 + 30), |
| | | X = weekview.titleBtn.Right, |
| | | TextSize = 14, |
| | | }; |
| | | weekview.frameLayout.AddChidren(weekBtn); |
| | | Method.UpdateWeek(weekBtn,Common.Logic.CurrentLogic); |
| | | Method.UpdateWeek(weekBtn, Common.Logic.CurrentLogic); |
| | | EventHandler<MouseEventArgs> cycleclick = (sender, e) => |
| | | { |
| | | /*------保留每月,每年类型*/ |
| | | var cycle = new Cycle(() => { Method.UpdateWeek(weekBtn, Common.Logic.CurrentLogic);}); |
| | | var cycle = new Cycle(() => { Method.UpdateWeek(weekBtn, Common.Logic.CurrentLogic); }); |
| | | UserView.HomePage.Instance.AddChidren(cycle); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | cycle.Show(); |
| | |
| | | |
| | | #region ----推送设置---- |
| | | Method.Push(middle); |
| | | |
| | | |
| | | #endregion |
| | | |
| | | saveBtn.clickviewBtn.MouseUpEventHandler +=(sender, e) => |
| | | { |
| | | var name = logicTextBox.Text.Trim(); |
| | | Method.SaveLogic(IfString._Logic,name, IfString.Tag, Common.Logic.CurrentLogic); |
| | | }; |
| | | saveBtn.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | var name = logicTextBox.Text.Trim(); |
| | | Method.SaveLogic(IfString._Logic, name, IfString.Tag, Common.Logic.CurrentLogic); |
| | | }; |
| | | } |
| | | |
| | | void ConditionView(bool edit) |
| | | { |
| | | Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); |
| | | #region ------组合条件界面布局部分 |
| | | var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicTranslucentColor }; |
| | | this.AddChidren(flMain); |
| | | CompleteView completeView = new CompleteView(); |
| | | flMain.AddChidren(completeView.Show(2)); |
| | | completeView.Btntitle.TextID = MyInternationalizationString.condition; |
| | | EventHandler<MouseEventArgs> clickcancel = (sender, e) => |
| | | { |
| | | UserView.HomePage.Instance.ScrollEnabled = true; |
| | | flMain.RemoveFromParent(); |
| | | }; |
| | | flMain.MouseUpEventHandler += clickcancel; |
| | | completeView.Btncancel.MouseUpEventHandler += clickcancel; |
| | | |
| | | //满足所有条件 |
| | | mFunView allFunView = new mFunView(); |
| | | allFunView.frameLayout.Y = Application.GetRealHeight(140 + 20); |
| | | completeView.Show(2).AddChidren(allFunView.Show()); |
| | | allFunView.titleBtn.TextID = MyInternationalizationString.Allconditions; |
| | | //满足其中一个条件 |
| | | mFunView ormFunview = new mFunView(); |
| | | ormFunview.frameLayout.Y = allFunView.frameLayout.Bottom; |
| | | completeView.Show(2).AddChidren(ormFunview.Show()); |
| | | ormFunview.titleBtn.TextID = MyInternationalizationString.anycondition; |
| | | ormFunview.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | #endregion |
| | | |
| | | ///满足所有条件点击事件 |
| | | allFunView.clickviewBtn.MouseUpEventHandler += (sedner, e) => |
| | | { |
| | | allFunView.selectedIconBtn.Visible = true; |
| | | ormFunview.selectedIconBtn.Visible = false; |
| | | allFunView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | ormFunview.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | }; |
| | | ///满足其中一个条件点击事件 |
| | | ormFunview.clickviewBtn.MouseUpEventHandler += (sedner, e) => |
| | | { |
| | | allFunView.selectedIconBtn.Visible = false; |
| | | ormFunview.selectedIconBtn.Visible = true; |
| | | allFunView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | ormFunview.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | }; |
| | | |
| | | if (edit) |
| | | { |
| | | if (Common.Logic.CurrentLogic.Relationship == 0) |
| | | { |
| | | allFunView.selectedIconBtn.Visible = true; |
| | | ormFunview.selectedIconBtn.Visible = false; |
| | | allFunView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | ormFunview.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | } |
| | | else |
| | | { |
| | | allFunView.selectedIconBtn.Visible = false; |
| | | ormFunview.selectedIconBtn.Visible = true; |
| | | allFunView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | ormFunview.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | } |
| | | } |
| | | completeView.Btncomplete.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (!allFunView.selectedIconBtn.Visible && !ormFunview.selectedIconBtn.Visible) |
| | | { |
| | | ///可以提示未选中状态; |
| | | return; |
| | | } |
| | | flMain.RemoveFromParent(); |
| | | |
| | | if (allFunView.selectedIconBtn.Visible) |
| | | { |
| | | Common.Logic.CurrentLogic.Relationship = 0; |
| | | |
| | | } |
| | | if (ormFunview.selectedIconBtn.Visible) |
| | | { |
| | | Common.Logic.CurrentLogic.Relationship = 1; |
| | | |
| | | } |
| | | if (edit) |
| | | { |
| | | if (Common.Logic.CurrentLogic.LogicId != 0) |
| | | { |
| | | Send.LogicControlSwitch(Common.Logic.CurrentLogic); |
| | | } |
| | | var logicCommunalPage = new LogicCommunalPage(); |
| | | UserView.HomePage.Instance.AddChidren(logicCommunalPage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | logicCommunalPage.Show(() => { }); |
| | | } |
| | | else |
| | | { |
| | | var addLogicPage = new AddLogicPage(); |
| | | UserView.HomePage.Instance.AddChidren(addLogicPage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | addLogicPage.Show(); |
| | | } |
| | | }; |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | } |