From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 14:16:20 +0800 Subject: [PATCH] 增加本地发送的重发机制 --- HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs | 706 +++++++++++++++++++++++++++------------------------------- 1 files changed, 331 insertions(+), 375 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs index 8640e96..133eb88 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs @@ -14,7 +14,7 @@ public void Show() { - + #region 鐣岄潰甯冨眬 this.BackgroundColor = CSS.CSS_Color.viewMiddle; LogicView.TopView topView = new LogicView.TopView(); topView.setBtn.Visible = true; @@ -23,7 +23,7 @@ { RemoveFromParent(); }; - if (string.IsNullOrEmpty(Logic.currlogic.sid)) + if (string.IsNullOrEmpty(Logic.currlogic.userLogicId)) { topView.topNameBtn.TextID = StringId.newAutomation; topView.setBtn.Visible = false; @@ -35,14 +35,7 @@ topView.setBtn.Visible = true; topView.clickSetBtn.Visible = true; } - topView.clickSetBtn.MouseUpEventHandler += (sender, e) => - { - Set set = new Set(); - MainPage.BasePageView.AddChidren(set); - set.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout { @@ -62,16 +55,16 @@ titleCondition.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); titleCondition.btnText.TextID = StringId.andCondition; viewLayout.AddChidren(titleCondition.FLayoutView()); - titleCondition.btnClick.MouseUpEventHandler += (sender, e) => - { - FrameLayout fLayout = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - this.AddChidren(fLayout); - AndOrMethod(fLayout, titleCondition.btnText); - }; + if (Logic.currlogic.relation == "and") + { + titleCondition.btnText.Text = Language.StringByID(StringId.andCondition); + } + else + { + titleCondition.btnText.Text = Language.StringByID(StringId.orCondition); + + } // 鏉′欢澶勭悊鏂规硶 InpOrOutLogicMethod.InputCondition(this, viewLayout); @@ -79,14 +72,6 @@ LogicView.LogicAddView addInputIcon = new LogicView.LogicAddView(); addInputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); viewLayout.AddChidren(addInputIcon.FLayoutView()); - - addInputIcon.btnClick.MouseUpEventHandler += (sen, e) => - { - var addInputType = new AddInputType(); - MainPage.BasePageView.AddChidren(addInputType); - addInputType.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; #endregion #region 鐩爣 @@ -106,13 +91,7 @@ LogicView.LogicAddView addOutputIcon = new LogicView.LogicAddView(); addOutputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); viewLayout.AddChidren(addOutputIcon.FLayoutView()); - addOutputIcon.btnClick.MouseUpEventHandler += (sen, e) => - { - var addTarget = new AddTarget(); - MainPage.BasePageView.AddChidren(addTarget); - addTarget.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; + #endregion #region 寰幆鏂瑰紡 @@ -124,42 +103,32 @@ LogicView.LogicTypeTitleView cyclicTitle = new LogicView.LogicTypeTitleView(); cyclicTitle.frameLayout.Height = Application.GetRealHeight(50); cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12); - cyclicTitle.btnText.TextID = StringId.days; + cyclicTitle.btnText.Text = MainView.GetWeekText(Logic.currlogic); viewLayout.AddChidren(cyclicTitle.FLayoutView()); - cyclicTitle.btnClick.MouseUpEventHandler += (sender, e) => - { - FrameLayout fLayout = new FrameLayout - { - BackgroundColor = CSS.CSS_Color.viewTrans60lucence, - }; - this.AddChidren(fLayout); - DateMethod(fLayout, cyclicTitle.btnText); - - }; #endregion #region 鎵ц鎺ㄩ�� 鍙戦�侀�氱煡 ///涓婁笅闂撮殧12鍍忕礌 viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); - ///鎵ц鎺ㄩ�乮ew - LogicView.LogicTypeTitleView push = new LogicView.LogicTypeTitleView(); - push.frameLayout.Height = Application.GetRealHeight(50); - push.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); - push.btnText.TextID = StringId.push; - push.btnNextIcon.Width = Application.GetMinRealAverage(36); - push.btnNextIcon.Height = Application.GetMinRealAverage(36); - push.btnNextIcon.X = Application.GetRealWidth(305); - push.btnNextIcon.UnSelectedImagePath = "LogicIcon/off.png"; - push.btnNextIcon.SelectedImagePath = "LogicIcon/on.png"; - viewLayout.AddChidren(push.FLayoutView()); - ///鍙戦�侀�氱煡View - LogicView.LogicTypeTitleView notification = new LogicView.LogicTypeTitleView(); - notification.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); - notification.btnText.TextID = StringId.notification; - viewLayout.AddChidren(notification.FLayoutView()); - ///涓婁笅闂撮殧62鍍忕礌 - viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62) }); + /////鎵ц鎺ㄩ�乮ew + //LogicView.LogicTypeTitleView push = new LogicView.LogicTypeTitleView(); + //push.frameLayout.Height = Application.GetRealHeight(50); + //push.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); + //push.btnText.TextID = StringId.push; + //push.btnNextIcon.Width = Application.GetMinRealAverage(36); + //push.btnNextIcon.Height = Application.GetMinRealAverage(36); + //push.btnNextIcon.X = Application.GetRealWidth(305); + //push.btnNextIcon.UnSelectedImagePath = "LogicIcon/off.png"; + //push.btnNextIcon.SelectedImagePath = "LogicIcon/on.png"; + //viewLayout.AddChidren(push.FLayoutView()); + /////鍙戦�侀�氱煡View + //LogicView.LogicTypeTitleView notification = new LogicView.LogicTypeTitleView(); + //notification.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); + //notification.btnText.TextID = StringId.notification; + //viewLayout.AddChidren(notification.FLayoutView()); + /////涓婁笅闂撮殧62鍍忕礌 + //viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62) }); #endregion #region 淇濆瓨 @@ -167,9 +136,58 @@ LogicView.SaveView saveView = new LogicView.SaveView(); saveView.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); this.AddChidren(saveView.FLayoutView()); + + #endregion + #endregion + + #region 鐣岄潰鍚勭鐐瑰嚮浜嬩欢 + ///璁剧疆鍥炬爣鐐瑰嚮浜嬩欢 + topView.clickSetBtn.MouseUpEventHandler += (sender, e) => + { + Set set = new Set(); + MainPage.BasePageView.AddChidren(set); + set.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + + }; + ///鎴栧拰涓庣偣鍑讳簨浠� + titleCondition.btnClick.MouseUpEventHandler += (sender, e) => + { + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(fLayout); + AndOrMethod(fLayout, titleCondition.btnText); + }; + ///鏉′欢鐐瑰嚮浜嬩欢 + addInputIcon.btnClick.MouseUpEventHandler += (sen, e) => + { + var addInputType = new AddInputType(); + MainPage.BasePageView.AddChidren(addInputType); + addInputType.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + ///鐩爣鐐瑰嚮浜嬩欢 + addOutputIcon.btnClick.MouseUpEventHandler += (sen, e) => + { + var addTarget = new AddTarget(); + MainPage.BasePageView.AddChidren(addTarget); + addTarget.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + ///寰幆鏂瑰紡鐐瑰嚮浜嬩欢 + cyclicTitle.btnClick.MouseUpEventHandler += (sender, e) => + { + DateMethod(cyclicTitle.btnText); + }; + ///淇濆瓨鐐瑰嚮浜嬩欢 saveView.btnClick.MouseUpEventHandler += (sender, e) => { - if (string.IsNullOrEmpty(Logic.currlogic.sid)) + Loading loading = new Loading(); + this.AddChidren(loading); + HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null; + if (string.IsNullOrEmpty(Logic.currlogic.userLogicId)) { List<string> list = new List<string>(); foreach (var logic in Logic.LogicList) @@ -180,47 +198,115 @@ { Logic.currlogic.name = logicName; Logic.currlogic.sid = LogicMethod.NewSid(); - //鍙戦�佹柊鍔犱慨鏀归�昏緫鍛戒护锛� - var responsePackNew = Send.AddLogic(Logic.currlogic); - if (responsePackNew.Code == "0") + loading.Start(); + new System.Threading.Thread(() => { - Logic.LogicList.Add(Logic.currlogic); - LogicMethod.RemoveAllView(); - MainView.MainShow(); - } - else { - new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); - } + + try + { + //鍙戦�佹柊鍔犻�昏緫鍛戒护锛� + responsePackNew = Send.AddLogic(Logic.currlogic); + + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + loading.Hide(); + if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") + { + + + //鑾峰彇閫昏緫璇︾粏杩斿洖鏄竴涓暟缁�(object绫诲瀷杞崲涓烘暟缁�); + var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString()); + for (int a = 0; a < jArray.Count; a++) + { + var jay = jArray[a]; + //鏁版嵁杩斿簭鍒楀寲涓篖ogic瀵硅薄 + var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); + var logic = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic>(str); + if (logic.userLogicId!="") + { + //鏇存柊浜戠鍞竴鑷姩鍖杋d; + Logic.currlogic.userLogicId = logic.userLogicId; + } + else + { + //鑷繁鐪嬬殑鎵�浠ヤ笉闇�瑕佹敮鎸佷腑鑻辨枃 + new LogicView.TipPopView().FlashingBox("娌℃湁杩斿洖浜戠鍞竴鑷姩鍖杋d"); + } + + } + + Logic.LogicList.Add(Logic.currlogic); + LogicMethod.RemoveAllView(); + MainView.MainShow(); + } + else + { + new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); + } + }); + } + + }) + { IsBackground = true }.Start(); }); } else { - //鍙戦�佹柊鍔犱慨鏀归�昏緫鍛戒护锛� - var responsePackNew = Send.updateLogic(Logic.currlogic); - if (responsePackNew.Code == "0") + loading.Start(); + new System.Threading.Thread(() => { - LogicMethod.RemoveAllView(); - MainView.MainShow(); - } - else { - new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); - } + + try + { + //鍙戦�佷慨鏀归�昏緫鍛戒护锛� + responsePackNew = Send.updateLogic(Logic.currlogic); + + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + loading.Hide(); + if (responsePackNew != null && responsePackNew.Code == "0") + { + LogicMethod.RemoveAllView(); + MainView.MainShow(); + } + else + { + new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); + } + }); + } + + + + }) + { IsBackground = true }.Start(); + } }; #endregion - } /// <summary> /// 寰幆鏂瑰紡(姣忓ぉ锛屾瘡鏈堛�傘��) /// </summary> - /// <param name="fLayout">寮规涓绘帶浠�</param> /// <param name="button">鏄剧ず鏂囨湰</param> - public void DateMethod(FrameLayout fLayout, Button button) + public void DateMethod(Button button) { - + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(fLayout); LogicView.DateView dateView = new LogicView.DateView(); dateView.btnTitle.TextID = StringId.cyclic; dateView.FLayoutView(fLayout, 4); @@ -232,7 +318,7 @@ //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵�� string weekName = ""; //瀹氫箟涓�涓眬閮˙tn鐢ㄦ潵璁板綍閫変腑Btn; - var selecetdBtn = new Button(); + var selecetdBtn = new Button() { Text = "" }; for (int i = 0; i < 4; i++) { LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView(); @@ -245,6 +331,7 @@ dateTypeView.btnLine.Width = Application.GetRealWidth(303); dateView.frameLayout.AddChidren(dateTypeView.FLayoutView()); dateTypeView.btnClick.Tag = i;//鏍囪绫诲瀷 + switch (i) { case 0: @@ -298,13 +385,11 @@ break; case 2: { - // weekName = Language.StringByID(StringId.weekly); WeekMethod(fLayout, button); } break; case 3: { - //weekName = Language.StringByID(StringId.monthly); MonMethod(fLayout, button); } break; @@ -319,35 +404,30 @@ { dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor; selecetdBtn = dateTypeView.btnText; - } - else if (button.Text == weekName) - { - dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor; - selecetdBtn = dateTypeView.btnText; + } } //纭畾淇濆瓨 dateView.btnConfirm.MouseUpEventHandler += (sender3, e3) => { - if (weekName == Language.StringByID(StringId.monthly)|| weekName== Language.StringByID(StringId.weekly)) { - //鎻愮ず锛氳繕鏈�� - return; - - } - - if (weekName == Language.StringByID(StringId.performA)) + if (selecetdBtn.Text == Language.StringByID(StringId.performA)) { //鎵ц涓�娆� Logic.currlogic.cycle.type = "once"; } - else if (weekName == Language.StringByID(StringId.days)) + else if (selecetdBtn.Text == Language.StringByID(StringId.days)) { //姣忓ぉ Logic.currlogic.cycle.type = "day"; } + else + { + //鎻愮ず锛氳繕鏈�� + return; + } //閫変腑淇濆瓨涔嬪悗鏄剧ず鏂囨湰 - button.Text = weekName; + button.Text = selecetdBtn.Text; //绉婚櫎fLayout鐣岄潰 fLayout.RemoveFromParent(); }; @@ -359,125 +439,35 @@ /// <param name="button">鏄剧ず鏂囨湰</param> public void WeekMethod(FrameLayout fLayout, Button button) { - - LogicView.DateView weekView = new LogicView.DateView(); - weekView.btnTitle.TextID = StringId.cyclic; - weekView.FLayoutView(fLayout, 7); - weekView.btnCancel.MouseUpEventHandler += (sender2, e2) => - { - weekView.frameLayout.RemoveFromParent(); + List<string> weekStr = new List<string> { + Language.StringByID(StringId.monday), + Language.StringByID(StringId.tuesday), + Language.StringByID(StringId.wednesday), + Language.StringByID(StringId.thursday), + Language.StringByID(StringId.friday), + Language.StringByID(StringId.saturday), + Language.StringByID(StringId.sunday), }; + //瀹氫箟涓�涓眬閮╳eekList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁; - List<string> weekList = new List<string>(); + List<string> weekStateList = new List<string>(); + weekStateList.Clear(); if (Logic.currlogic.cycle.type == "week") { + var list = GetWeekString(Logic.currlogic.cycle.value, "int"); //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹� - weekList.AddRange(Logic.currlogic.cycle.value); + weekStateList.AddRange(list); } - //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵�� - string weekName = ""; - for (int i = 0; i < 7; i++) - { - LogicView.SelectTypeView weekTypeView = new LogicView.SelectTypeView(); - weekTypeView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence; - weekTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); - weekTypeView.btnIcon.Visible = false; - weekTypeView.btnText.X = Application.GetRealWidth(20); - weekTypeView.btnLine.X = Application.GetRealWidth(20); - weekTypeView.btnLine.Width = Application.GetRealWidth(303); - weekTypeView.btnNextIcon.X = Application.GetRealWidth(303); - weekTypeView.btnNextIcon.Width = Application.GetMinRealAverage(28); - weekTypeView.btnNextIcon.Height = Application.GetMinRealAverage(28); - weekTypeView.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png"; - weekTypeView.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png"; - weekView.frameLayout.AddChidren(weekTypeView.FLayoutView()); - weekTypeView.btnClick.Tag = i;//鏍囪绱㈠紩 - switch (i) - { - case 0: - { - weekName = Language.StringByID(StringId.monday); - } - break; - case 1: - { - weekName = Language.StringByID(StringId.tuesday); - } - break; - case 2: - { - weekName = Language.StringByID(StringId.wednesday); - } - break; - case 3: - { - weekName = Language.StringByID(StringId.thursday); - } - break; - case 4: - { - weekName = Language.StringByID(StringId.friday); - } - break; - case 5: - { - weekName = Language.StringByID(StringId.saturday); - } - break; - case 6: - { - weekName = Language.StringByID(StringId.sunday); - } - break; + PublicInterface weekView = new PublicInterface(); + weekView.MultiSelectShow(fLayout, weekStr, Language.StringByID(StringId.cyclic), weekStateList + , (list) => + { + var statelist = GetWeekString(list, "str"); + Logic.currlogic.cycle.type = "week"; + Logic.currlogic.cycle.value = statelist; + button.Text = MainView.GetWeekString(statelist); - } - weekTypeView.btnText.Text = weekName; - if (weekList.Contains(i.ToString())) - { - //鏄剧ず涔嬪墠鐨勯�変腑鐘舵�� - weekTypeView.btnNextIcon.IsSelected = true; - } - //鏄熸湡鐨勭偣鍑讳簨浠� - weekTypeView.btnClick.MouseUpEventHandler += (sender, e) => - { - string clickIndex = weekTypeView.btnClick.Tag.ToString(); - weekTypeView.btnClick.IsSelected = !weekTypeView.btnClick.IsSelected; - if (weekTypeView.btnClick.IsSelected) - { - weekTypeView.btnNextIcon.IsSelected = true; - if (!weekList.Contains(clickIndex)) - { - //娣诲姞閫変腑鏁版嵁 - weekList.Add(clickIndex); - } - } - else - { - weekTypeView.btnNextIcon.IsSelected = false; - if (weekList.Contains(clickIndex)) - { - //绉婚櫎閫変腑鏁版嵁 - weekList.Remove(clickIndex); - } - } - - }; - - } - //纭畾鐐瑰嚮浜嬩欢 - weekView.btnConfirm.MouseUpEventHandler += (sender1, e1) => - { - if (weekList.Count == 0) - { - //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡 - return; - } - Logic.currlogic.cycle.type = "week"; - Logic.currlogic.cycle.value = weekList; - button.Text = MainView.GetWeekString(weekList); - fLayout.RemoveFromParent(); - }; - + }); } /// <summary> /// 姣忔湀 @@ -486,96 +476,15 @@ /// <param name="button">鏄剧ず鏂囨湰</param> public void MonMethod(FrameLayout fLayout, Button button) { - LogicView.MonView monView = new LogicView.MonView(); - monView.btnTitle.TextID = StringId.monthly; - monView.FLayoutView(fLayout); - monView.btnCancel.MouseUpEventHandler += (sender2, e2) => - { - monView.frameLayout.RemoveFromParent(); - }; - //瀹氫箟涓�涓眬閮╩onList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁; - List<string> monList = new List<string>(); - if (Logic.currlogic.cycle.type == "mon") - { - //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹� - monList.AddRange(Logic.currlogic.cycle.value); - } - //瀹氫箟涓�涓彉閲忚褰曡鏁� - int lineSun = 0; - for (int i = 1; i < 32; i++) - { - Button monTextBtn = new Button - { - Width = Application.GetMinRealAverage(30), - Height = Application.GetMinRealAverage(30), - Radius = (uint)Application.GetRealHeight(15), - Text = i.ToString(), - TextSize = LogicView.TextSize.text14, - TextColor = CSS.CSS_Color.textColor, - SelectedTextColor = CSS.CSS_Color.view, - SelectedBackgroundColor = CSS.CSS_Color.textConfirmColor, - BackgroundColor = CSS.CSS_Color.viewTranslucence, - Tag = i, - }; - monView.frameLayout.AddChidren(monTextBtn); - if (lineSun > 0) - { - monTextBtn.X = Application.GetRealWidth(16 + ((i - 1) - lineSun * 7) * 46); - } - else - { - monTextBtn.X = Application.GetRealWidth(16 + (i - 1) * 46); - } - monTextBtn.Y = Application.GetRealWidth(58 + 10 + lineSun * (30 + 10)); - - if (i % 7 == 0) + PublicInterface weekView = new PublicInterface(); + weekView.MonSelectShow(fLayout, Logic.currlogic, (monList) => { - //涓�瀹氭墽琛屽畬鍐嶅垽鏂槸鍚﹁鎹㈣. - lineSun = lineSun + 1; + Logic.currlogic.cycle.type = "mon"; + Logic.currlogic.cycle.value = monList; + button.Text = MainView.GetMonString(monList); + }); - } - monTextBtn.MouseUpEventHandler += (sender, e) => - { - string clickIndex = monTextBtn.Tag.ToString(); - monTextBtn.IsSelected = !monTextBtn.IsSelected; - if (monTextBtn.IsSelected) - { - monTextBtn.IsSelected = true; - if (!monList.Contains(clickIndex)) - { - //娣诲姞閫変腑鏁版嵁 - monList.Add(clickIndex); - } - } - else - { - monTextBtn.IsSelected = false; - if (monList.Contains(clickIndex)) - { - //绉婚櫎閫変腑鏁版嵁 - monList.Remove(clickIndex); - } - } - }; - - if (monList.Contains(i.ToString())) { - monTextBtn.IsSelected = true; - } - } - //纭畾鐐瑰嚮浜嬩欢 - monView.btnConfirm.MouseUpEventHandler += (sender1, e1) => - { - if (monList.Count == 0) - { - //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡 - return; - } - Logic.currlogic.cycle.type = "mon"; - Logic.currlogic.cycle.value = monList; - button.Text = MainView.GetMonString(monList); - fLayout.RemoveFromParent(); - }; } /// <summary> /// 婊¤冻鏉′欢 @@ -584,92 +493,139 @@ /// <param name="button">鏄剧ず鏂囨湰</param> public void AndOrMethod(FrameLayout fLayout, Button button) { - LogicView.DateView meetTheConditionView = new LogicView.DateView(); - meetTheConditionView.btnTitle.TextID = StringId.meetTheCondition; - meetTheConditionView.FLayoutView(fLayout, 2); - meetTheConditionView.btnCancel.MouseUpEventHandler += (sender2, e2) => - { - fLayout.RemoveFromParent(); + List<string> strList = new List<string> { + Language.StringByID(StringId.andCondition), + Language.StringByID(StringId.orCondition), }; + ///涔嬪墠鐨勭姸鎬佹枃鏈� + string currCondition = button.Text; - //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵�� - string condition = ""; - LogicView.SelectTypeView andConditionViews = new LogicView.SelectTypeView(); - andConditionViews.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence; - andConditionViews.frameLayout.Y = Application.GetRealHeight(56); - andConditionViews.btnIcon.Visible = false; - andConditionViews.btnText.X = Application.GetRealWidth(20); - andConditionViews.btnText.TextID = StringId.andCondition; - andConditionViews.btnLine.X = Application.GetRealWidth(20); - andConditionViews.btnLine.Width = Application.GetRealWidth(303); - andConditionViews.btnNextIcon.X = Application.GetRealWidth(303); - andConditionViews.btnNextIcon.Width = Application.GetMinRealAverage(28); - andConditionViews.btnNextIcon.Height = Application.GetMinRealAverage(28); - andConditionViews.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png"; - andConditionViews.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png"; - meetTheConditionView.frameLayout.AddChidren(andConditionViews.FLayoutView()); + PublicInterface conditionView = new PublicInterface(); + conditionView.SingleSelectionShow(fLayout, strList, Language.StringByID(StringId.meetTheCondition), currCondition + , (stateValue) => + { + if (stateValue == Language.StringByID(StringId.orCondition)) + { + Logic.currlogic.relation = "or"; + } + else + { + Logic.currlogic.relation = "and"; + } + button.Text = stateValue; + + }); - LogicView.SelectTypeView orConditionView = new LogicView.SelectTypeView(); - orConditionView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence; - orConditionView.frameLayout.Y = Application.GetRealHeight(56 + 50); - orConditionView.btnIcon.Visible = false; - orConditionView.btnText.X = Application.GetRealWidth(20); - orConditionView.btnText.TextID = StringId.orCondition; - orConditionView.btnLine.X = Application.GetRealWidth(20); - orConditionView.btnLine.Width = Application.GetRealWidth(303); - orConditionView.btnNextIcon.X = Application.GetRealWidth(303); - orConditionView.btnNextIcon.Width = Application.GetMinRealAverage(28); - orConditionView.btnNextIcon.Height = Application.GetMinRealAverage(28); - orConditionView.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png"; - orConditionView.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png"; - meetTheConditionView.frameLayout.AddChidren(orConditionView.FLayoutView()); - - - if (Logic.currlogic.relation == "and") + } + /// <summary> + /// 鏄熸湡鍛ㄦ湡杞崲鍊肩殑鏂规硶 + /// </summary> + /// <param name="list"></param> + /// <param name="str_or_int"></param> + /// <returns></returns> + public List<string> GetWeekString(List<string> list, string str_or_int) + { + string weekTextName = ""; + List<string> stateList = new List<string>(); + for (int i = 0; i < list.Count; i++) { - andConditionViews.btnNextIcon.IsSelected = true; - condition = "and"; - } - else - { - orConditionView.btnNextIcon.IsSelected = true; - condition = "or"; - } - andConditionViews.btnClick.MouseUpEventHandler += (sen1, e) => - { - condition = "and"; - andConditionViews.btnNextIcon.IsSelected = true; - orConditionView.btnNextIcon.IsSelected = false; - }; - orConditionView.btnClick.MouseUpEventHandler += (sen1, e) => - { - condition = "or"; - andConditionViews.btnNextIcon.IsSelected = false; - orConditionView.btnNextIcon.IsSelected = true; - }; - //纭畾鐐瑰嚮浜嬩欢 - meetTheConditionView.btnConfirm.MouseUpEventHandler += (sender1, e1) => - { - if (string.IsNullOrEmpty(condition)) + var s = list[i]; + if (str_or_int == "int") { - //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡 - return; - } - Logic.currlogic.relation = condition; - if (condition == "or") - { - button.Text = Language.StringByID(StringId.orCondition); + switch (s) + { + case "1": + { + weekTextName = Language.StringByID(StringId.monday); + } + break; + case "2": + { + weekTextName = Language.StringByID(StringId.tuesday); + } + break; + case "3": + { + weekTextName = Language.StringByID(StringId.wednesday); + } + break; + case "4": + { + weekTextName = Language.StringByID(StringId.thursday); + } + break; + case "5": + { + weekTextName = Language.StringByID(StringId.friday); + } + break; + case "6": + { + weekTextName = Language.StringByID(StringId.saturday); + } + break; + case "0": + { + weekTextName = Language.StringByID(StringId.sunday); + } + break; + } + } else { - button.Text = Language.StringByID(StringId.andCondition); + if (Language.StringByID(StringId.monday) == s) + { + weekTextName = "1"; + } + else if (Language.StringByID(StringId.tuesday) == s) + { + weekTextName = "2"; + } + else if (Language.StringByID(StringId.wednesday) == s) + { + weekTextName = "3"; + } + else if (Language.StringByID(StringId.thursday) == s) + { + weekTextName = "4"; + } + else if (Language.StringByID(StringId.friday) == s) + { + weekTextName = "5"; + } + else if (Language.StringByID(StringId.saturday) == s) + { + weekTextName = "6"; + } + else if (Language.StringByID(StringId.sunday) == s) + { + weekTextName = "0"; + } } - fLayout.RemoveFromParent(); - }; + stateList.Add(weekTextName); + } + + return stateList; } + /// <summary> + /// 鐏拌壊寮规鐖舵帶浠� + /// </summary> + /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈�</param> + /// <returns></returns> + public FrameLayout GetFrame(FrameLayout frame, string tagKey) + { + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + Tag = tagKey, + }; + frame.AddChidren(fLayout); + return fLayout; + } } } -- Gitblit v1.8.0