wei
2021-01-27 7232642ff48a7fbde2018cde652f3e771fa58025
HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
old mode 100644 new mode 100755
@@ -14,20 +14,34 @@
        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
            {
                Y = Application.GetRealHeight(64),
                Width = Application.GetRealWidth(LogicView.TextSize.view375),
                Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64-76),
                Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64 - 76),
                BackgroundColor = CSS.CSS_Color.viewMiddle,
            };
            this.AddChidren(viewLayout);
@@ -38,159 +52,26 @@
            viewLayout.AddChidren(addInputTextView.FLayoutView(46, 12));
            ///满足以下条件的View
            LogicView.LogicTypeTitleView titleCondition = new LogicView.LogicTypeTitleView();
            titleCondition.frameLayout.SetCornerWithSameRadius(12,HDLUtils.RectCornerTopLeft| HDLUtils.RectCornerTopRight);
            titleCondition.btnText.TextID = StringId.whenTheFollowingConditionsAreMet;
            titleCondition.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            titleCondition.btnText.TextID = StringId.andCondition;
            viewLayout.AddChidren(titleCondition.FLayoutView());
            for (int i = 0; i < Logic.currlogic.input.Count; i++)
            if (Logic.currlogic.relation == "and")
            {
                Input inputCondition = Logic.currlogic.input[i];
                ///输入各种条件的View
                LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView();
                viewLayout.AddChidren(inputView.FLayoutView());
                ///记录条件类型
                inputView.btnClick.Name = inputCondition.condition_type;
                ///记录选中条件
                inputView.btnClick.Tag = i;
                ///输入条件状态数组
                List<Dictionary<string, string>> dicList = inputCondition.condition as List<Dictionary<string, string>>;
                //显示条件各种状态
                switch (inputCondition.condition_type)
                {
                    case "1":
                        {
                            inputView.btnIcon.UnSelectedImagePath = "LogicIcon/timecondition.png";
                            foreach (var dic in dicList)
                            {
                                string value = dic["value"];
                                inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value;
                                inputView.btnClick.AddTag("timepoint", value);
                            }
                        }
                        break;
                    case "2":
                        {
                            inputView.btnIcon.UnSelectedImagePath = "LogicIcon/timecondition.png";
                            foreach (var dic in dicList)
                            {
                                string value = dic["value"];
                                inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value;
                                inputView.btnClick.AddTag("timeHorizon", value);
                            }
                        }
                        break;
                }
                //再次编辑条件状态点击事件
                inputView.btnClick.MouseUpEventHandler += (sen, e) =>
                {
                    Button button = (Button)sen;
                    switch (button.Name)
                    {
                        case "1":
                            {  //主界面控件
                                FrameLayout fLayout = new FrameLayout
                                {
                                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                                };
                                //添加主界面
                                this.AddChidren(fLayout);
                                LogicView.TimeView timePointView = new LogicView.TimeView();
                                timePointView.FLayoutView(fLayout);
                                EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) =>
                                {
                                    //移除fLayout界面
                                    fLayout.RemoveFromParent();
                                };
                                //界面点击事件
                                fLayout.MouseUpEventHandler += RemovefLayout;
                                //取消点击事件
                                timePointView.btnCancel.MouseUpEventHandler += RemovefLayout;
                                //加载数据界面的设置方法(列表互不联动)
                                timePointView.mUIPickerView.setNPicker(timePointView.GethStringList(), timePointView.GetmStringList(), null);
                                string startingVulae = button.GetTagByKey("timepoint").ToString();
                                //默认初始选中状态
                                timePointView.mUIPickerView.setCurrentItems(1, 30, 0);
                                //定义一个局部变量记录选中时间
                                string timepoint = "01:05";
                                if (!string.IsNullOrEmpty(startingVulae))
                                {
                                    int hIndex = timePointView.GetValueIndex(startingVulae, 0, 1, timePointView.GethIntList());
                                    int mIndex = timePointView.GetValueIndex(startingVulae, 1, 0, timePointView.GetmIntList());
                                    //更新初始状态
                                    timePointView.mUIPickerView.setCurrentItems(hIndex - 1, mIndex, 0);
                                    timepoint = startingVulae;
                                }
                                //选中时间回调方法,时间变化一次回调一次
                                timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
                                {
                                    string hour = timePointView.GethStringList()[index1].Split(' ')[0];
                                    string minuet = timePointView.GetmStringList()[index2].Split(' ')[0];
                                    timepoint = hour + ":" + minuet;
                                };
                                //确定点击事件
                                timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) =>
                                {
                                    if (startingVulae == timepoint)
                                    {
                                        ///编辑新时间和之前时间一样,直接关闭界面返回;
                                        fLayout.RemoveFromParent();
                                        return;
                                    }
                                    Input inputTime = new Input();
                                    inputTime.sid = LogicMethod.NewSid();
                                    inputTime.condition_type = "1";
                                    Dictionary<string, string> dic = new Dictionary<string, string>();
                                    LogicMethod.dictionary(dic, "key", "timepoint");
                                    LogicMethod.dictionary(dic, "comparator", "=");
                                    LogicMethod.dictionary(dic, "data_type", "string");
                                    LogicMethod.dictionary(dic, "value", timepoint);
                                    inputTime.condition.Add(dic);
                                    //旧数据索引
                                    int indexValue = int.Parse(inputView.btnClick.Tag.ToString());
                                    //移除旧数据
                                    Logic.currlogic.input.RemoveAt(indexValue);
                                    //新数据插入旧数据的位置;
                                    Logic.currlogic.input.Insert(indexValue, inputTime);
                                    //添加一个新的时间点条件
                                    RemoveViewByTag("Logic");
                                    AddLogic addLogic = new AddLogic();
                                    MainPage.BasePageView.AddChidren(addLogic);
                                    addLogic.Show();
                                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                                };
                            }
                            break;
                        case "2":
                            {
                                FrameLayout fLayout = new FrameLayout
                                {
                                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                                };
                                this.AddChidren(fLayout);
                                TimeTpye timeTpye = new TimeTpye();
                                timeTpye.TimeHorizon(fLayout,true,int.Parse(inputView.btnClick.Tag.ToString()));
                            }
                            break;
                    }
                };
                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(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
            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  目标
@@ -200,16 +81,17 @@
            viewLayout.AddChidren(addOutpuTextView.FLayoutView(54, 20));
            ///以下动作View        
            LogicView.LogicTypeTitleView titleOutpu = new LogicView.LogicTypeTitleView();
            titleOutpu.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            titleOutpu.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            titleOutpu.btnText.TextID = StringId.theFollowingActions;
            titleOutpu.btnNextIcon.Visible = false;
            viewLayout.AddChidren(titleOutpu.FLayoutView());
            ///输出各种动作的View
            LogicView.AddOutputInputView outputView = new LogicView.AddOutputInputView();
            viewLayout.AddChidren(outputView.FLayoutView());
            //目标处理方法
            InpOrOutLogicMethod.OutputTarget(this, viewLayout);
            ///添加图标的View
            LogicView.LogicAddView addOutputIcon = new LogicView.LogicAddView();
            addOutputIcon.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
            addOutputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
            viewLayout.AddChidren(addOutputIcon.FLayoutView());
            #endregion
            #region  循环方式
@@ -218,42 +100,443 @@
            cyclicTextView.btnIf.TextID = StringId.cyclic;
            viewLayout.AddChidren(cyclicTextView.FLayoutView(54, 20));
            ///选择周期类型View        
            LogicView.LogicTypeTitleView cyclicTitle= new LogicView.LogicTypeTitleView();
            cyclicTextView.frameLayout.Height = Application.GetRealHeight(50);
            cyclicTitle.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight|HDLUtils.RectCornerBottomLeft|HDLUtils.RectCornerBottomRight);
            //cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12);
            cyclicTitle.btnText.TextID = StringId.days;
            LogicView.LogicTypeTitleView cyclicTitle = new LogicView.LogicTypeTitleView();
            cyclicTitle.frameLayout.Height = Application.GetRealHeight(50);
            cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12);
            cyclicTitle.btnText.Text = MainView.GetCyclicText(Logic.currlogic);
            viewLayout.AddChidren(cyclicTitle.FLayoutView());
            #endregion
            #region  执行推送 发送通知
            ///上下间隔12像素
            viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12)});
            ///执行推送iew
            LogicView.LogicTypeTitleView push = new LogicView.LogicTypeTitleView();
            push.frameLayout.Height = Application.GetRealHeight(50);
            push.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            push.btnText.TextID = StringId.push;
            viewLayout.AddChidren(push.FLayoutView());
            ///发送通知View
            LogicView.LogicTypeTitleView notification = new LogicView.LogicTypeTitleView();
            notification.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
            notification.btnText.TextID = StringId.notification;
            viewLayout.AddChidren(notification.FLayoutView());
            ///上下间隔62像素
           viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62)});
            viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) });
            /////执行推送iew
            //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  保存
            ///保存View
            LogicView.SaveView saveView = new LogicView.SaveView();
            saveView.frameLayout.SetCornerWithSameRadius(24,HDLUtils.RectCornerTopLeft|HDLUtils.RectCornerTopRight);
            saveView.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            this.AddChidren(saveView.FLayoutView());
            //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);
            };
            ///保存点击事件
            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) =>
                    {
                        Logic.currlogic.name = logicName;
                        Logic.currlogic.sid = LogicMethod.NewSid();
                        loading.Start();
                        new System.Threading.Thread(() =>
                        {
                            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];
                                            //数据返序列化为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.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.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="button">显示文本</param>
        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);
            dateView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
            {
                //移除fLayout界面
                fLayout.RemoveFromParent();
            };
            //定义一个局部变量记录选中文本状态
            string weekName = "";
            //定义一个局部Btn用来记录选中Btn;
            var selecetdBtn = new Button() { Text = "" };
            for (int i = 0; i < 4; i++)
            {
                LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView();
                dateTypeView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence;
                dateTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
                dateTypeView.btnIcon.Visible = false;
                dateTypeView.btnText.X = Application.GetRealWidth(20);
                dateTypeView.btnNextIcon.X = Application.GetRealWidth(307);
                dateTypeView.btnLine.X = Application.GetRealWidth(20);
                dateTypeView.btnLine.Width = Application.GetRealWidth(303);
                dateView.frameLayout.AddChidren(dateTypeView.FLayoutView());
                dateTypeView.btnClick.Tag = i;//标记类型
                switch (i)
                {
                    case 0:
                        {
                            weekName = Language.StringByID(StringId.performA);
                            dateTypeView.btnNextIcon.Visible = false;
                        }
                        break;
                    case 1:
                        {
                            weekName = Language.StringByID(StringId.days);
                            dateTypeView.btnNextIcon.Visible = false;
                        }
                        break;
                    case 2:
                        {
                            weekName = Language.StringByID(StringId.weekly);
                        }
                        break;
                    case 3:
                        {
                            weekName = Language.StringByID(StringId.monthly);
                        }
                        break;
                }
                dateTypeView.btnText.Text = weekName;
                //循环类型(例如:每月,每天)点击事件
                dateTypeView.btnClick.MouseUpEventHandler += (sender, e) =>
                {
                    int clickIndex = int.Parse(dateTypeView.btnClick.Tag.ToString());
                    switch (clickIndex)
                    {
                        case 0:
                            {
                                weekName = Language.StringByID(StringId.performA);
                                selecetdBtn.TextColor = CSS.CSS_Color.textColor;
                                dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor;
                                selecetdBtn = dateTypeView.btnText;
                            }
                            break;
                        case 1:
                            {
                                weekName = Language.StringByID(StringId.days);
                                selecetdBtn.TextColor = CSS.CSS_Color.textColor;
                                dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor;
                                selecetdBtn = dateTypeView.btnText;
                            }
                            break;
                        case 2:
                            {
                                WeekMethod(fLayout, button);
                            }
                            break;
                        case 3:
                            {
                                MonMethod(fLayout, button);
                            }
                            break;
                    }
                };
                //显示之前的状态
                if (button.Text == weekName)
                {
                    dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor;
                    selecetdBtn = dateTypeView.btnText;
                }
            }
            //确定保存
            dateView.btnConfirm.MouseUpEventHandler += (sender3, e3) =>
            {
                if (selecetdBtn.Text == Language.StringByID(StringId.performA))
                {
                    //执行一次
                    Logic.currlogic.cycle.type = "once";
                }
                else if (selecetdBtn.Text == Language.StringByID(StringId.days))
                {
                    //每天
                    Logic.currlogic.cycle.type = "day";
                }
                else
                {
                    //提示:还未选
                    return;
                }
                //选中保存之后显示文本
                button.Text = selecetdBtn.Text;
                //移除fLayout界面
                fLayout.RemoveFromParent();
            };
        }
        /// <summary>
        /// 选中星期几(周一,周二 。。。)
        /// </summary>
        /// <param name="fLayout">弹框主控件</param>
        /// <param name="button">显示文本</param>
        public void WeekMethod(FrameLayout fLayout, Button button)
        {
            //定义一个局部weekList列表用来记录选中数据;
            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");
                //加载之前保存的数据
                weekStateList.AddRange(list);
            }
            var weekListStr= weekView.GetViewList("week");
            weekView.MultiSelectShow(fLayout, weekListStr, Language.StringByID(StringId.cyclic), weekStateList
               , (list) =>
               {
                   //选中数据处理
                   var statelist = weekView.GetWeekString(list, "str");
                   string textStr = MainView.GetWeekString(statelist);
                   //显示选中数据
                   button.Text = textStr;
                   //封装数据
                   Logic.currlogic.cycle.type = "week";
                   Logic.currlogic.cycle.value = statelist;
               });
        }
        /// <summary>
        /// 每月
        /// </summary>
        /// <param name="fLayout">弹框主控件</param>
        /// <param name="button">显示文本</param>
        public void MonMethod(FrameLayout fLayout, Button button)
        {
            PublicInterface weekView = new PublicInterface();
            weekView.MonSelectShow(fLayout, Logic.currlogic, (monList) =>
                {
                    //选中数据处理
                    string textStr= MainView.GetMonString(monList);
                    //显示选中数据
                    button.Text = textStr;
                    //封装数据
                    Logic.currlogic.cycle.type = "mon";
                    Logic.currlogic.cycle.value = monList;
                });
        }
        /// <summary>
        /// 满足条件
        /// </summary>
        /// <param name="button">显示文本</param>
        public void AndOrMethod(Button button)
        {
            ///之前的状态文本
            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";
                   }
               });
        }
    }
}