From acb2b278663952ce555b06a2e821f359225f15e0 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期五, 10 七月 2020 09:41:15 +0800 Subject: [PATCH] 备份 --- ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs | 867 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 867 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs new file mode 100755 index 0000000..1c7f1b2 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs @@ -0,0 +1,867 @@ +锘縰sing System; +using System.Collections.Generic; +using Newtonsoft.Json.Linq; +using Shared.Common; +using Shared.Phone.UserView; +using Shared.R; +using ZigBee.Device; + +namespace Shared.Phone.Device.Logic +{ + public class SkipView:FrameLayout + { + /// <summary> + /// 鍏跺畠鐣岄潰璺宠繘鏉ョ殑鍏ュ彛 + /// </summary> + public async static void SkipAddLogic(int intvalue, DoorLock doorLock = null, UserCenter.MemberInfoRes accountObj = null) + { + /// 0.姝e父鑷姩鍖�;1.闂ㄩ攣鑷姩鍖�;2.Sone闂ㄩ攣; + switch (intvalue) + { + case 0: + { + //new涓�涓柊閫昏緫瀵硅薄锛� + //鏂板姝e父鑷姩鍖栧叆鍙� + Common.Logic.CurrentLogic = new Common.Logic(); + Common.Logic.CurrentLogic.IsEnable = 1;//榛樿涓哄紑 + Common.Logic.CurrentLogic.LogicType = 0;//鏍囪閫昏緫绫诲瀷 + Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.automation1); + var addLogicPage = new AddLogicPage(); + UserView.HomePage.Instance.AddChidren(addLogicPage); + UserView.HomePage.Instance.PageIndex += 1; + addLogicPage.Show(); + } + break; + case 1: + { + //杩涘叆闂ㄩ攣鑱斿姩浜嬩欢鍏ュ彛 + Send.UserMemberInfoRes = accountObj; + Send.CurrentDoorLock = doorLock; + if (accountObj == null) + { + ///闃叉鎶涘紓甯� + Send.UserMemberInfoRes = new UserCenter.MemberInfoRes(); + } + if (doorLock == null) + { + ///闃叉鎶涘紓甯� + Send.CurrentDoorLock = new DoorLock(); + } + ///杩涙潵鍒锋柊涓�娆¤澶囧垪琛紱 + Common.Logic.LogicDviceList.Clear(); + if (Common.Logic.LogicDviceList.Count == 0) + { + Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray()); + } + var doorLockLogicList = new DoorLockLogic.LockLogicList(); + UserView.HomePage.Instance.AddChidren(doorLockLogicList); + UserView.HomePage.Instance.PageIndex += 1; + doorLockLogicList.Show(); + } + break; + + } + + } + #region 鈼� 鑷姩鍖朹_________________________ + /// <summary> + /// 鑷姩鍖栧姛鑳戒唬鐮佸叆鍙� + /// </summary> + public static void ShowAutotionView(FrameLayout functionSceneAutoBodyView) + { + //functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; + #region ---鎺ㄨ崘妯℃澘鐨勭粍浠� + //鎺ㄨ崘妯℃澘鑳屾櫙鎺т欢 + var bjFrameLayout = new FrameLayout + { + Width = Application.GetRealWidth(1080 - 58), + Height = Application.GetRealHeight(170), + BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, + X = Application.GetRealWidth(58), + //Radius = (uint)Application.GetRealHeight(50), + Y = Application.GetRealHeight(30), + + }; + functionSceneAutoBodyView.AddChidren(bjFrameLayout); + bjFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft); + //鍥炬爣鎺т欢 + var sigBtn = new Button + { + Width = Application.GetMinRealAverage(84), + Height = Application.GetMinRealAverage(84), + UnSelectedImagePath = "ZigeeLogic/sign.png", + X = Application.GetRealWidth(58), + Gravity = Gravity.CenterVertical, + }; + bjFrameLayout.AddChidren(sigBtn); + //鎺ㄨ崘妯℃澘鏂囨湰鎺т欢 + var recommendtextBtn = new Button + { + Width = Application.GetMinRealAverage(300), + Height = Application.GetMinRealAverage(84), + X = sigBtn.Right + Application.GetRealWidth(35), + TextAlignment = TextAlignment.CenterLeft, + //Text = "鎺ㄨ崘妯℃澘", + TextID = MyInternationalizationString.logictemplate, + Gravity = Gravity.CenterVertical, + TextColor = ZigbeeColor.Current.LogicBtnSelectedColor, + TextSize = 15, + }; + bjFrameLayout.AddChidren(recommendtextBtn); + //鎺ㄨ崘妯℃澘寮�鍏虫帶浠� + var recommendswitchBtn = new Button + { + Width = Application.GetRealWidth(104), + Height = Application.GetRealHeight(63), + UnSelectedImagePath = "ZigeeLogic/logicclose.png", + SelectedImagePath = "ZigeeLogic/logicopen.png", + X = bjFrameLayout.Width - Application.GetRealWidth(104 + 58), + Gravity = Gravity.CenterVertical, + }; + bjFrameLayout.AddChidren(recommendswitchBtn); + #endregion + //榛樿鎺ㄨ崘妯℃澘宸﹀彸鍙粦鎺т欢 + var scenehorizontalScrol = new HorizontalScrolViewLayout + { + Width = Application.GetRealWidth(1080 - 58), + X = Application.GetRealWidth(58), + Y = bjFrameLayout.Bottom + Application.GetRealHeight(30), + Height = Application.GetRealHeight(0), + }; + functionSceneAutoBodyView.AddChidren(scenehorizontalScrol); + //鏄剧ず鑷姩鍖栧垪琛ㄤ笂涓嬪彲婊戞帶浠� + var logicScrolView = new VerticalRefreshLayout//VerticalScrolViewLayout + { + Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30), + //BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,/ + X = Application.GetRealWidth(58), + Y = scenehorizontalScrol.Bottom, + }; + functionSceneAutoBodyView.AddChidren(logicScrolView); + + logicScrolView.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); + bool no = false; + //鏄剧ず榛樿妯℃澘鐨勭晫闈簨浠� + recommendswitchBtn.MouseUpEventHandler += (sender, e) => + { + int Yheight = 0; + recommendswitchBtn.IsSelected = !recommendswitchBtn.IsSelected; + scenehorizontalScrol.RemoveAll(); + if (recommendswitchBtn.IsSelected) + { + no = true; + scenehorizontalScrol.Height = Application.GetRealHeight(246); + Yheight = 20; + for (int i = 1; i < 4; i++) + { + + var frameLayout = new FrameLayout + { + Width = Application.GetMinRealAverage(369 + 46), + Height = Application.GetMinRealAverage(246), + }; + scenehorizontalScrol.AddChidren(frameLayout); + var logiciocnBtn = new Button + { + Width = Application.GetMinRealAverage(369), + Height = Application.GetMinRealAverage(246), + UnSelectedImagePath = "ZigeeLogic/" + i + ".png", + Tag = i, + }; + frameLayout.AddChidren(logiciocnBtn); + + var logicnameBtn = new Button + { + Width = Application.GetMinRealAverage(250), + Height = Application.GetMinRealAverage(80), + X = Application.GetRealWidth(23), + Y = Application.GetRealHeight(246 - 23 - 80), + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + TextSize = 14, + }; + frameLayout.AddChidren(logicnameBtn); + + if (i == 1) + { + logicnameBtn.Text = Language.StringByID(MyInternationalizationString.onlight); + } + else if (i == 2) + { + logicnameBtn.Text = Language.StringByID(MyInternationalizationString.offlight); + } + else if (i == 3) + { + logicnameBtn.Text = Language.StringByID(MyInternationalizationString.automation1); + } + + + EventHandler<MouseEventArgs> iconclick = (sender1, e1) => + { + Common.Logic.CurrentLogic = new Common.Logic(); + Common.Logic.CurrentLogic.IsEnable = 1;//榛樿涓哄紑 + if (logiciocnBtn.Tag.ToString() == "3") + { + Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text; + //Common.Logic.CurrentLogic.LogicCustomPushText = Common.Logic.CurrentLogic.LogicName + Language.StringByID(MyInternationalizationString.defaulttext); + var addLogicPage = new Device.Logic.AddLogicPage(); + HomePage.Instance.AddChidren(addLogicPage); + HomePage.Instance.PageIndex += 1; + addLogicPage.Show(); + } + else + { + + Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text; + //Common.Logic.CurrentLogic.LogicCustomPushText = Common.Logic.CurrentLogic.LogicName + Language.StringByID(MyInternationalizationString.defaulttext); + Device.Logic.TemplatePage templatePage = new Device.Logic.TemplatePage(); + Device.Logic.TemplatePage.s = logiciocnBtn.Tag.ToString(); + HomePage.Instance.AddChidren(templatePage); + HomePage.Instance.PageIndex += 1; + templatePage.Show(); + } + }; + logiciocnBtn.MouseUpEventHandler += iconclick; + logicnameBtn.MouseUpEventHandler += iconclick; + } + } + else + { + no = false; + scenehorizontalScrol.Height = Application.GetRealHeight(0); + Yheight = 0; + } + logicScrolView.Y = scenehorizontalScrol.Bottom + Yheight; + logicScrolView.Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30) - Yheight; + Automationview(logicScrolView, no); + }; + //涓嬫媺鍒锋柊鑷姩鍖栧垪琛ㄧ殑浜嬩欢 + logicScrolView.BeginHeaderRefreshingAction += () => + { + if (!Config.Instance.Home.IsVirtually) + {//铏氭嫙鐨勪笉鑾峰彇缃戝叧閫昏緫鍒楄〃 + //閲嶆柊鍒锋柊logic鍒楄〃 + Common.Logic.LogicList.Clear(); + Read(logicScrolView, no); + } + //鍏抽棴鍒锋柊View锛� + logicScrolView.EndHeaderRefreshing(); + }; + + //鑷姩鍖� + Read(logicScrolView, no); + + } + /// <summary> + /// 璇诲彇鑷姩鍖栧垪琛ㄦ暟鎹紱 + /// </summary> + /// <param name="logicScrolView"></param> + private static async void Read(VerticalRefreshLayout logicScrolView, bool no) + { + //if (Config.Instance.HomeId != UserCenter.UserCenterResourse.AccountOption.OldHomeStringId) + //{ + // //鍒囨崲浣忓畢娓呴櫎涔嬪墠缂撳瓨鏁版嵁; + // Common.Logic.LogicList.Clear(); + // Common.Logic.LockLogicList.Clear(); + // Common.Logic.SoneLogicList.Clear(); + //} + + CommonPage.Loading.Start(); + try + { + if (!Config.Instance.Home.IsVirtually)//铏氭嫙鐨勪笉鑾峰彇缃戝叧閫昏緫鍒楄〃 + { + if (Common.Logic.LogicList.Count == 0) + { + var Idlist1 = await Send.GetLogicId(0);// + var Idlist2 = await Send.GetLogicId(2);//闂ㄩ攣甯稿紑妯″紡 + if (Idlist1.Count != 0) + { + var listlogic1 = await Send.ReadList(Idlist1.Count, 0); + for (int j = 0; j < listlogic1.Count; j++) + { + var logic = listlogic1[j]; + if (logic.LogicType != 0) + { + continue; + } + Common.Logic.LogicList.Add(logic); + } + } + if (Idlist2.Count != 0) + { + var listlogic2 = await Send.ReadList(Idlist2.Count, 2); + for (int j = 0; j < listlogic2.Count; j++) + { + var logic = listlogic2[j]; + if (logic.LogicType != 2) + { + continue; + } + Common.Logic.LogicList.Add(logic); + } + } + } + } + } + catch (Exception e) + { + var dd = e.Message; + } + //鑷姩鍖� + Automationview(logicScrolView, no); + CommonPage.Loading.Hide(); + } + static RowLayout selectedRow = new RowLayout() { Tag = "0" };//璁板綍宸︽粦鐘舵�� + /// <summary> + /// 鍔犺浇鑷姩鍖栧垪琛ㄧ晫闈� + /// </summary> + /// <param name="refresview">Refresview.</param> + private static async void Automationview(VerticalRefreshLayout refresview, bool no) + { + + refresview.RemoveAll(); + if (Common.Logic.LogicList.Count == 0 && no == false) + { + //灏辨槸涓轰簡鏄剧ず寮曞娣诲姞鍥炬爣; + refresview.BackgroundColor = 0x00000000; + var noFrameLayout = new FrameLayout + { + Height = Application.GetRealHeight(434 + 200 + 32 + 294 - 55), + //BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; + refresview.AddChidren(noFrameLayout); + + + var noIconBtn = new Button + { + Y = Application.GetRealHeight(294 - 55), + Width = Application.GetMinRealAverage(757), + Height = Application.GetMinRealAverage(435), + UnSelectedImagePath = "Item/NoFunction.png", + X = Application.GetRealWidth(104), + }; + noFrameLayout.AddChidren(noIconBtn); + + var noTextBtn = new Button() + { + Y = noIconBtn.Bottom, + Height = Application.GetRealHeight(200) + Application.GetRealHeight(32), + Width = Application.GetRealWidth(700), + //Gravity = Gravity.CenterHorizontal, + Text = Language.StringByID(MyInternationalizationString.automationaddtext).Replace("{\\r\\n}", "\r\n"), + TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, + TextAlignment = TextAlignment.Center, + IsMoreLines = true, + X = Application.GetRealWidth(190 - 58), + }; + noFrameLayout.AddChidren(noTextBtn); + + } + else + { + + if (Common.Logic.LogicList.Count == 0 && no == true) + { + ///鏀瑰彉婊戝姩view鐨勯鑹诧紱 + refresview.BackgroundColor = 0x00000000; + } + else + { + refresview.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; + } + } + int i = 1;//灞�閮ㄥ彉閲忥紝榛樿鏄涓�鏉¢�昏緫; + foreach (var logic in Common.Logic.LogicList) + { + + var fLayout = new FrameLayout + { + Height = Application.GetRealHeight(190 + 30), + Width = Application.GetRealWidth(1080 - 58), + BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, + }; + refresview.AddChidren(fLayout); + + var logicRowlayout = new RowLayout + { + Height = Application.GetRealHeight(190 + 30), + Width = Application.GetRealWidth(1080 - 58), + LineColor = ZigbeeColor.Current.LogicBackgroundColor, + BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, + SubViewWidth = Application.GetRealWidth(184),//鏀瑰彉缂栬緫鎺т欢瀹藉害澶氬皯锛� + Tag = i.ToString(), + + }; + fLayout.AddChidren(logicRowlayout); + //宸︽粦鑿滃崟浜嬩欢 + logicRowlayout.OpenMenuAction += () => + { + if (selectedRow.Tag.ToString() != logicRowlayout.Tag.ToString()) + { //淇濈暀宸︽粦鍙湁涓�涓�; + selectedRow.HideMenu();// + } + selectedRow = logicRowlayout; + }; + if (i == 1) + { + //瀹炵幇android鏄剧ず閫昏緫鍒楄〃鐨勫渾瑙�; + fLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); + logicRowlayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); + + } + i++; + var logicnameBtn = new Button + { + Height = Application.GetRealHeight(58), + Width = Application.GetRealWidth(350), + Text = logic.LogicName, + X = Application.GetRealWidth(12 + 46), + Y = Application.GetRealHeight(30), + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + TextSize = 14, + }; + logicRowlayout.AddChidren(logicnameBtn); + + var logicswitchBtn = new Button + { + Width = Application.GetMinRealAverage(104), + Height = Application.GetMinRealAverage(63), + UnSelectedImagePath = "ZigeeLogic/logicclose.png", + SelectedImagePath = "ZigeeLogic/logicopen.png", + X = logicRowlayout.Width - Application.GetRealWidth(104 + 58), + Y = Application.GetRealHeight(58 + 30 + 9 + 30), + + }; + logicRowlayout.AddChidren(logicswitchBtn); + + logicswitchBtn.MouseUpEventHandler += (sender1, e1) => + { + logicswitchBtn.IsSelected = !logicswitchBtn.IsSelected; + if (logicswitchBtn.IsSelected) + { + //閫昏緫寮� + logic.IsEnable = 1; + StatusColor(logic, logicRowlayout, 1); + } + else + { + //閫昏緫鍏� + logic.IsEnable = 0; + StatusColor(logic, logicRowlayout, 0); + } + if (!Config.Instance.Home.IsVirtually) + { + Send.LogicControlSwitch(logic); + } + //Logic.Send.AddModifyLogic(logic); + }; + if (logic.IsEnable == 1) + { + logicswitchBtn.IsSelected = true; + StatusColor(logic, logicRowlayout, 1); + } + else if (logic.IsEnable == 0) + { + logicswitchBtn.IsSelected = false; + StatusColor(logic, logicRowlayout, 0); + } + ///缂栬緫 + var edit = new Button + { + BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor1, + Text = Language.StringByID(MyInternationalizationString.edit), + TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + }; + logicRowlayout.AddRightView(edit); + if (logic.LogicType == 2) + { + edit.TextID = MyInternationalizationString.look; + } + edit.MouseUpEventHandler += (sender, e) => + { + Common.Logic.CurrentLogic = logic; + if (Common.Logic.CurrentLogic.LogicType == 2) + { + var oneLogic = new OneLogic(); + UserView.HomePage.Instance.AddChidren(oneLogic); + UserView.HomePage.Instance.PageIndex += 1; + oneLogic.Show(true); + } + else + { + var logicCommunalPage = new LogicCommunalPage(); + HomePage.Instance.AddChidren(logicCommunalPage); + HomePage.Instance.PageIndex += 1; + logicCommunalPage.Show(() => { logicnameBtn.Text = logic.LogicName; Automationview(refresview, no); }); + } + }; + + ///鍒犻櫎 + var del = new Button + { + BackgroundColor = ZigbeeColor.Current.LogicDelBlackColor1, + Text = Language.StringByID(MyInternationalizationString.del), + TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + }; + logicRowlayout.AddRightView(del); + 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.LogicList.Remove(logic); + Automationview(refresview, no); + if (!Config.Instance.Home.IsVirtually) + { + Send.DelLogic(logic.LogicId); + } + }; + + }; + var line = new Button + { + Y = fLayout.Height - 1, + Height = 1, + X = Application.GetRealWidth(58), + Width = Application.GetRealWidth(1080 - 58), + BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor, + }; + fLayout.AddChidren(line); + + + } + + } + /// <summary> + /// 鏄剧ず鑷姩鍖栬緭鍑哄姛鑳芥ā鍧楀浘鏍囩殑棰滆壊 + /// </summary> + /// <param name="logic"></param> + /// <param name="logicRowlayout"></param> + /// <param name="intvalue"></param> + private static void StatusColor(Common.Logic logic, RowLayout logicRowlayout, int intvalue) + { + + var logictimeBtn = new Button + { + Height = Application.GetRealHeight(58), + Width = logicRowlayout.Width - Application.GetRealWidth(58 + 12 + 350), + Y = Application.GetRealHeight(30), + X = Application.GetRealWidth(365), + TextAlignment = TextAlignment.CenterRight, + TextColor = ZigbeeColor.Current.LogicListWeekTextColor, + }; + logicRowlayout.AddChidren(logictimeBtn); + + ///鏄剧ず鎵ц鍛ㄦ湡 + Method.UpdateWeek(logictimeBtn, logic); + + + List<string> indexlist = new List<string>(); + List<string> iconIndexlist = new List<string>(); + for (int i = 0; i < logic.Actions.Count; i++) + { + var linkType = logic.Actions[i]["LinkType"].ToString(); + var d = indexlist.Find((value) => { return value == linkType; }); + if (d == null) + { + indexlist.Add(linkType); + } + } + //鎺掑垪鍥炬爣椤哄簭; + if (indexlist.Contains("0") || indexlist.Contains("8")) + { + iconIndexlist.Add("0"); + } + if (indexlist.Contains("2")) + { + iconIndexlist.Add("2"); + } + if (indexlist.Contains("6")) + { + iconIndexlist.Add("6"); + } + if (indexlist.Contains("7")) + { + iconIndexlist.Add("7"); + } + for (int i = 0; i < iconIndexlist.Count; i++) + { + var iconindex = iconIndexlist[i]; + var typebjBtn = new FrameLayout + { + Width = Application.GetMinRealAverage(82), + Height = Application.GetMinRealAverage(82), + X = Application.GetRealWidth(58) + Application.GetRealWidth(12 + (12 + 82 + 45 + 12) * i), + Y = Application.GetRealHeight(58 + 30 + 30), + Radius = (uint)Application.GetMinRealAverage(41), + BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; + logicRowlayout.AddChidren(typebjBtn); + + var typeIconBtn = new Button + { + Width = Application.GetMinRealAverage(58), + Height = Application.GetMinRealAverage(58), + Gravity = Gravity.Center, + + }; + typebjBtn.AddChidren(typeIconBtn); + + var connectIconBtn = new Button + { + Y = typebjBtn.Y + Application.GetRealHeight(35), + X = Application.GetRealWidth(58) + Application.GetRealWidth((12 + 82 + 12) + (12 + 45 + 82 + 12) * i), + Width = Application.GetRealWidth(48), + Height = Application.GetRealHeight(15), + UnSelectedImagePath = "ZigeeLogic/connect.png", + }; + logicRowlayout.AddChidren(connectIconBtn); + if (iconIndexlist.Count - 1 == i) + { + connectIconBtn.Visible = false; + } + switch (iconindex) + { + case "0": + { + if (intvalue == 1) + { + typeIconBtn.UnSelectedImagePath = "ZigeeLogic/function1.png"; + typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicFunction1Color; + } + else + { + typeIconBtn.UnSelectedImagePath = "ZigeeLogic/nofunction.png"; + typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; + } + } + break; + case "2": + { + + if (intvalue == 1) + { + typeIconBtn.UnSelectedImagePath = "ZigeeLogic/scene1.png"; + typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicScene1Color; + } + else + { + typeIconBtn.UnSelectedImagePath = "ZigeeLogic/noscene.png"; + typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; + } + + } + break; + case "6": + { + if (intvalue == 1) + { + typeIconBtn.UnSelectedImagePath = "ZigeeLogic/security1.png"; + typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicSecurity1Color; + + } + else + { + typeIconBtn.UnSelectedImagePath = "ZigeeLogic/nosecurity.png"; + typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; + } + + } + break; + case "7": + { + if (intvalue == 1) + { + typeIconBtn.UnSelectedImagePath = "ZigeeLogic/delay1.png"; + typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicDelay1Color; + } + else + { + typeIconBtn.UnSelectedImagePath = "ZigeeLogic/nodelay.png"; + typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; + } + + } + break; + + } + } + } + #endregion + + /// <summary> + /// 闂ㄩ攣澶辨晥璁剧疆鐢ㄧ殑鏂规硶(鐩稿綋涓�涓叧闂父寮�妯″紡鎸夐挳,鍒嗙被-鑷姩鍖�-涓嶉渶瑕佹樉绀鸿鑷姩鍖�) + /// </summary> + /// <param name="timeVlaue">鏃堕棿鍊�</param> + /// <param name="common">璁惧</param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<int> LockAddModifyLogic(int timeVlaue, CommonDevice common) + { + //璇诲彇绯荤粺褰撳墠鏃堕棿锛氭椂-鍒� + var h = DateTime.Now.ToString("HH"); + var m = DateTime.Now.ToString("mm"); + Dictionary<string, string> timeConditionsInfo = new Dictionary<string, string>(); + timeConditionsInfo.Add("Type", "0"); + timeConditionsInfo.Add("IsValid", "1"); + timeConditionsInfo.Add("DateType", "0"); + timeConditionsInfo.Add("RemindTime", "0"); + timeConditionsInfo.Add("EnDelay", "0"); + timeConditionsInfo.Add("DelayTime", "0"); + timeConditionsInfo.Add("StartHour", h); + timeConditionsInfo.Add("StartMin", m); + if (UserCenter.UserCenterResourse.HideOption.DoorLockNomallyOpenTimeMode == 1) + { + //寮哄埗鍙樻洿鏃堕棿妯″紡涓哄垎閽� + timeConditionsInfo.Add("DoorLockOpenDelayTime", (timeVlaue * 60).ToString()); + } + else + { + timeConditionsInfo.Add("DoorLockOpenDelayTime", (timeVlaue * 3600).ToString()); + } + Dictionary<string, object> actionsInfo = new Dictionary<string, object>(); + actionsInfo.Add("LinkType", 8); + actionsInfo.Add("DeviceAddr", common.DeviceAddr); + actionsInfo.Add("Epoint", "200"); + actionsInfo.Add("PassData", "055704010113");//榛樿闂ㄩ攣甯稿叧 + + Dictionary<string, string> accounts = new Dictionary<string, string>(); + accounts.Add("Type", "8"); + accounts.Add("Option4", common.DeviceAddr.ToString());//鐢ㄤ簬鍒ゆ柇璇嗗埆鏄摢涓棬閿�; + accounts.Add("Option2", common.DeviceEpoint.ToString()); + + Common.Logic currentLogic = new Common.Logic(); + currentLogic.IsEnable = 1;//榛樿涓哄紑 + currentLogic.TimeAttribute.Repeat = 0;//鎵ц涓�娆� + currentLogic.LogicType = 3;//鏍囪閫昏緫绫诲瀷 + currentLogic.LogicName = Language.StringByID(R.MyInternationalizationString.openmode); + currentLogic.Conditions.Add(timeConditionsInfo); + currentLogic.Actions.Add(actionsInfo); + currentLogic.Accounts.Add(accounts); + var logicIfon = await Send.AddModifyLogic(currentLogic); + if (logicIfon != null && logicIfon.LogicId != 0) + { + //娣诲姞闂ㄩ攣澶辨晥鏃堕棿鐨勫巻鍙茶褰� + UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog((DoorLock)common, 9003, timeVlaue.ToString()); + return logicIfon.LogicId;//琛ㄧず娣诲姞鎴愬姛; + } + return 0;//琛ㄧず娣诲姞澶辫触; + + } + + ///<summary> + /// s-one闂ㄩ攣鏄惁瀛樺湪鑷姩鍖栫殑鏂规硶; + /// 娉ㄦ剰(鍙傛暟:2-甯稿紑鑷姩鍖�;3-澶辨晥鏃堕棿鑷姩鍖�); + /// 杩斿洖鍊硷細0涓嶅瓨鍦�;鍏跺畠鍊奸兘瀛樺湪; + /// </summary> + public static async System.Threading.Tasks.Task<int> Exist(int valueInt, ZigBee.Device.DoorLock doorLock) + { + + int exist = 0; + var IdList = await Send.GetLogicId(valueInt); + if (IdList.Count != 0) + { + for (int i = 0; i < IdList.Count; i++) + { + var id = IdList[i]; + var logic = await Send.GetLogic(id, valueInt); + if (logic != null) + { + if (ExistLogic(logic, doorLock)) + { + exist = id; + ///鎵惧埌閫�鍑� + break; + } + } + + } + } + return exist; + } + + ///<summary> + ///鑾峰彇闂ㄩ攣鏃舵晥鎬ч�昏緫淇℃伅 + /// 杩斿洖鍊硷細null涓嶅瓨鍦�;鍏跺畠鍊奸兘瀛樺湪; + /// </summary> + public static async System.Threading.Tasks.Task<Common.Logic> GetLogicIfon(ZigBee.Device.DoorLock doorLock) + { + Common.Logic logic = null; + var Idlist = await Send.GetLogicId(3); + if (Idlist.Count != 0) + { + //榛樿鍙栫涓�涓�昏緫ID(鏃舵晥鎬у彧鏈変竴鏉¢�昏緫) + int exist = Idlist[0]; + logic = await Send.GetLogic(exist, 3); + if (!ExistLogic(logic, doorLock)) + { + logic = null; + } + } + return logic; + } + + ///<summary> + ///鍒犻櫎璇ラ棬閿佹墍鏈夋椂鏁堟�ц嚜鍔ㄥ寲 + /// 杩斿洖鍊硷細true鎴愬姛;false澶辫触; + /// </summary> + public static async System.Threading.Tasks.Task<bool> DelAllLogic(ZigBee.Device.DoorLock doorLock) + { + bool _if = false; + var Idlist = await Send.GetLogicId(3); + if (Idlist.Count != 0) + { + for (int i = 0; i < Idlist.Count; i++) + { + int id = Idlist[i]; + var logic = await Send.GetLogic(id, 3); + if (logic != null) + { + if (ExistLogic(logic, doorLock)) + { + //鏈潵鍙湁涓�鏉℃椂鏁堟�ц嚜鍔ㄥ寲锛� + //闃叉鐗规畩鎯呭喌,鎵惧埌灏卞垹闄ゆ帀; + //var valueInt = await Send.DelLogic(id); + //if (valueInt == 0) + //{ + // _if = true; + //} + //(鑰冭檻鎬ц兘榛樿鍒犻櫎鎴愬姛锛岀洿鎺ヨ繑鍥炴垚鍔熺粨鏋渢rue) + _if = true; + Send.DelLogic(id); + + + } + } + } + } + return _if; + } + + /// <summary> + /// 鏌ユ壘杩欎竴鏉¤嚜鍔ㄥ寲鏄惁灞炰簬璇ラ棬閿� + /// </summary> + /// <returns></returns> + public static bool ExistLogic(Common.Logic logic, ZigBee.Device.DoorLock doorLock) + { + for (int j = 0; j < logic.Accounts.Count; j++) + { + //Option4鏄澶噈ac锛� + if (logic.Accounts[j]["Option4"].ToString() == doorLock.DeviceAddr) + { + //鏌ユ壘鏄惁鏄偅涓棬閿侊紱 + //濡傛灉涓嶆槸璇ラ棬閿佽仈鍔ㄤ簨浠朵笉鏄剧ず鍑烘潵; + return true; + } + + } + return false; + } + + } +} + -- Gitblit v1.8.0