From 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 03 十二月 2020 15:35:42 +0800
Subject: [PATCH] 2020-12-03-1

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs |  726 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 571 insertions(+), 155 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
index 4559743..8640e96 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -14,20 +14,41 @@
 
         public void Show()
         {
+
             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.sid))
+            {
+                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;
+            }
+            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
             {
                 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,150 +59,25 @@
             viewLayout.AddChidren(addInputTextView.FLayoutView(46, 12));
             ///婊¤冻浠ヤ笅鏉′欢鐨刅iew
             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++)
+            titleCondition.btnClick.MouseUpEventHandler += (sender, e) =>
             {
-                Input inputCondition = Logic.currlogic.input[i];
-                ///杈撳叆鍚勭鏉′欢鐨刅iew
-                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)
+                FrameLayout fLayout = new FrameLayout
                 {
-                    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;
-                    }
+                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                 };
-            }
+                this.AddChidren(fLayout);
+                AndOrMethod(fLayout, titleCondition.btnText);
+            };
+
+
+            // 鏉′欢澶勭悊鏂规硶
+            InpOrOutLogicMethod.InputCondition(this, viewLayout);
             ///娣诲姞鍥炬爣鐨刅iew
             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) =>
@@ -200,16 +96,23 @@
             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());
-            ///杈撳嚭鍚勭鍔ㄤ綔鐨刅iew
-            LogicView.AddOutputInputView outputView = new LogicView.AddOutputInputView();
-            viewLayout.AddChidren(outputView.FLayoutView());
+            //鐩爣澶勭悊鏂规硶
+            InpOrOutLogicMethod.OutputTarget(this, viewLayout);
             ///娣诲姞鍥炬爣鐨刅iew
             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());
+            addOutputIcon.btnClick.MouseUpEventHandler += (sen, e) =>
+            {
+                var addTarget = new AddTarget();
+                MainPage.BasePageView.AddChidren(addTarget);
+                addTarget.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
             #endregion
 
             #region  寰幆鏂瑰紡
@@ -218,42 +121,555 @@
             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);
+            LogicView.LogicTypeTitleView cyclicTitle = new LogicView.LogicTypeTitleView();
+            cyclicTitle.frameLayout.Height = Application.GetRealHeight(50);
+            cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12);
             cyclicTitle.btnText.TextID = StringId.days;
             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)});
+            viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) });
             ///鎵ц鎺ㄩ�乮ew
             LogicView.LogicTypeTitleView push = new LogicView.LogicTypeTitleView();
             push.frameLayout.Height = Application.GetRealHeight(50);
-            push.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
+            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(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
+            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)});
+            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;
+            saveView.btnClick.MouseUpEventHandler += (sender, e) =>
+            {
+                if (string.IsNullOrEmpty(Logic.currlogic.sid))
+                {
+                    List<string> list = new List<string>();
+                    foreach (var logic in Logic.LogicList)
+                    {
+                        list.Add(logic.name);
+                    }
+                    new LogicView.TipPopView().InputBox(StringId.editName, Logic.currlogic.name, StringId.nameNull, StringId.NameAlreadyExists, list, (logicName) =>
+                    {
+                        Logic.currlogic.name = logicName;
+                        Logic.currlogic.sid = LogicMethod.NewSid();
+                        //鍙戦�佹柊鍔犱慨鏀归�昏緫鍛戒护锛�
+                        var responsePackNew = Send.AddLogic(Logic.currlogic);
+                        if (responsePackNew.Code == "0")
+                        {
+                            Logic.LogicList.Add(Logic.currlogic);
+                            LogicMethod.RemoveAllView();
+                            MainView.MainShow();
+                        }
+                        else {
+                            new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
+                        }
+
+                    });
+
+                }
+                else
+                {
+                    //鍙戦�佹柊鍔犱慨鏀归�昏緫鍛戒护锛�
+                    var responsePackNew = Send.updateLogic(Logic.currlogic);
+                    if (responsePackNew.Code == "0")
+                    {
+                        LogicMethod.RemoveAllView();
+                        MainView.MainShow();
+                    }
+                    else {
+                        new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
+                    }
+                }
+
+            };
             #endregion
 
+        }
+        /// <summary>
+        /// 寰幆鏂瑰紡(姣忓ぉ锛屾瘡鏈堛�傘��)
+        /// </summary>
+        /// <param name="fLayout">寮规涓绘帶浠�</param>
+        /// <param name="button">鏄剧ず鏂囨湰</param>
+        public void DateMethod(FrameLayout fLayout, Button button)
+        {
 
+            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 = "";
+            //瀹氫箟涓�涓眬閮˙tn鐢ㄦ潵璁板綍閫変腑Btn;
+            var selecetdBtn = new Button();
+            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:
+                            {
+                                // weekName = Language.StringByID(StringId.weekly);
+                                WeekMethod(fLayout, button);
+                            }
+                            break;
+                        case 3:
+                            {
+                                //weekName = Language.StringByID(StringId.monthly);
+                                MonMethod(fLayout, button);
+                            }
+                            break;
+
+
+                    }
+                };
+
+
+                //鏄剧ず涔嬪墠鐨勭姸鎬�
+                if (button.Text == weekName)
+                {
+                    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))
+                {
+                    //鎵ц涓�娆�
+                    Logic.currlogic.cycle.type = "once";
+                }
+                else if (weekName == Language.StringByID(StringId.days))
+                {
+                    //姣忓ぉ
+                    Logic.currlogic.cycle.type = "day";
+
+                }
+                //閫変腑淇濆瓨涔嬪悗鏄剧ず鏂囨湰
+                button.Text = weekName;
+                //绉婚櫎fLayout鐣岄潰
+                fLayout.RemoveFromParent();
+            };
+        }
+        /// <summary>
+        /// 閫変腑鏄熸湡鍑�(鍛ㄤ竴锛屽懆浜� 銆傘�傘��)
+        /// </summary>
+        /// <param name="fLayout">寮规涓绘帶浠�</param>
+        /// <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();
+            };
+            //瀹氫箟涓�涓眬閮╳eekList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁;
+            List<string> weekList = new List<string>();
+            if (Logic.currlogic.cycle.type == "week")
+            {
+                //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹�
+                weekList.AddRange(Logic.currlogic.cycle.value);
+            }
+            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵��
+            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;
+
+                }
+                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>
+        /// 姣忔湀
+        /// </summary>
+        /// <param name="fLayout">寮规涓绘帶浠�</param>
+        /// <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)
+                {
+                    //涓�瀹氭墽琛屽畬鍐嶅垽鏂槸鍚﹁鎹㈣.
+                    lineSun = lineSun + 1;
+
+                }
+                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>
+        /// 婊¤冻鏉′欢
+        /// </summary>
+        /// <param name="fLayout">寮规涓绘帶浠�</param>
+        /// <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();
+            };
+
+            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵��
+            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());
+
+
+            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")
+            {
+                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))
+                {
+                    //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡
+                    return;
+                }
+                Logic.currlogic.relation = condition;
+                if (condition == "or")
+                {
+                    button.Text = Language.StringByID(StringId.orCondition);
+                }
+                else
+                {
+                    button.Text = Language.StringByID(StringId.andCondition);
+                }
+                fLayout.RemoveFromParent();
+            };
+
+        }
+
+
     }
 }

--
Gitblit v1.8.0