| | |
| | | |
| | | public void Show() |
| | | { |
| | | |
| | | #region 界面布局 |
| | | this.BackgroundColor = CSS.CSS_Color.viewMiddle; |
| | | LogicView.TopView topView = new LogicView.TopView(); |
| | | topView.setBtn.Visible = true; |
| | | this.AddChidren(topView.FLayoutView()); |
| | | topView.clickBackBtn.MouseUpEventHandler += (e, sen) => |
| | | { |
| | | RemoveFromParent(); |
| | | }; |
| | | topView.topNameBtn.TextID = StringId.newAutomation; |
| | | if (string.IsNullOrEmpty(Logic.currlogic.userLogicId)) |
| | | { |
| | | topView.topNameBtn.TextID = StringId.newAutomation; |
| | | topView.setBtn.Visible = false; |
| | | topView.clickSetBtn.Visible = false; |
| | | } |
| | | else |
| | | { |
| | | topView.topNameBtn.TextID = StringId.editAutomation; |
| | | topView.setBtn.Visible = true; |
| | | topView.clickSetBtn.Visible = true; |
| | | } |
| | | |
| | | |
| | | VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout |
| | | { |
| | |
| | | viewLayout.AddChidren(addInputTextView.FLayoutView(46, 12)); |
| | | ///满足以下条件的View |
| | | LogicView.LogicTypeTitleView titleCondition = new LogicView.LogicTypeTitleView(); |
| | | titleCondition.btnText.Width = Application.GetRealWidth(300); |
| | | titleCondition.btnText.Height = Application.GetRealHeight(28); |
| | | titleCondition.btnText.IsMoreLines = true; |
| | | titleCondition.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | titleCondition.btnText.TextID = StringId.whenTheFollowingConditionsAreMet; |
| | | titleCondition.btnText.TextID = StringId.andCondition; |
| | | viewLayout.AddChidren(titleCondition.FLayoutView()); |
| | | |
| | | if (Logic.currlogic.relation == "and") |
| | | { |
| | | titleCondition.btnText.Text = Language.StringByID(StringId.andCondition); |
| | | } |
| | | else |
| | | { |
| | | titleCondition.btnText.Text = Language.StringByID(StringId.orCondition); |
| | | |
| | | } |
| | | |
| | | // 条件处理方法 |
| | | InpOrOutLogicMethod.InputCondition(this, viewLayout); |
| | | ///添加图标的View |
| | | 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 目标 |
| | |
| | | LogicView.LogicTypeTitleView titleOutpu = new LogicView.LogicTypeTitleView(); |
| | | titleOutpu.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | titleOutpu.btnText.TextID = StringId.theFollowingActions; |
| | | titleOutpu.btnNextIcon.Visible = false; |
| | | viewLayout.AddChidren(titleOutpu.FLayoutView()); |
| | | //目标处理方法 |
| | | InpOrOutLogicMethod.OutputTarget(this, viewLayout); |
| | |
| | | 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 循环方式 |
| | |
| | | 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.GetCyclicText(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 执行推送 发送通知 |
| | |
| | | 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.GetRealWidth(36); |
| | | push.btnNextIcon.Height = Application.GetRealWidth(36); |
| | | push.btnNextIcon.X = Application.GetRealWidth(305); |
| | | push.btnNextIcon.UnSelectedImagePath = "LogicIcon/off.png"; |
| | | push.btnNextIcon.SelectedImagePath = "LogicIcon/on.png"; |
| | | push.btnClick.Width = Application.GetRealWidth(305); |
| | | 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; |
| | | notification.btnLine.BackgroundColor = CSS.CSS_Color.textWhiteColor; |
| | | viewLayout.AddChidren(notification.FLayoutView()); |
| | | //显示之前推送开关状态 |
| | | if (Logic.currlogic.noticeConfig.enable) |
| | | { |
| | | push.btnNextIcon.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | push.btnNextIcon.IsSelected = false; |
| | | } |
| | | ///上下间隔62像素 |
| | | viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62) }); |
| | | viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(40) }); |
| | | #endregion |
| | | |
| | | #region 保存 |
| | |
| | | LogicView.SaveView saveView = new LogicView.SaveView(); |
| | | saveView.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | this.AddChidren(saveView.FLayoutView()); |
| | | saveView.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Logic.LogicList.Add(Logic.currlogic); |
| | | LogicMethod.RemoveAllView(); |
| | | MainView.MainShow(); |
| | | |
| | | }; |
| | | //saveView.frameLayout.Y = this.Height - saveView.frameLayout.Height; |
| | | #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) => |
| | | { |
| | | AndOrMethod(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); |
| | | }; |
| | | ///是否要推送点击事件 |
| | | push.btnNextIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | //账号列表为空默认推送当前账号 |
| | | if (Logic.currlogic.pushConfigs.Count == 0) |
| | | { |
| | | //初始化对象 |
| | | PushConfigs pushConfigs = new PushConfigs(); |
| | | //默认添加推送当前账号 |
| | | pushConfigs.pushTarget.Add(UserInfo.Current.ID); |
| | | Logic.currlogic.pushConfigs.Add(pushConfigs); |
| | | } |
| | | push.btnNextIcon.IsSelected = !push.btnNextIcon.IsSelected; |
| | | if (push.btnNextIcon.IsSelected) |
| | | { |
| | | Logic.currlogic.noticeConfig.enable = true; |
| | | } |
| | | else |
| | | { |
| | | Logic.currlogic.noticeConfig.enable = false; |
| | | } |
| | | }; |
| | | ///输入推送文本 |
| | | notification.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | InputPushText inputPushText = new InputPushText(); |
| | | MainPage.BasePageView.AddChidren(inputPushText); |
| | | inputPushText.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | ///保存点击事件 |
| | | saveView.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (Logic.currlogic.input.Count == 0 && Logic.currlogic.output.Count == 0) |
| | | { |
| | | new LogicView.TipPopView().TipBox(StringId.tip, StringId.conditioncNullOrtargetNull); |
| | | return; |
| | | } |
| | | if (Logic.currlogic.input.Count == 0) |
| | | { |
| | | new LogicView.TipPopView().TipBox(StringId.tip, StringId.conditioncNull); |
| | | return; |
| | | } |
| | | if (Logic.currlogic.output.Count == 0) |
| | | { |
| | | new LogicView.TipPopView().TipBox(StringId.tip, StringId.targetNull); |
| | | return; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | 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) |
| | | { |
| | | list.Add(logic.name); |
| | | } |
| | | new LogicView.TipPopView().InputBox(StringId.editName, InpOrOutLogicMethod.GetLogicName(Logic.currlogic), StringId.nameNull, StringId.NameAlreadyExists, list, (logicName, view |
| | | ) => |
| | | { |
| | | Logic.currlogic.name = logicName; |
| | | Logic.currlogic.sid = LogicMethod.CurrLogicMethod.NewSid(); |
| | | loading.Start(); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | try |
| | | { |
| | | if (!MainPage.NoLoginMode) |
| | | { |
| | | //发送新加逻辑命令; |
| | | responsePackNew = Send.AddLogic(Logic.currlogic); |
| | | } |
| | | |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | if(MainPage.NoLoginMode) |
| | | { |
| | | Logic.LogicList.Add(Logic.currlogic); |
| | | LogicMethod.CurrLogicMethod.RemoveAllView(); |
| | | MainView.MainShow(); |
| | | return; |
| | | } |
| | | |
| | | 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]; |
| | | //数据返序列化为Logic对象 |
| | | var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); |
| | | var logic = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic>(str); |
| | | if (logic.userLogicId != "") |
| | | { |
| | | //更新云端唯一自动化id; |
| | | Logic.currlogic.userLogicId = logic.userLogicId; |
| | | } |
| | | else |
| | | { |
| | | //自己看的所以不需要支持中英文 |
| | | new LogicView.TipPopView().FlashingBox("没有返回云端唯一自动化id"); |
| | | } |
| | | |
| | | } |
| | | |
| | | Logic.LogicList.Add(Logic.currlogic); |
| | | LogicMethod.CurrLogicMethod.RemoveAllView(); |
| | | MainView.MainShow(); |
| | | } |
| | | else if (responsePackNew != null && responsePackNew.Code == "14005") |
| | | { |
| | | new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline)); |
| | | } |
| | | else |
| | | { |
| | | new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | }, () => { }); |
| | | |
| | | } |
| | | else |
| | | { |
| | | loading.Start(); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | |
| | | try |
| | | { |
| | | //发送修改逻辑命令; |
| | | responsePackNew = Send.UpdateLogic(Logic.currlogic); |
| | | |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | if (responsePackNew != null && responsePackNew.Code == "0") |
| | | { |
| | | LogicMethod.CurrLogicMethod.RemoveAllView(); |
| | | MainView.MainShow(); |
| | | } |
| | | else if (responsePackNew != null && responsePackNew.Code == "14005") |
| | | { |
| | | new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline)); |
| | | } |
| | | 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); |
| | |
| | | //定义一个局部变量记录选中文本状态 |
| | | string weekName = ""; |
| | | //定义一个局部Btn用来记录选中Btn; |
| | | var selecetdBtn = new Button(); |
| | | var selecetdBtn = new Button() { Text = "" }; |
| | | for (int i = 0; i < 4; i++) |
| | | { |
| | | LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView(); |
| | |
| | | dateTypeView.btnLine.Width = Application.GetRealWidth(303); |
| | | dateView.frameLayout.AddChidren(dateTypeView.FLayoutView()); |
| | | dateTypeView.btnClick.Tag = i;//标记类型 |
| | | |
| | | switch (i) |
| | | { |
| | | case 0: |
| | |
| | | break; |
| | | case 2: |
| | | { |
| | | // weekName = Language.StringByID(StringId.weekly); |
| | | WeekMethod(fLayout, button); |
| | | } |
| | | break; |
| | | case 3: |
| | | { |
| | | //weekName = Language.StringByID(StringId.monthly); |
| | | MonMethod(fLayout, button); |
| | | } |
| | | break; |
| | |
| | | { |
| | | 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(); |
| | | }; |
| | |
| | | /// <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(); |
| | | }; |
| | | //定义一个局部weekList列表用来记录选中数据; |
| | | List<string> weekList = new List<string>(); |
| | | List<string> weekStateList = new List<string>(); |
| | | PublicInterface weekView = new PublicInterface(); |
| | | if (Logic.currlogic.cycle.type == "week") |
| | | { |
| | | //数据转换 |
| | | var list = weekView.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; |
| | | var weekListStr = weekView.GetViewList("week"); |
| | | weekView.MultiSelectShow(fLayout, weekListStr, Language.StringByID(StringId.cyclic), weekStateList |
| | | , (list) => |
| | | { |
| | | |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | //选中数据处理 |
| | | var statelist = weekView.GetWeekString(list, "str"); |
| | | string textStr = MainView.GetWeekString(statelist); |
| | | //显示选中数据 |
| | | button.Text = textStr; |
| | | //封装数据 |
| | | Logic.currlogic.cycle.type = "week"; |
| | | Logic.currlogic.cycle.value = statelist; |
| | | |
| | | }; |
| | | |
| | | } |
| | | //确定点击事件 |
| | | weekView.btnConfirm.MouseUpEventHandler += (sender1, e1) => |
| | | { |
| | | if (weekList.Count == 0) |
| | | { |
| | | //提示:还没选中执行周期 |
| | | return; |
| | | } |
| | | Logic.currlogic.cycle.type = "week"; |
| | | Logic.currlogic.cycle.value = weekList; |
| | | button.Text = GetWeekString(weekList); |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | |
| | | }); |
| | | } |
| | | /// <summary> |
| | | /// 每月 |
| | |
| | | /// <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(); |
| | | }; |
| | | //定义一个局部monList列表用来记录选中数据; |
| | | 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; |
| | | //选中数据处理 |
| | | string textStr = MainView.GetMonString(monList); |
| | | //显示选中数据 |
| | | button.Text = textStr; |
| | | //封装数据 |
| | | Logic.currlogic.cycle.type = "mon"; |
| | | Logic.currlogic.cycle.value = 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 = GetMonString(monList); |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | } |
| | | /// <summary> |
| | | /// 获取星期的字符串 |
| | | /// 满足条件 |
| | | /// </summary> |
| | | /// <param name="weekList"></param> |
| | | /// <returns></returns> |
| | | public string GetWeekString(List<string> weekList) |
| | | /// <param name="button">显示文本</param> |
| | | public void AndOrMethod(Button button) |
| | | { |
| | | string weekTextName = ""; |
| | | |
| | | if (weekList.Contains("0")) |
| | | { |
| | | weekTextName += Language.StringByID(StringId.monday) + ","; |
| | | } |
| | | if (weekList.Contains("1")) |
| | | { |
| | | weekTextName += Language.StringByID(StringId.tuesday) + ","; |
| | | } |
| | | if (weekList.Contains("2")) |
| | | { |
| | | weekTextName += Language.StringByID(StringId.wednesday) + ","; |
| | | } |
| | | if (weekList.Contains("3")) |
| | | { |
| | | weekTextName += Language.StringByID(StringId.thursday) + ","; |
| | | } |
| | | if (weekList.Contains("4")) |
| | | { |
| | | weekTextName += Language.StringByID(StringId.friday) + ","; |
| | | } |
| | | if (weekList.Contains("5")) |
| | | { |
| | | weekTextName += Language.StringByID(StringId.saturday) + ","; |
| | | } |
| | | if (weekList.Contains("6")) |
| | | { |
| | | weekTextName += Language.StringByID(StringId.sunday) + ","; |
| | | } |
| | | if (weekTextName == "") |
| | | { |
| | | return ""; |
| | | } |
| | | return weekTextName.TrimEnd(','); |
| | | } |
| | | /// <summary> |
| | | /// 获取每月的字符串 |
| | | /// </summary> |
| | | /// <param name="monList"></param> |
| | | /// <returns></returns> |
| | | public string GetMonString(List<string> monList) |
| | | { |
| | | string monTextName = Language.StringByID(StringId.monthly); |
| | | ///之前的状态文本 |
| | | string currCondition = button.Text; |
| | | PublicInterface conditionView = new PublicInterface(); |
| | | var strList = conditionView.GetViewList("andor"); |
| | | conditionView.SingleSelectionShow(this, strList, Language.StringByID(StringId.meetTheCondition), currCondition |
| | | , (stateValue) => |
| | | { |
| | | //界面显示选中值 |
| | | button.Text = stateValue; |
| | | //封装数据 |
| | | if (stateValue == Language.StringByID(StringId.orCondition)) |
| | | { |
| | | Logic.currlogic.relation = "or"; |
| | | } |
| | | else |
| | | { |
| | | Logic.currlogic.relation = "and"; |
| | | } |
| | | |
| | | for (int i = 1; i < 32; i++) |
| | | { |
| | | if (monList.Contains(i.ToString())) |
| | | { |
| | | monTextName += i.ToString() + ","; |
| | | } |
| | | } |
| | | return monTextName.TrimEnd(','); |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | } |