From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 16 四月 2020 17:10:57 +0800 Subject: [PATCH] 请合并代码 --- ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs | 2391 ++++++++++++++++++++++------------------------------------- 1 files changed, 884 insertions(+), 1,507 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs index 171aa2f..837877f 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs @@ -4,6 +4,7 @@ using Shared; using Shared.Common; using Shared.Phone; +using Shared.Phone.Device.Logic.LogicView; using Shared.R; using ZigBee.Device; @@ -18,233 +19,123 @@ Tag = "Logic"; } EditText logicTextBox; - public void Show(Action action) + public async void Show(Action action) { - this.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; - - var topFrameLayout1 = new FrameLayout - { - Height = Application.GetRealHeight(80), - BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor, - }; - AddChidren(topFrameLayout1); - - var topFrameLayout = new FrameLayout - { - Height = Application.GetRealHeight(140), - Y = Application.GetRealHeight(80), - BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor, - }; - AddChidren(topFrameLayout); - - var titleName = new Button - { - - TextSize = 17, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(150), - }; - topFrameLayout.AddChidren(titleName); + #region View甯冨眬浠g爜 + UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦 + TopView view = new TopView(); + this.AddChidren(view.TopRowView()); if (Common.Logic.CurrentLogic.LogicId != 0) { - titleName.Text = Language.StringByID(MyInternationalizationString.editautomation); + view.toptitleNameBtn.Text = Language.StringByID(MyInternationalizationString.editautomation); } else { - titleName.Text = Language.StringByID(MyInternationalizationString.newautomation); + view.toptitleNameBtn.Text = Language.StringByID(MyInternationalizationString.newautomation); } - - var back = new Button + view.clickBtn.MouseDownEventHandler += (sender, e) => { - Width = Application.GetRealWidth(110), - Height = Application.GetRealHeight(110), - X = Application.GetRealWidth(20), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "ZigeeLogic/Back.png", - }; - topFrameLayout.AddChidren(back); - - back.MouseDownEventHandler += (sender, e) => - { - //if (Common.Logic.CurrentLogic.LogicId != 0) - //{ - // Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); - // action(); - // Send.AddModifyLogic(Common.Logic.CurrentLogic); - //} + // UserView.HomePage.Instance.ScrollEnabled = true;//鎭㈠宸︽粦 action(); RemoveFromParent(); }; - - - var middle = new VerticalScrolViewLayout(); - middle.Y = topFrameLayout.Bottom; - middle.Height = Application.GetRealHeight(1920 - 220 - 194); - middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; + var middle = new VerticalScrolViewLayout + { + Y = view.topRowLayout.Bottom, + Height = Application.GetRealHeight(Method.H - 184-180), + BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; this.AddChidren(middle); - - var fl = new FrameLayout - { - Height = Application.GetRealHeight(280), - BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, - }; - middle.AddChidren(fl); - - #region -----姣忓ぉ 璁剧疆鍛ㄦ湡----- - var weekfl = new FrameLayout - { - Height = Application.GetRealHeight(140), - Y = Application.GetRealHeight(20), - }; - fl.AddChidren(weekfl); - - var btnweektext = new Button - { - Width = Application.GetRealWidth(900 - 300), - Height = Application.GetRealHeight(70), - X = Application.GetRealWidth(140 + 300), - TextAlignment = TextAlignment.CenterRight, - //Text = "姣忓ぉ", - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextID = MyInternationalizationString.everyday, - }; - weekfl.AddChidren(btnweektext); - var settxet = new Button - { - Width = Application.GetRealWidth(900 - 500), - Height = Application.GetRealHeight(70), - X = Application.GetRealWidth(140 + 500), - TextAlignment = TextAlignment.CenterRight, - Y = btnweektext.Bottom, - //Text = "璁剧疆鍛ㄦ湡", - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextID = MyInternationalizationString.setupcycle, - }; - weekfl.AddChidren(settxet); - - UpdateWeek(btnweektext); - - EventHandler<MouseEventArgs> cycleclick = (sender, e) => - { - /*------淇濈暀姣忔湀,姣忓勾绫诲瀷*/ - //var cycle = new Cycle(() => { UpdateWeek(btnweektext); }); - //UserView.HomePage.Instance.AddChidren(cycle); - //UserView.HomePage.Instance.PageIndex += 1; - //cycle.Show(); - - var cyclicCycle = new CyclicCycle(() => { UpdateWeek(btnweektext); }); - UserView.HomePage.Instance.AddChidren(cyclicCycle); - UserView.HomePage.Instance.PageIndex += 1; - cyclicCycle.Show(); - }; - btnweektext.MouseUpEventHandler += cycleclick; - settxet.MouseUpEventHandler += cycleclick; + var saveBtn = new SaveView(); + saveBtn.frameLayout.Y = middle.Bottom; + saveBtn.frameLayout.Height = Application.GetRealHeight(180); + this.AddChidren(saveBtn.Show()); #endregion #region -----鑷姩鍖栧悕绉� 璁剧疆鍚嶇О----- var logicnamefl = new FrameLayout { - Height = Application.GetRealHeight(140), - Y = weekfl.Bottom, - //BackgroundColor=0xff453736, + Height = Application.GetRealHeight(130), + BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, }; - fl.AddChidren(logicnamefl); + middle.AddChidren(logicnamefl); var text = new Button { - Width = Application.GetRealWidth(600), + Width = Application.GetRealWidth(300), Height = Application.GetRealHeight(60), - X = Application.GetRealWidth(50), + X = Application.GetRealWidth(58), TextAlignment = TextAlignment.CenterLeft, //Text = "鑷姩鍖栧悕绉�", TextID = MyInternationalizationString.automationname, - TextColor = ZigbeeColor.Current.LogicViewBackgroundColor, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + Y = Application.GetRealHeight(35), + TextSize = 15, }; logicnamefl.AddChidren(text); logicTextBox = new EditText { - Width = Application.GetRealWidth(900), + Y = Application.GetRealHeight(35), + Width = Application.GetRealWidth(1080-58-300), Height = Application.GetRealHeight(60), - X = Application.GetRealWidth(40 + 20), - Y = text.Bottom + Application.GetRealHeight(10), + X = text.Right, TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextSize = 13, + TextColor = ZigbeeColor.Current.LogicBtnCancelColor, + TextSize = 14, Text = Common.Logic.CurrentLogic.LogicName, //TextID=MyInternationalizationString.automation1, }; logicnamefl.AddChidren(logicTextBox); - var btnline = new Button + var fraline = new FrameLayout { - Height = Application.GetRealHeight(4), - Y = Application.GetRealHeight(140 - 4), - BackgroundColor = ZigbeeColor.Current.LogicLineColor, + Height = Application.GetRealHeight(30), }; - logicnamefl.AddChidren(btnline); + middle.AddChidren(fraline); #endregion #region -----鏄剧ず閫昏緫鏉′欢----- - var conditionRowLayout = new RowLayout - { - Height = Application.GetRealHeight(150), - //BackgroundColor = 0xff323232, - }; - middle.AddChidren(conditionRowLayout); + Addview addconditionview = new Addview(); + addconditionview.iconBtn.Visible = true; + addconditionview.titleBtn.TextID = MyInternationalizationString.ifcondition; + middle.AddChidren(addconditionview.AddDeviceView()); - conditionRowLayout.AddChidren(new Button - { - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(60), - //Text = "濡傛灉", - TextID = MyInternationalizationString.ifcondition, - TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), - // Gravity = Gravity.CenterVertical, - TextColor = ZigbeeColor.Current.LogicViewBackgroundColor, - Y = Application.GetRealHeight(90), - TextSize = 16, - }); - - var conditionadd = new Button - { - Width = Application.GetRealWidth(110), - Height = Application.GetRealHeight(100), - UnSelectedImagePath = "ZigeeLogic/add.png", - X = Application.GetRealWidth(1080 - 140), - Gravity = Gravity.CenterVertical, - }; - conditionRowLayout.AddChidren(conditionadd); ///娣诲姞鏉′欢鐨勭偣鍑讳簨浠� - conditionadd.MouseUpEventHandler += (sender, e) => + addconditionview.clickBtn.MouseUpEventHandler+= (sender, e) => { - ConditionView(); + 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(); + } }; - - List<Dictionary<string, string>> ListConditions = new List<Dictionary<string, string>>(); ListConditions.Clear(); ListConditions.AddRange(Common.Logic.CurrentLogic.Conditions); ListConditions.Add(new Dictionary<string, string>()); if (Common.Logic.CurrentLogic.Conditions.Count > 1) { - //inputVerticalScrolViewLayout.Height = Application.GetRealHeight(160 * ListConditions.Count) + Application.GetRealHeight(60); var row = new FrameLayout { Height = Application.GetRealHeight(60), + BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, }; - //inputVerticalScrolViewLayout.AddChidren(row); middle.AddChidren(row); var relationship = new Button { Width = Application.GetRealWidth(600), Height = Application.GetRealHeight(60), TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), - TextColor = ZigbeeColor.Current.LogicViewBackgroundColor, + X = Application.GetRealWidth(58), + TextColor = ZigbeeColor.Current.LogicBtnCompleteColor, }; row.AddChidren(relationship); if (Common.Logic.CurrentLogic.Relationship == 0) @@ -255,256 +146,160 @@ { relationship.Text = Language.StringByID(MyInternationalizationString.followingconditions) + Language.StringByID(MyInternationalizationString.anycondition); } + EventHandler<MouseEventArgs> editclick = (sender, e) => + { + + ConditionView(true); + }; + row.MouseUpEventHandler += editclick; + relationship.MouseUpEventHandler += editclick; + } for (int i = 0; i < ListConditions.Count; i++) { if (i == (ListConditions.Count - 1)) { - - var addfl = new FrameLayout + LogicView.AddDeviceView addflview = new LogicView.AddDeviceView(); + addflview.titleBtn.TextID = MyInternationalizationString.addconditions; + middle.AddChidren(addflview.AddFl()); + addflview.clickBtn.MouseUpEventHandler += (sender, e) => { - Height = Application.GetRealHeight(160), - }; - middle.AddChidren(addfl); - var addbtn = new Button - { - Height = Application.GetRealHeight(120), - Width = Application.GetRealWidth(1000), - X = Application.GetRealWidth(40), - Y = Application.GetRealHeight(40), - Radius = (uint)Application.GetRealHeight(30), - //Text = "娣诲姞鏉′欢", - BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextID = MyInternationalizationString.addconditions, - }; - addfl.AddChidren(addbtn); - addbtn.MouseUpEventHandler += (sender, e) => - { - ConditionView(); + 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 { - var conditionsowLayout = new RowLayout - { - Height = Application.GetRealHeight(160), - }; - middle.AddChidren(conditionsowLayout); + 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: { - ///鏄剧ず鏃堕棿 - var timevalue = new Button - { - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(800), - TextAlignment = TextAlignment.CenterLeft, - Gravity = Gravity.CenterVertical, - //Text = starttime, - //TextColor = 0xff121212, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - conditionsowLayout.AddChidren(timevalue); - - - var timeedit = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor, - Text = Language.StringByID(MyInternationalizationString.edit), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - conditionsowLayout.AddRightView(timeedit); - - timeedit.MouseUpEventHandler += (sender, e) => - { - var timePoint = new TimePoint(); - UserView.HomePage.Instance.AddChidren(timePoint); - UserView.HomePage.Instance.PageIndex += 1; - timePoint.IsDeviceEditor = true; - timePoint.Show(conditions); - }; //"0姝e父鏃堕棿鐐�","1鏃ュ嚭鏃堕棿","2鏃ヨ惤鏃堕棿","3姝e崍鏃堕棿" 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"]; - timevalue.Text = Language.StringByID(MyInternationalizationString.time) + conditions["StartHour"] + ":" + s; + state = conditions["StartHour"] + ":" + s; + } break; case 1: - if (int.Parse(conditions["AdjustTime"]) > 0) { - timevalue.Text = Language.StringByID(MyInternationalizationString.sunriseafter) + conditions["AdjustTime"] + Language.StringByID(MyInternationalizationString.logicminute); - } - else if (int.Parse(conditions["AdjustTime"]) < 0) - { - timevalue.Text = Language.StringByID(MyInternationalizationString.sunrisebefore) + Math.Abs(int.Parse(conditions["AdjustTime"])).ToString() + Language.StringByID(MyInternationalizationString.logicminute); - } - else - { - timevalue.Text = Language.StringByID(MyInternationalizationString.sunrise); + 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: - if (int.Parse(conditions["AdjustTime"]) > 0) { - timevalue.Text = Language.StringByID(MyInternationalizationString.sunsetafter) + conditions["AdjustTime"] + Language.StringByID(MyInternationalizationString.logicminute); - } - else if (int.Parse(conditions["AdjustTime"]) < 0) - { - timevalue.Text = Language.StringByID(MyInternationalizationString.sunsetbefore) + Math.Abs(int.Parse(conditions["AdjustTime"])).ToString() + Language.StringByID(MyInternationalizationString.logicminute); - } - else - { - timevalue.Text = Language.StringByID(MyInternationalizationString.sunset); + 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: - if (int.Parse(conditions["AdjustTime"]) > 0) { - timevalue.Text = Language.StringByID(MyInternationalizationString.noonafter) + conditions["AdjustTime"] + Language.StringByID(MyInternationalizationString.logicminute); - } - else if (int.Parse(conditions["AdjustTime"]) < 0) - { - timevalue.Text = Language.StringByID(MyInternationalizationString.noonbefore) + Math.Abs(int.Parse(conditions["AdjustTime"])).ToString() + Language.StringByID(MyInternationalizationString.logicminute); - } - else - { - timevalue.Text = Language.StringByID(MyInternationalizationString.noon); + 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"]; ///鏄剧ず鏃堕棿 - var timevalue = new Button - { - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(500), - TextAlignment = TextAlignment.CenterLeft, - Gravity = Gravity.CenterVertical, - Text = conditions["StartHour"] + ":" + s1 + "-" + conditions["StopHour"] + ":" + s2, - //TextColor = 0xff121212, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - conditionsowLayout.AddChidren(timevalue); - - - var timeedit = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor, - Text = Language.StringByID(MyInternationalizationString.edit), - //TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - conditionsowLayout.AddRightView(timeedit); - timeedit.MouseUpEventHandler += (sender, e) => - { - 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.IsDeviceEditor1 = true; - timePage.Show(); - }; + name = conditions["StartHour"] + ":" + s1 + "-" + conditions["StopHour"] + ":" + s2; + state =Language.StringByID(MyInternationalizationString.timeframe); } break; case 1: { - var deviceinof = Common.Logic.LogicDviceList.Find((obj) => { return obj.DeviceAddr == conditions["MacAddr"] && obj.DeviceEpoint.ToString() == conditions["Epoint"]; }); - if (deviceinof == null) - { - continue; - } - ///鏄剧ず璁惧鍚嶇О - var btndevice = new Button - { - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(500), - TextAlignment = TextAlignment.CenterLeft, - Gravity = Gravity.CenterVertical, - Text = deviceinof.DeviceEpointName, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - //TextColor = 0xff121212, - }; - conditionsowLayout.AddChidren(btndevice); - - - var deviceedit = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor, - Text = Language.StringByID(MyInternationalizationString.edit), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - conditionsowLayout.AddRightView(deviceedit); - deviceedit.MouseUpEventHandler += (sender, e) => - { - //var selectedDeviceState = new SelectedDeviceState(); - //UserView.HomePage.Instance.AddChidren(selectedDeviceState); - //UserView.HomePage.Instance.PageIndex += 1; - //selectedDeviceState.IsDeviceEditor = true; - //selectedDeviceState.Show(deviceinof); - var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; - this.AddChidren(flMain); - DeviceStateCondition.CurrentDeviceView(flMain, deviceinof, true); - }; - - ///鏄剧ず璁惧鏉′欢鐘舵�佹帶浠� - var devicestatus = new Button - { - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(160), - Gravity = Gravity.CenterVertical, - TextAlignment = TextAlignment.CenterRight, - X = Application.GetRealWidth(1080 - 340), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - conditionsowLayout.AddChidren(devicestatus); + 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") { - devicestatus.Text = Language.StringByID(MyInternationalizationString.open); + state = Language.StringByID(MyInternationalizationString.open); } else { - devicestatus.Text = Language.StringByID(MyInternationalizationString.close); + state = Language.StringByID(MyInternationalizationString.close); } - } - } - break; - case DeviceType.WindowCoveringDevice: - { - if (conditions["AttriButeId"] == "8")//鏈夋涔夛紝娌℃湁寮�鍏冲睘鎬d锛� - { - if (int.Parse(conditions["AttriButeData1"]) > 5) - { - devicestatus.Text = Language.StringByID(MyInternationalizationString.open); - } - else - { - devicestatus.Text = Language.StringByID(MyInternationalizationString.close); - } } } break; @@ -512,41 +307,80 @@ { var iASZonedevice = deviceinof as IASZone; var intvalue = conditions["AttriButeData1"]; + icon = $"ZigeeLogic/sensor{iASZonedevice.IasDeviceType}.png"; switch (iASZonedevice.IasDeviceType) { case 13: { if (intvalue == "1") { - devicestatus.TextID = MyInternationalizationString.someone; + state=Language.StringByID( MyInternationalizationString.someone); } else { - devicestatus.TextID = MyInternationalizationString.unmanned; + 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); + + } + + } } } break; case 21: - { - if (intvalue == "1") - { - devicestatus.TextID = MyInternationalizationString.logicopen; - } - else - { - devicestatus.TextID = MyInternationalizationString.logicclose; - } - } - break; case 22: { if (intvalue == "1") { - devicestatus.TextID = MyInternationalizationString.logicopen; + state =Language.StringByID( MyInternationalizationString.logicopen); } else { - devicestatus.TextID = MyInternationalizationString.logicclose; + 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 + { + state =Language.StringByID(MyInternationalizationString.logicclose); + } } } break; @@ -554,7 +388,7 @@ { if (intvalue == "1") { - devicestatus.TextID = MyInternationalizationString.smokescreen; + state =Language.StringByID(MyInternationalizationString.smokescreen); } } @@ -563,11 +397,11 @@ { if (intvalue == "1") { - devicestatus.TextID = MyInternationalizationString.waterleakage; + state =Language.StringByID( MyInternationalizationString.waterleakage); } else { - devicestatus.TextID = MyInternationalizationString.noleakage; + state =Language.StringByID( MyInternationalizationString.noleakage); } } break; @@ -575,7 +409,7 @@ { if (intvalue == "1") { - devicestatus.TextID = MyInternationalizationString.gas; + state =Language.StringByID( MyInternationalizationString.gas); } } @@ -584,7 +418,7 @@ { if (intvalue == "1") { - devicestatus.TextID = MyInternationalizationString.callthepolice; + state =Language.StringByID( MyInternationalizationString.callthepolice); } } @@ -593,7 +427,7 @@ { if (intvalue == "1") { - devicestatus.TextID = MyInternationalizationString.callthepolice; + state =Language.StringByID(MyInternationalizationString.callthepolice); } } break; @@ -603,227 +437,235 @@ break; case DeviceType.OnOffSwitch: { - devicestatus.Text = Language.StringByID(MyInternationalizationString.OnOffSwitch) + conditions["Epoint"]; - //if (conditions["Epoint"] == "1") - //{ - // devicestatus.TextID = MyInternationalizationString.button1; - //} - //else if (conditions["Epoint"] == "2") - //{ - // devicestatus.TextID = MyInternationalizationString.button2; - //} - //else if (conditions["Epoint"] == "3") - //{ - // devicestatus.TextID = MyInternationalizationString.button3; - //} - //else if (conditions["Epoint"] == "4") - //{ - // devicestatus.TextID = MyInternationalizationString.button4; - //} + 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 2: - { - var logicinof = Common.Logic.LogicList.Find((obj) => { return obj.LogicId.ToString() == conditions["Condition_LogicId"]; }); - if (logicinof == null) - { - continue; - } - ///鏄剧ず閫昏緫鍚嶇О - var btnlogic = new Button - { - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(700), - TextAlignment = TextAlignment.CenterLeft, - Gravity = Gravity.CenterVertical, - Text = logicinof.LogicName, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - //TextColor = 0xff121212, - }; - conditionsowLayout.AddChidren(btnlogic); + } + } + 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; + } + if (conditions["Cluster_ID"] == "1026") + { + icon = "ZigeeLogic/temperature.png"; + state = s + conditions["AttriButeData1"] + "鈩�"; + } + else + { + icon = "ZigeeLogic/humidity.png"; + state = s + conditions["AttriButeData1"] + "%"; + } + break; + } - var logicedit = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor, - Text = Language.StringByID(MyInternationalizationString.edit), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - conditionsowLayout.AddRightView(logicedit); - logicedit.MouseUpEventHandler += (sender, e) => - { - var selectedLogicStatus = new SelectedLogicStatus(); - UserView.HomePage.Instance.AddChidren(selectedLogicStatus); - UserView.HomePage.Instance.PageIndex += 1; - selectedLogicStatus.IsDeviceEditor = true; - selectedLogicStatus.Show(logicinof); - }; - - ///鏄剧ずLogic鏉′欢鐘舵�佹帶浠� - var logicstatus = new Button - { - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(160), - Gravity = Gravity.CenterVertical, - //TextColor = 0xff121212, - X = Application.GetRealWidth(1080 - 330), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextAlignment = TextAlignment.CenterRight, - }; - conditionsowLayout.AddChidren(logicstatus); - - if (conditions["IsValid"] == "1") - { - logicstatus.Text = Language.StringByID(MyInternationalizationString.open1); - } - else - { - logicstatus.Text = Language.StringByID(MyInternationalizationString.disable); } } break; case 6: { - var btnsecurity = new Button + switch (conditions["EnOrWithdrawMode"]) { - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(700), - TextAlignment = TextAlignment.CenterLeft, - Gravity = Gravity.CenterVertical, - //Text = "瀹夐槻", - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - //TextColor = 0xff121212, - TextID = MyInternationalizationString.security, - }; - conditionsowLayout.AddChidren(btnsecurity); + case "0": + { + if (conditions["ModeId"] == "1") + { + icon = "ZigeeLogic/athome.png"; + name = Language.StringByID(MyInternationalizationString.logicathomegarrison); - - var btnsecurityedit = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor, - Text = Language.StringByID(MyInternationalizationString.edit), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - conditionsowLayout.AddRightView(btnsecurityedit); - btnsecurityedit.MouseUpEventHandler += (sender, e) => - { - //var securityPage = new SecurityPage(); - //UserView.HomePage.Instance.AddChidren(securityPage); - //UserView.HomePage.Instance.PageIndex += 1; - //securityPage.IsDeviceEditor = true; - //securityPage.Show(); - - var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; - this.AddChidren(flMain); - AddLogicPage.SecurityView(flMain, true); - }; - - ///鏄剧ず瀹夐槻鏉′欢鐘舵�佹帶浠� - var securitystatus = new Button - { - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(160), - Gravity = Gravity.CenterVertical, - TextAlignment = TextAlignment.CenterRight, - X = Application.GetRealWidth(1080 - 330), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - conditionsowLayout.AddChidren(securitystatus); - - if (conditions["EnOrWithdrawMode"] == "1") - { - securitystatus.Text = Language.StringByID(MyInternationalizationString.withdrawal); - } - else - { - securitystatus.Text = Language.StringByID(MyInternationalizationString.defence); + } + 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: { - var btnlocation = new Button + icon = "ZigeeLogic/position.png"; + name = Language.StringByID(MyInternationalizationString.geographicalposition); + foreach (var radius in Common.Logic.CurrentLogic.Accounts) { - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(700), - TextAlignment = TextAlignment.CenterLeft, - Gravity = Gravity.CenterVertical, - //Text = "鍦扮悊浣嶇疆", - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - //TextColor = 0xff121212, - TextID = MyInternationalizationString.geographicalposition, - }; - conditionsowLayout.AddChidren(btnlocation); - - - var btnlocationedit = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor, - Text = Language.StringByID(MyInternationalizationString.edit), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - conditionsowLayout.AddRightView(btnlocationedit); - btnlocationedit.MouseUpEventHandler += (sender, e) => - { - - var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; - this.AddChidren(flMain); - AddLogicPage.LocationView(flMain, true); - }; - - var locationstatus = new Button - { - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(160), - Gravity = Gravity.CenterVertical, - TextAlignment = TextAlignment.CenterRight, - X = Application.GetRealWidth(1080 - 330), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - conditionsowLayout.AddChidren(locationstatus); - - if (conditions["AtHome"] == "1") - { - locationstatus.Text = Language.StringByID(MyInternationalizationString.athome); - } - else - { - locationstatus.Text = Language.StringByID(MyInternationalizationString.leavehome); + if (radius["Type"] == "7") + { + if (conditions["AtHome"] == "1") + { + state = Language.StringByID(MyInternationalizationString.athome) + radius["Radius"] + "绫�"; + } + else + { + state = Language.StringByID(MyInternationalizationString.leavehome) + radius["Radius"] + "绫�"; + } + } } } break; - } - ///鍒犻櫎鎺т欢 - var del = new Button + if (Type != 1) { - BackgroundColor = ZigbeeColor.Current.LogicDelBackgroundColor, - Text = Language.StringByID(MyInternationalizationString.del), - }; - conditionsowLayout.AddRightView(del); - - del.MouseUpEventHandler += (sender, e) => + selecteddevice.ordinaryBtn.Visible = true; + selecteddevice.iconBtn.UnSelectedImagePath = icon; + selecteddevice.ordinaryBtn.Text = name; + selecteddevice.selecetddevicestateBtn.Text = state; + } + else { - - var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete), - Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim)); - alert.ResultEventHandler += (sender1, e1) => + //璁惧鐘舵�� + selecteddevice.deviceNameBtn.Visible = true; + selecteddevice.iconBtn.UnSelectedImagePath = icon; + selecteddevice.deviceNameBtn.Text = name; + selecteddevice.selecetddevicestateBtn.Text = state; + } + ///缂栬緫 + selecteddevice.edit.MouseUpEventHandler += (sender, e) => + { + switch (Type) { - if (e1) - { - Common.Logic.CurrentLogic.Conditions.Remove(conditions); - var logicCommunalPage = new LogicCommunalPage(); - UserView.HomePage.Instance.AddChidren(logicCommunalPage); - UserView.HomePage.Instance.PageIndex += 1; - logicCommunalPage.Show(() => { }); - } - }; + + /// (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(() => { }); + }; }; @@ -834,271 +676,64 @@ #endregion #region ----鏄剧ず鎵ц鐩爣---- - var targetRowLayout = new RowLayout - { - Height = Application.GetRealHeight(150), - // BackgroundColor = 0xff323232, - }; - middle.AddChidren(targetRowLayout); + Addview addactionview = new Addview(); + addactionview.iconBtn.Visible = true; + addactionview.titleBtn.TextID = MyInternationalizationString.execute; + middle.AddChidren(addactionview.AddDeviceView()); - var btntargettitle = new Button - { - //Text = "灏辨墽琛�", - TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), - TextColor = ZigbeeColor.Current.LogicViewBackgroundColor, - Y = Application.GetRealHeight(90), - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(60), - TextSize = 16, - TextID = MyInternationalizationString.execute, - }; - targetRowLayout.AddChidren(btntargettitle); - - var btntargetadd = new Button - { - Width = Application.GetRealWidth(100), - Height = Application.GetRealHeight(100), - UnSelectedImagePath = "ZigeeLogic/add.png", - X = Application.GetRealWidth(1080 - 140), - Gravity = Gravity.CenterVertical, - }; - targetRowLayout.AddChidren(btntargetadd); - btntargetadd.MouseUpEventHandler += (sender, e) => + addactionview.clickBtn.MouseUpEventHandler+= (sender, e) => { Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); - var deviceTarget = new DeviceTarget(); - UserView.HomePage.Instance.AddChidren(deviceTarget); - UserView.HomePage.Instance.PageIndex += 1; - deviceTarget.Show(); + 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>()); - ListActions.Add(new Dictionary<string, object>() { ["LinkType"] = "11" }); - bool tag = false; - for (int i = 0; i < ListActions.Count; i++) - { - var linkType = ListActions[i]["LinkType"].ToString(); - if (linkType == "10") - { - if (ListActions[i + 1]["LinkType"].ToString() == "0") - { - var delaytime = ListActions[i]["DelayTime"].ToString(); - if (ListActions[i + 1].ContainsKey("Time")) - { - ListActions[i + 1].Remove("Time"); - } - ListActions[i + 1].Add("Time", delaytime); - } - tag = true; - //break; - } - - } - - if (!tag) - { - for (int i = 0; i < ListActions.Count; i++) - { - var linkType = ListActions[i]["LinkType"].ToString(); - if (linkType == "0") - { - var second = ListActions[i]["Time"].ToString(); - if (second != "0") - { - Dictionary<string, object> actionsInfo = new Dictionary<string, object>(); - actionsInfo.Add("LinkType", 10); - actionsInfo.Add("DelayTime", second); - ListActions.Insert(i, actionsInfo); - } - - } - - } - } - + ListActions.Add(new Dictionary<string, object>()); for (int i = 0; i < ListActions.Count; i++) { if (i == (ListActions.Count - 1)) { - var addfl = new FrameLayout - { - Height = Application.GetRealHeight(160), - }; - middle.AddChidren(addfl); - var addbtn = new Button - { - Height = Application.GetRealHeight(120), - Width = Application.GetRealWidth(1000), - X = Application.GetRealWidth(40), - Y = Application.GetRealHeight(40), - Radius = (uint)Application.GetRealHeight(30), - //Text = "娣诲姞鍔熻兘", - BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextID = MyInternationalizationString.addfunction, - }; - addfl.AddChidren(addbtn); - addbtn.MouseUpEventHandler += (sender, e) => + 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(); - var deviceTarget = new DeviceTarget(); - UserView.HomePage.Instance.AddChidren(deviceTarget); - UserView.HomePage.Instance.PageIndex += 1; - deviceTarget.Show(); + Method.View(IfString.Action_Logic, IfString.Action_LogicScene); }; } else { - var actionsrowLayout = new RowLayout - { - Height = Application.GetRealHeight(160), - }; - middle.AddChidren(actionsrowLayout); + 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 10: - { - var delaytime = actions["DelayTime"].ToString(); - - var btnDelayTime = new Button - { - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(382), - Height = Application.GetRealHeight(80), - TextAlignment = TextAlignment.CenterLeft, - Text = delaytime, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - actionsrowLayout.AddChidren(btnDelayTime); - - ///缂栬緫璁惧鐘舵�丅utton - var timeedit = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor, - Text = Language.StringByID(MyInternationalizationString.edit), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - actionsrowLayout.AddRightView(timeedit); - timeedit.MouseUpEventHandler += (sender, e) => - { - DeviceTarget.DelayTimeView(actions); - }; - - //if (tag) - //{ - // if (ListActions[i + 1]["LinkType"].ToString() == "0") - // { - // if (ListActions[i + 1].ContainsKey("Time")) - // { - // ListActions[i + 1].Remove("Time"); - // } - // ListActions[i + 1].Add("Time", delaytime); - // ///绉婚櫎鏃ф暟鎹啀娣诲姞鏂版暟鎹� - // //Common.Logic.CurrentLogic.Actions.RemoveAt(i+1); - // //Common.Logic.CurrentLogic.Actions.Insert(i + 1, Common.Logic.CurrentLogic.Actions[i + 1]); - // } - //} - } - break; case 0: + case 8: { - var obj1 = actions["DeviceAddr"].ToString(); - var obj2 = actions["Epoint"].ToString(); - var deviceinof = Common.Logic.LogicDviceList.Find((obj) => { return ((obj.DeviceAddr == obj1) && (obj.DeviceEpoint.ToString() == obj2)); }); - if (deviceinof == null) - { - continue; - } - - if (i != 0 && ListActions[i - 1]["LinkType"].ToString() != "10") - { - if (ListActions[i].ContainsKey("Time")) - { - ListActions[i].Remove("Time"); - } - ListActions[i].Add("Time", 0); - } - - ///璁惧鍚嶇ОButton - var btndevicename = new Button - { - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(382), - Height = Application.GetRealHeight(80), - TextAlignment = TextAlignment.CenterLeft, - Text = deviceinof.DeviceEpointName, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - actionsrowLayout.AddChidren(btndevicename); - - ///鍖哄煙(鎴块棿)鍚嶇ОButton - var btnregionname = new Button - { - X = Application.GetRealWidth(40), - Y = Application.GetRealHeight(80), - Width = Application.GetRealWidth(382), - TextAlignment = TextAlignment.CenterLeft, - Height = Application.GetRealHeight(80), - Text = "",//Language.StringByID(MyInternationalizationString.customroom), - TextColor = ZigbeeColor.Current.LogicViewBackgroundColor, - }; - actionsrowLayout.AddChidren(btnregionname); - ///閫氳繃璁惧鎵惧埌鍖哄煙(鎴块棿)鍚嶇О - Send.RoomNmae(btnregionname, deviceinof); - ///鏄剧ず璁惧鏉′欢鐘舵�佹帶浠� - var devicestatus = new Button - { - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(160), - Gravity = Gravity.CenterVertical, - TextAlignment = TextAlignment.CenterRight, - X = Application.GetRealWidth(1080 - 340), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - actionsrowLayout.AddChidren(devicestatus); - - ///缂栬緫璁惧鐘舵�丅utton - var deviceedit = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor, - Text = Language.StringByID(MyInternationalizationString.edit), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - actionsrowLayout.AddRightView(deviceedit); - - ///缂栬緫鐐瑰嚮浜嬩欢 - deviceedit.MouseUpEventHandler += (sender, e) => - { - //var deviceStatePage = new DeviceStatePage(); - //UserView.HomePage.Instance.AddChidren(deviceStatePage); - //UserView.HomePage.Instance.PageIndex += 1; - //deviceStatePage.IsDeviceEditor = true; - //deviceStatePage.Show(deviceinof); - - //ActionModifyDeviceStateView(deviceinof); - var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; - this.AddChidren(flMain); - LogicDevicePage.CurrentDeviceStateView(flMain, deviceinof, true); - }; - - + 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) { @@ -1108,13 +743,20 @@ { if (status["TaskType"].ToString() == "1") { - if (status["Data1"].ToString() == "1") + if (status["Data1"].ToString() == "0") { - devicestatus.Text = devicestatus.Text + Language.StringByID(MyInternationalizationString.open); + state = Language.StringByID(MyInternationalizationString.close); + } - else + else if (status["Data1"].ToString() == "1") { - devicestatus.Text = devicestatus.Text + Language.StringByID(MyInternationalizationString.close); + state = Language.StringByID(MyInternationalizationString.open); + + } + else if (status["Data1"].ToString() == "2") + { + + state = Language.StringByID(MyInternationalizationString.onoff); } } @@ -1124,6 +766,7 @@ break; case DeviceType.DimmableLight: { + icon = "ZigeeLogic/dimmableLight.png"; var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; if (TaskList == null) { @@ -1135,17 +778,18 @@ { var intvalue = int.Parse(status["Data1"]); var lightbrightnessvalue = (intvalue * 100) / 254; - devicestatus.Text = lightbrightnessvalue.ToString() + "%"; + state = lightbrightnessvalue.ToString() + "%"; } else if (status["TaskType"].ToString() == "1") { - if (status["Data1"].ToString() == "1") + + if (status["Data1"].ToString() == "0") { - devicestatus.Text = devicestatus.Text + Language.StringByID(MyInternationalizationString.open); + state = Language.StringByID(MyInternationalizationString.close); } - else + else if (status["Data1"].ToString() == "2") { - devicestatus.Text = devicestatus.Text + Language.StringByID(MyInternationalizationString.close); + state = Language.StringByID(MyInternationalizationString.onoff); } } @@ -1156,6 +800,7 @@ break; case DeviceType.WindowCoveringDevice: { + icon = "ZigeeLogic/curtain.png"; var TaskList = actions["TaskList"] as List<Dictionary<string, string>>; if (TaskList == null) { @@ -1167,165 +812,232 @@ { if (status["Data1"] == "0") { - devicestatus.Text = devicestatus.Text + Language.StringByID(MyInternationalizationString.open); + state = Language.StringByID(MyInternationalizationString.open); } else if (status["Data1"] == "1") { - devicestatus.Text = devicestatus.Text + Language.StringByID(MyInternationalizationString.close); + state = Language.StringByID(MyInternationalizationString.close); } else if (status["Data1"] == "5") { - devicestatus.Text = devicestatus.Text + status["Data2"] + "%"; + 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; } - } break; case 2: { - - var sceneinof = Common.Room.AllRoomSceneUIList.Find((obj) => { return obj.Id.ToString() == actions["DeviceAddr"].ToString(); }); + //鍦ㄦ湰鍦版煡鎵捐鍦烘櫙; + var sceneinof = UserCenter.HdlSceneLogic.Current.GetSceneUIBySceneId(Convert.ToInt32(actions["DeviceAddr"].ToString())); + //鏈湴娌℃湁瀛樺湪; if (sceneinof == null) { - continue; + //瀹炵幇鐩殑:鏄剧ず鍑烘潵璁╁彲浠ヨ嚜宸辨槸鍚﹀垹闄� + 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 } - ///鏄剧ず閫昏緫鍚嶇О - var btnlogic = new Button - { - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(500), - TextAlignment = TextAlignment.CenterLeft, - Gravity = Gravity.CenterVertical, - Text = sceneinof.Name, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - //TextColor = 0xff121212, - }; - actionsrowLayout.AddChidren(btnlogic); - } - break; - case 4: - { - var logicinof = Common.Logic.LogicList.Find((obj) => { return obj.LogicId.ToString() == actions["DeviceAddr"].ToString(); }); - if (logicinof == null) - { - continue; - } - ///鏄剧ず閫昏緫鍚嶇О - var btnlogic = new Button - { - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(500), - TextAlignment = TextAlignment.CenterLeft, - Gravity = Gravity.CenterVertical, - Text = logicinof.LogicName, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - //TextColor = 0xff121212, - }; - actionsrowLayout.AddChidren(btnlogic); + 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); - - var logicedit = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor, - Text = Language.StringByID(MyInternationalizationString.edit), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - actionsrowLayout.AddRightView(logicedit); - logicedit.MouseUpEventHandler += (sender, e) => - { - var selectedLogicState = new SelectedLogicState(); - UserView.HomePage.Instance.AddChidren(selectedLogicState); - UserView.HomePage.Instance.PageIndex += 1; - selectedLogicState.IsDeviceEditor = true; - selectedLogicState.Show(logicinof); - }; - - ///鏄剧ずLogic鏉′欢鐘舵�佹帶浠� - var logicstatus = new Button - { - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(160), - Gravity = Gravity.CenterVertical, - //TextColor = 0xff121212, - X = Application.GetRealWidth(1080 - 330), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextAlignment = TextAlignment.CenterRight, - }; - actionsrowLayout.AddChidren(logicstatus); - - if (actions["EnableLogic"].ToString() == "1") - { - logicstatus.Text = Language.StringByID(MyInternationalizationString.open1); - } - else - { - logicstatus.Text = Language.StringByID(MyInternationalizationString.disable); - } } break; case 6: { - var btnsecurity = new Button - { - X = Application.GetRealWidth(40), - Width = Application.GetRealWidth(700), - TextAlignment = TextAlignment.CenterLeft, - Gravity = Gravity.CenterVertical, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - //TextColor = 0xff121212, - TextID = MyInternationalizationString.security, - }; - actionsrowLayout.AddChidren(btnsecurity); - - var btnsecurityedit = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor, - Text = Language.StringByID(MyInternationalizationString.edit), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - actionsrowLayout.AddRightView(btnsecurityedit); - btnsecurityedit.MouseUpEventHandler += (sender, e) => - { - var securityMode = new SecurityMode(); - UserView.HomePage.Instance.AddChidren(securityMode); - UserView.HomePage.Instance.PageIndex += 1; - securityMode.IsDeviceEditor = true; - securityMode.Show(); - }; - - ///鏄剧ず瀹夐槻鏉′欢鐘舵�佹帶浠� - var securitystatus = new Button - { - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(160), - Gravity = Gravity.CenterVertical, - //TextColor = 0xff121212, - X = Application.GetRealWidth(1080 - 330), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextAlignment = TextAlignment.CenterRight, - }; - actionsrowLayout.AddChidren(securitystatus); if (actions["SecuritySetting"].ToString() == "0") { if (actions["Password"].ToString() == "888888") { - - securitystatus.Text = Language.StringByID(MyInternationalizationString.urgentwithdrawal); + icon = "ZigeeLogic/withdrawal.png"; + state = Language.StringByID(MyInternationalizationString.urgentwithdrawal); } else { - securitystatus.Text = Language.StringByID(MyInternationalizationString.withdrawal); + icon = "ZigeeLogic/withdrawal.png"; + state = Language.StringByID(MyInternationalizationString.withdrawal); } } @@ -1333,623 +1045,288 @@ { if (actions["SecurityModeId"].ToString() == "1") { - - securitystatus.Text = Language.StringByID(MyInternationalizationString.logicathomegarrison); + icon = "ZigeeLogic/athome.png"; + state = Language.StringByID(MyInternationalizationString.logicathomegarrison); } else if (actions["SecurityModeId"].ToString() == "2") { - securitystatus.Text = Language.StringByID(MyInternationalizationString.logicremovehomegarrison); + icon = "ZigeeLogic/leavehome.png"; + state = Language.StringByID(MyInternationalizationString.logicremovehomegarrison); } } } break; - } - ///鍒犻櫎鎺т欢 - var del = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicDelBackgroundColor, - Text = Language.StringByID(MyInternationalizationString.del), - }; - actionsrowLayout.AddRightView(del); - - del.MouseUpEventHandler += (sender, e) => - { - var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete), - Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim)); - alert.ResultEventHandler += (sender1, e1) => - { - if (e1) + case 7: { - Common.Logic.CurrentLogic.Actions.Remove(actions); - var logicCommunalPage = new LogicCommunalPage(); - UserView.HomePage.Instance.AddChidren(logicCommunalPage); - UserView.HomePage.Instance.PageIndex += 1; - logicCommunalPage.Show(() => { }); - } - }; + 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()); + var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; + this.AddChidren(flMain); + CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "action_logic"); + } + 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(() => { }); + }; }; - } } + #endregion + + #region -----姣忓ぉ 璁剧疆鍛ㄦ湡----- + + var fraline1 = new FrameLayout + { + Height = Application.GetRealHeight(30), + }; + middle.AddChidren(fraline1); + + Addview weekview = new Addview(); + weekview.iconBtn.Visible = true; + weekview.iconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; + weekview.titleBtn.TextID = MyInternationalizationString.setupcycle; + middle.AddChidren(weekview.AddDeviceView()); + var weekBtn = new Button + { + Width = Application.GetRealWidth(595), + Height = Application.GetRealHeight(60), + TextAlignment = TextAlignment.CenterRight, + //Text = "姣忓ぉ", + TextColor = ZigbeeColor.Current.LogicBtnCancelColor, + TextID = MyInternationalizationString.everyday, + Y = Application.GetRealHeight(35+30), + X = weekview.titleBtn.Right, + TextSize = 14, + }; + weekview.frameLayout.AddChidren(weekBtn); + Method.UpdateWeek(weekBtn,Common.Logic.CurrentLogic); + EventHandler<MouseEventArgs> cycleclick = (sender, e) => + { + /*------淇濈暀姣忔湀,姣忓勾绫诲瀷*/ + var cycle = new Cycle(() => { Method.UpdateWeek(weekBtn, Common.Logic.CurrentLogic);}); + UserView.HomePage.Instance.AddChidren(cycle); + UserView.HomePage.Instance.PageIndex += 1; + cycle.Show(); + + //var cyclicCycle = new CyclicCycle(() => { UpdateWeek(btnweektext); }); + //UserView.HomePage.Instance.AddChidren(cyclicCycle); + //UserView.HomePage.Instance.PageIndex += 1; + //cyclicCycle.Show(); + }; + weekBtn.MouseUpEventHandler += cycleclick; + weekview.clickBtn.MouseUpEventHandler += cycleclick; #endregion #region ----鎺ㄩ�佽缃�---- - /* - var pushRowLayout = new RowLayout - { - Height = Application.GetRealHeight(150), - }; - middle.AddChidren(pushRowLayout); - - var btnpushtitle = new Button - { - //Text = "鎺ㄩ�佽缃�", - //TextSize = 16, - TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealWidth(40), - //Gravity = Gravity.CenterVertical, - TextID = MyInternationalizationString.pushset, - TextColor = ZigbeeColor.Current.LogicViewBackgroundColor, - Y = Application.GetRealHeight(90), - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(60), - TextSize = 16, - //TextID = MyInternationalizationString.execute, - }; - pushRowLayout.AddChidren(btnpushtitle); - - var pushswitchRowlayout = new RowLayout - { - Height = Application.GetRealHeight(160), - LineColor = ZigbeeColor.Current.LogicLineColor, - }; - middle.AddChidren(pushswitchRowlayout); - - var btnswitchtxet = new Button - { - //Text = "鎺ㄩ�佸紑鍏�", - X = Application.GetRealWidth(40), - TextAlignment = TextAlignment.CenterLeft, - Gravity = Gravity.CenterVertical, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextID = MyInternationalizationString.pushswitch, - }; - pushswitchRowlayout.AddChidren(btnswitchtxet); - - var btnswitch = new Button - { - Width = Application.GetMinRealAverage(183), - Height = Application.GetMinRealAverage(123), - UnSelectedImagePath = "ZigeeLogic/Switch.png", - SelectedImagePath = "ZigeeLogic/SwitchSelected.png", - X = Application.GetRealWidth(1080 - 200), - Gravity = Gravity.CenterVertical, - }; - pushswitchRowlayout.AddChidren(btnswitch); - - btnswitch.MouseUpEventHandler += (sender1, e1) => - { - btnswitch.IsSelected = !btnswitch.IsSelected; - if (btnswitch.IsSelected) - { - - } - else - { - - } - }; - - var custompushRowLayout = new RowLayout - { - Height = Application.GetRealHeight(160), - }; - middle.AddChidren(custompushRowLayout); - - var btncustompush = new Button - { - TextID = MyInternationalizationString.custompush, - //Text = "鑷畾涔夋帹閫�", - TextAlignment = TextAlignment.CenterLeft, - Width = Application.GetRealWidth(300), - X = Application.GetRealWidth(40), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - custompushRowLayout.AddChidren(btncustompush); - - - var custompushback = new Button - { - Width = Application.GetRealWidth(110), - Height = Application.GetRealHeight(110), - UnSelectedImagePath = "ZigeeLogic/next.png", - SelectedImagePath = "ZigeeLogic/NextSelecte.png", - X = Application.GetRealWidth(1080 - 140), - Gravity = Gravity.CenterVertical, - }; - custompushRowLayout.AddChidren(custompushback); - EventHandler<MouseEventArgs> customclick = (sender, e) => - { - var CustomText = new CustomText(); - UserView.HomePage.Instance.AddChidren(CustomText); - UserView.HomePage.Instance.PageIndex += 1; - CustomText.Show(); - - }; - btncustompush.MouseUpEventHandler += customclick; - custompushback.MouseUpEventHandler += customclick; - custompushRowLayout.MouseUpEventHandler += customclick; - */ + Method.Push(middle); + #endregion - - var btnsave = new Button - { - Height = Application.GetRealHeight(150),//194 - Y = middle.Bottom + Application.GetRealHeight(15), - //Text = "淇濆瓨", - Width = Application.GetRealWidth(500), - Radius = (uint)Application.GetRealHeight(50), - BackgroundColor = ZigbeeColor.Current.LogicButtonBlueColor, - X = Application.GetRealWidth(290), - TextID = MyInternationalizationString.Save, - }; - if (Common.Logic.CurrentLogic.Conditions.Count != 0 && Common.Logic.CurrentLogic.Actions.Count != 0) - { - AddChidren(btnsave); - } - btnsave.MouseUpEventHandler += async (sender, e) => + saveBtn.clickviewBtn.MouseUpEventHandler +=(sender, e) => { var name = logicTextBox.Text.Trim(); + Method.SaveLogic(IfString._Logic,name, IfString.Tag, Common.Logic.CurrentLogic); + }; + } - if (string.IsNullOrEmpty(logicTextBox.Text.Trim())) - { - new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.PleaseEnterLogicName), Language.StringByID(MyInternationalizationString.Close)).Show(); - return; - } - var logicname = Common.Logic.LogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name); - if (logicname != null) - { - new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.Rename), Language.StringByID(MyInternationalizationString.Close)).Show(); - return; - } + 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; - Common.Logic.CurrentLogic.LogicName = name; + //婊¤冻鎵�鏈夋潯浠� + 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 - //鍒ゆ柇鏄柊娣诲姞閫昏緫(榛樿0)杩樻槸淇敼閫昏緫 - CommonPage.Loading.Start(); - if (Common.Logic.CurrentLogic.LogicId == 0) + ///婊¤冻鎵�鏈夋潯浠剁偣鍑讳簨浠� + 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) { - //鍙戦�佹坊鍔犻�昏緫鍛戒护 - var logicifon = await Send.AddModifyLogic(Common.Logic.CurrentLogic); - if (logicifon != null && logicifon.LogicId != 0) - { - Common.Logic.CurrentLogic.LogicId = logicifon.LogicId; - Common.Logic.LogicList.Add(Common.Logic.CurrentLogic); - } + allFunView.selectedIconBtn.Visible = true; + ormFunview.selectedIconBtn.Visible = false; + allFunView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + ormFunview.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; } else { - //鍙戦�佷慨鏀归�昏緫鍛戒护 - Send.AddModifyLogic(Common.Logic.CurrentLogic); + 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(); - CommonPage.Loading.Hide(); - UserView.HomePage.Instance.RemoveViewByTag("Logic"); - Category.Category.instance?.RefreshBodyView(); - //UserView.HomePage.Instance.RemoveAt("Logic1"); - //Category.Category category = new Category.Category(); - //UserView.HomePage.Instance.AddChidren(category); - //UserView.HomePage.Instance.PageIndex += 1; - //category.Show(2); + 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(); + } }; - } - /// <summary> - /// 鏇存柊鎵ц鍛ㄦ湡鐨勬柟娉� - /// </summary> - /// <param name="btndisplaycycle">Btndisplaycycle.</param> - void UpdateWeek(Button btndisplaycycle) - { - - switch (Common.Logic.CurrentLogic.TimeAttribute.Repeat) - { - ///0:鍙墽琛屼竴娆★紝鎵ц鍚嶪sEnable鍊肩疆;1,浠婂勾鍐呮墽琛�;2锛氭瘡澶╂墽琛�;3锛氭瘡鏈堟墽琛�;4锛氭瘡骞存墽琛�;5锛氬懆閲嶅銆� - case 0: - { - btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.executeonce); - }; break; - case 1: { }; break; - case 2: - { - btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.everyday); - }; break; - case 3: - { - - string len = ""; - int maxvalue = 0, minvalue = 0; - var stringvalue = Convert.ToString(Common.Logic.CurrentLogic.TimeAttribute.MonthDate, 2); - var str = stringvalue.Insert(0, new string('0', 32 - stringvalue.Length)); - for (int j = 31; j >= 0; j--) - { - len += str.Substring(j, 1); - } - //鎵惧嚭鏈�灏忓�� - for (int j = 0; j < len.Length; j++) - { - var strvalue = len.Substring(j, 1); - if (strvalue == "1") - { - minvalue = j + 1; - break; - } - } - //鎵惧嚭鏈�澶у�� - for (int j = 0; j < len.Length; j++) - { - var strvalue = len.Substring(j, 1); - if (strvalue == "1") - { - maxvalue = j + 1; - } - } - if (minvalue == maxvalue) - { - btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.monthly) + minvalue.ToString() + Language.StringByID(MyInternationalizationString.day); - } - else - { - btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.monthly) + minvalue.ToString() + Language.StringByID(MyInternationalizationString.day) + "-" + Language.StringByID(MyInternationalizationString.monthly) + maxvalue.ToString() + Language.StringByID(MyInternationalizationString.day); - } - }; break; - case 4: - { - - Dictionary<int, int> dictionary = new Dictionary<int, int>(); - ///鎵惧嚭鎵ц鐨勬湀浠藉拰澶╂暟 - if (Common.Logic.CurrentLogic.TimeAttribute.SelectMonDate.Count != 0) - { - for (int i = 0; i < Common.Logic.CurrentLogic.TimeAttribute.SelectMonDate.Count; i++) - { - var dayvalue = Common.Logic.CurrentLogic.TimeAttribute.SelectMonDate[i]; - if (dayvalue != 0) - { - dictionary.Add(i + 1, dayvalue); - } - } - } - if (dictionary.Count != 0 && dictionary.Count == 1) - { - string len = "", leng = ""; - int minvalue = 0, Maximum = 0; - foreach (var value in dictionary) - { - ///鍙栧嚭鏈堜唤 - var month = value.Key; - ///鍙栧嚭鏃ユ暟 - var day = value.Value; - var maxvalue = Convert.ToString(day, 2); - var str = maxvalue.Insert(0, new string('0', 32 - maxvalue.Length)); - for (int j = 31; j >= 0; j--) - { - len += str.Substring(j, 1); - } - - for (int j = 0; j < len.Length; j++) - { - var strvalue = len.Substring(j, 1); - if (strvalue == "1") - { - minvalue = j + 1; - break; - } - } - for (int j = 0; j < len.Length; j++) - { - var strvalue = len.Substring(j, 1); - if (strvalue == "1") - { - Maximum = j + 1; - } - } - - if (month.ToString().Length < 2) - { - leng = "0" + month.ToString(); - } - else - { - leng = month.ToString(); - } - if (minvalue == Maximum) - { - btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.everyyear) + leng + "/" + (minvalue.ToString().Length < 2 ? "0" + minvalue.ToString() : minvalue.ToString()); - } - else - { - btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.everyyear) + leng + "/" + (minvalue.ToString().Length < 2 ? "0" + minvalue.ToString() : minvalue.ToString()) + "-" + leng + "/" + (Maximum.ToString().Length < 2 ? "0" + Maximum.ToString() : Maximum.ToString()); - } - } - - } - else - { - int b = 0; - string stringtext = ""; - foreach (var value in dictionary) - { - string len = "", leng = ""; - int minvalue = 0, Maximum = 0; - ///鍙栧嚭鏈堜唤 - var month = value.Key; - ///鍙栧嚭鏃ユ暟 - var day = value.Value; - var maxvalue = Convert.ToString(day, 2); - var str = maxvalue.Insert(0, new string('0', 32 - maxvalue.Length)); - for (int j = 31; j >= 0; j--) - { - len += str.Substring(j, 1); - } - - - if (month.ToString().Length < 2) - { - leng = "0" + month.ToString(); - } - else - { - leng = month.ToString(); - } - - - - if (b == 0) - { - for (int j = 0; j < len.Length; j++) - { - var strvalue = len.Substring(j, 1); - if (strvalue == "1") - { - minvalue = j + 1; - break; - } - } - stringtext += leng + "/" + (minvalue.ToString().Length < 2 ? "0" + minvalue.ToString() : minvalue.ToString()) + "-"; - - } - - if (b == dictionary.Count - 1) - { - for (int j = 0; j < len.Length; j++) - { - var strvalue = len.Substring(j, 1); - if (strvalue == "1") - { - Maximum = j + 1; - } - } - stringtext += leng + "/" + (Maximum.ToString().Length < 2 ? "0" + Maximum.ToString() : Maximum.ToString()); - - } - b++; - } - btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.everyyear) + stringtext; - } - - }; break; - case 5: - { - string len = "", text = ""; - List<int> listvalueInt = new List<int>(); - listvalueInt.Clear(); - var maxvalue = Convert.ToString(Common.Logic.CurrentLogic.TimeAttribute.WeekDay, 2); - var str = maxvalue.Insert(0, new string('0', 8 - maxvalue.Length)); - for (int j = 7; j >= 0; j--) - { - len += str.Substring(j, 1); - } - - for (int j = 0; j < len.Length; j++) - { - var strvalue = len.Substring(j, 1); - if (strvalue == "1") - { - listvalueInt.Add(j + 1); - - - if ((j + 1) == 1) - { - text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.mon1) + ","; - //text += Language.StringByID(MyInternationalizationString.mon) + ","; - } - else if ((j + 1) == 2) - { - text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.tue1) + ","; - //text += Language.StringByID(MyInternationalizationString.tue) + ","; - } - else if ((j + 1) == 3) - { - text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.wed1) + ","; - //text += Language.StringByID(MyInternationalizationString.wed) + ","; - } - else if ((j + 1) == 4) - { - text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.thu1) + ","; - //text += Language.StringByID(MyInternationalizationString.thu) + ","; - } - else if ((j + 1) == 5) - { - text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.frl1) + ","; - //text += Language.StringByID(MyInternationalizationString.frl) + ","; - } - else if ((j + 1) == 6) - { - text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.sat1) + ","; - //text += Language.StringByID(MyInternationalizationString.sat) + ","; - } - else if ((j + 1) == 7) - { - text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.sun1) + ","; - //text += Language.StringByID(MyInternationalizationString.sun) + ","; - } - - - } - } - //鏆傛椂闅愯棌鎺夛紝闇�瑕佹樉绀哄懆鏈拰宸ヤ綔鏃ュ啀鏀惧紑锛� - //if (listvalueInt.Count == 5 && !listvalueInt.Contains(6) && !listvalueInt.Contains(7)) - //{ - // btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.workingday); - //} - //else if (listvalueInt.Count == 2 && listvalueInt.Contains(6) && listvalueInt.Contains(7)) - //{ - // btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.weekend); - //} - //else if (listvalueInt.Count == 7) - //{ - // btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.everyday); - //} - //else - //{ - // btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.week1) + text.Replace(Language.StringByID(MyInternationalizationString.week1), "").TrimEnd(','); - //} - btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.week1) + text.Replace(Language.StringByID(MyInternationalizationString.week1), "").TrimEnd(','); - //btndisplaycycle.Text = text.TrimEnd(','); - }; break; - } - - - } - - void ConditionView() - { - Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim(); - if (Common.Logic.CurrentLogic.Conditions.Count == 1) - { - #region 缁勫悎鏉′欢View - FrameLayout flMain = new FrameLayout { BackgroundColor = 0x00000000 }; - this.AddChidren(flMain); - flMain.MouseUpEventHandler += (sender2, e2) => - { - flMain.RemoveFromParent(); - }; - - var frameLayout = new FrameLayout - { - Y = Application.GetRealHeight(1920 - 680 - 50), - Height = Application.GetRealHeight(680), - BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, - Width = Application.GetRealWidth(1000), - X = Application.GetRealWidth(40), - Radius = (uint)Application.GetRealHeight(40), - }; - flMain.AddChidren(frameLayout); - - var titlerow = new FrameLayout - { - Height = Application.GetRealHeight(150), - }; - frameLayout.AddChidren(titlerow); - - var titlebtn = new Button - { - //Text = "璇烽�夋嫨澶氭潯浠剁粍鍚�", - TextID = MyInternationalizationString.multicondition, - TextSize = 16, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; - titlerow.AddChidren(titlebtn); - - var androw = new RowLayout - { - Height = Application.GetRealHeight(160), - Y = titlerow.Bottom, - }; - frameLayout.AddChidren(androw); - var andbtn = new Button - { - Width = Application.GetRealWidth(600), - TextID = MyInternationalizationString.Allconditions, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - //Text = "婊¤冻鍏ㄩ儴鏉′欢鏃�", - TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealHeight(50), - }; - androw.AddChidren(andbtn); - - var orrow = new RowLayout - { - Height = Application.GetRealHeight(160), - Y = androw.Bottom, - }; - frameLayout.AddChidren(orrow); - var orbtn = new Button - { - Width = Application.GetRealWidth(600), - TextID = MyInternationalizationString.anycondition, - //Text = "婊¤冻浠讳竴鏉′欢鏃�", - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextAlignment = TextAlignment.CenterLeft, - X = Application.GetRealHeight(50) - }; - orrow.AddChidren(orbtn); - - var cancelbtn = new Button - { - TextID = MyInternationalizationString.cancel, - TextSize = 16, - Y = orrow.Bottom + Application.GetRealHeight(30), - Height = Application.GetRealHeight(160), - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor, - }; - frameLayout.AddChidren(cancelbtn); - cancelbtn.MouseUpEventHandler += (sender4, e4) => - { - flMain.RemoveFromParent(); - }; - #endregion - - //婊¤冻鍏ㄩ儴鏉′欢鏃剁偣鍑讳簨浠� simulation; - EventHandler<MouseEventArgs> andclick = (sender6, e6) => - { - flMain.RemoveFromParent(); - Common.Logic.CurrentLogic.Relationship = 0; - var addLogicPage = new AddLogicPage(); - UserView.HomePage.Instance.AddChidren(addLogicPage); - UserView.HomePage.Instance.PageIndex += 1; - addLogicPage.Show(); - }; - androw.MouseUpEventHandler += andclick; - andbtn.MouseUpEventHandler += andclick; - - //婊¤冻浠讳竴鏉′欢鏃剁偣鍑讳簨浠� - EventHandler<MouseEventArgs> orclick = (sender6, e6) => - { - flMain.RemoveFromParent(); - Common.Logic.CurrentLogic.Relationship = 1; - var addLogicPage = new AddLogicPage(); - UserView.HomePage.Instance.AddChidren(addLogicPage); - UserView.HomePage.Instance.PageIndex += 1; - addLogicPage.Show(); - }; - orrow.MouseUpEventHandler += orclick; - orbtn.MouseUpEventHandler += orclick; - } - else - { - var addLogicPage = new AddLogicPage(); - UserView.HomePage.Instance.AddChidren(addLogicPage); - UserView.HomePage.Instance.PageIndex += 1; - addLogicPage.Show(); - } - } + } } -- Gitblit v1.8.0