From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs |  668 ++++++++++++++++++++++++-------------------------------
 1 files changed, 295 insertions(+), 373 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
index 8640e96..1b9285f 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -14,7 +14,7 @@
 
         public void Show()
         {
-
+            #region  鐣岄潰甯冨眬
             this.BackgroundColor = CSS.CSS_Color.viewMiddle;
             LogicView.TopView topView = new LogicView.TopView();
             topView.setBtn.Visible = true;
@@ -23,7 +23,7 @@
              {
                  RemoveFromParent();
              };
-            if (string.IsNullOrEmpty(Logic.currlogic.sid))
+            if (string.IsNullOrEmpty(Logic.currlogic.userLogicId))
             {
                 topView.topNameBtn.TextID = StringId.newAutomation;
                 topView.setBtn.Visible = false;
@@ -35,14 +35,7 @@
                 topView.setBtn.Visible = true;
                 topView.clickSetBtn.Visible = true;
             }
-            topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
-            {
-                Set set = new Set();
-                MainPage.BasePageView.AddChidren(set);
-                set.Show();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
 
-            };
 
             VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout
             {
@@ -59,19 +52,22 @@
             viewLayout.AddChidren(addInputTextView.FLayoutView(46, 12));
             ///婊¤冻浠ヤ笅鏉′欢鐨刅iew
             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.andCondition;
             viewLayout.AddChidren(titleCondition.FLayoutView());
-            titleCondition.btnClick.MouseUpEventHandler += (sender, e) =>
-            {
-                FrameLayout fLayout = new FrameLayout
-                {
-                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                };
-                this.AddChidren(fLayout);
-                AndOrMethod(fLayout, titleCondition.btnText);
-            };
 
+            if (Logic.currlogic.relation == "and")
+            {
+                titleCondition.btnText.Text = Language.StringByID(StringId.andCondition);
+            }
+            else
+            {
+                titleCondition.btnText.Text = Language.StringByID(StringId.orCondition);
+
+            }
 
             // 鏉′欢澶勭悊鏂规硶
             InpOrOutLogicMethod.InputCondition(this, viewLayout);
@@ -79,14 +75,6 @@
             LogicView.LogicAddView addInputIcon = new LogicView.LogicAddView();
             addInputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
             viewLayout.AddChidren(addInputIcon.FLayoutView());
-
-            addInputIcon.btnClick.MouseUpEventHandler += (sen, e) =>
-            {
-                var addInputType = new AddInputType();
-                MainPage.BasePageView.AddChidren(addInputType);
-                addInputType.Show();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
             #endregion
 
             #region  鐩爣
@@ -106,13 +94,7 @@
             LogicView.LogicAddView addOutputIcon = new LogicView.LogicAddView();
             addOutputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
             viewLayout.AddChidren(addOutputIcon.FLayoutView());
-            addOutputIcon.btnClick.MouseUpEventHandler += (sen, e) =>
-            {
-                var addTarget = new AddTarget();
-                MainPage.BasePageView.AddChidren(addTarget);
-                addTarget.Show();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
+
             #endregion
 
             #region  寰幆鏂瑰紡
@@ -124,19 +106,9 @@
             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  鎵ц鎺ㄩ�� 鍙戦�侀�氱煡
@@ -147,19 +119,30 @@
             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.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  淇濆瓨
@@ -167,60 +150,238 @@
             LogicView.SaveView saveView = new LogicView.SaveView();
             saveView.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
             this.AddChidren(saveView.FLayoutView());
+
+            #endregion
+            #endregion
+
+            #region  鐣岄潰鍚勭鐐瑰嚮浜嬩欢
+            ///璁剧疆鍥炬爣鐐瑰嚮浜嬩欢
+            topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
+            {
+                Set set = new Set();
+                MainPage.BasePageView.AddChidren(set);
+                set.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+            };
+            ///鎴栧拰涓庣偣鍑讳簨浠�
+            titleCondition.btnClick.MouseUpEventHandler += (sender, e) =>
+            {
+                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 (string.IsNullOrEmpty(Logic.currlogic.sid))
+                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, Logic.currlogic.name, StringId.nameNull, StringId.NameAlreadyExists, list, (logicName) =>
+                    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.NewSid();
-                        //鍙戦�佹柊鍔犱慨鏀归�昏緫鍛戒护锛�
-                        var responsePackNew = Send.AddLogic(Logic.currlogic);
-                        if (responsePackNew.Code == "0")
+                        Logic.currlogic.sid = LogicMethod.CurrLogicMethod.NewSid();
+                        loading.Start();
+                        new System.Threading.Thread(() =>
                         {
-                            Logic.LogicList.Add(Logic.currlogic);
-                            LogicMethod.RemoveAllView();
-                            MainView.MainShow();
-                        }
-                        else {
-                            new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
-                        }
+                            try
+                            {
+                                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];
+                                            //鏁版嵁杩斿簭鍒楀寲涓篖ogic瀵硅薄
+                                            var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
+                                            var logic = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic>(str);
+                                            if (logic.userLogicId != "")
+                                            {
+                                                //鏇存柊浜戠鍞竴鑷姩鍖杋d;
+                                                Logic.currlogic.userLogicId = logic.userLogicId;
+                                            }
+                                            else
+                                            {
+                                                //鑷繁鐪嬬殑鎵�浠ヤ笉闇�瑕佹敮鎸佷腑鑻辨枃
+                                                new LogicView.TipPopView().FlashingBox("娌℃湁杩斿洖浜戠鍞竴鑷姩鍖杋d");
+                                            }
+
+                                        }
+
+                                        Logic.LogicList.Add(Logic.currlogic);
+                                        LogicMethod.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
                 {
-                    //鍙戦�佹柊鍔犱慨鏀归�昏緫鍛戒护锛�
-                    var responsePackNew = Send.updateLogic(Logic.currlogic);
-                    if (responsePackNew.Code == "0")
+                    loading.Start();
+                    new System.Threading.Thread(() =>
                     {
-                        LogicMethod.RemoveAllView();
-                        MainView.MainShow();
-                    }
-                    else {
-                        new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
-                    }
+
+                        try
+                        {
+                            //鍙戦�佷慨鏀归�昏緫鍛戒护锛�
+                            responsePackNew = Send.UpdateLogic(Logic.currlogic);
+
+                        }
+                        catch { }
+                        finally
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                loading.Hide();
+                                if (responsePackNew != null && responsePackNew.Code == "0")
+                                {
+                                    LogicMethod.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);
@@ -232,7 +393,7 @@
             //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵��
             string weekName = "";
             //瀹氫箟涓�涓眬閮˙tn鐢ㄦ潵璁板綍閫変腑Btn;
-            var selecetdBtn = new Button();
+            var selecetdBtn = new Button() { Text = "" };
             for (int i = 0; i < 4; i++)
             {
                 LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView();
@@ -245,6 +406,7 @@
                 dateTypeView.btnLine.Width = Application.GetRealWidth(303);
                 dateView.frameLayout.AddChidren(dateTypeView.FLayoutView());
                 dateTypeView.btnClick.Tag = i;//鏍囪绫诲瀷
+
                 switch (i)
                 {
                     case 0:
@@ -298,13 +460,11 @@
                             break;
                         case 2:
                             {
-                                // weekName = Language.StringByID(StringId.weekly);
                                 WeekMethod(fLayout, button);
                             }
                             break;
                         case 3:
                             {
-                                //weekName = Language.StringByID(StringId.monthly);
                                 MonMethod(fLayout, button);
                             }
                             break;
@@ -319,35 +479,30 @@
                 {
                     dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor;
                     selecetdBtn = dateTypeView.btnText;
-                }
-                else if (button.Text == weekName)
-                {
-                    dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor;
-                    selecetdBtn = dateTypeView.btnText;
+
                 }
             }
             //纭畾淇濆瓨
             dateView.btnConfirm.MouseUpEventHandler += (sender3, e3) =>
             {
-                if (weekName == Language.StringByID(StringId.monthly)|| weekName== Language.StringByID(StringId.weekly)) {
-                    //鎻愮ず锛氳繕鏈��
-                    return;
-
-                }
-
-                if (weekName == Language.StringByID(StringId.performA))
+                if (selecetdBtn.Text == Language.StringByID(StringId.performA))
                 {
                     //鎵ц涓�娆�
                     Logic.currlogic.cycle.type = "once";
                 }
-                else if (weekName == Language.StringByID(StringId.days))
+                else if (selecetdBtn.Text == Language.StringByID(StringId.days))
                 {
                     //姣忓ぉ
                     Logic.currlogic.cycle.type = "day";
 
                 }
+                else
+                {
+                    //鎻愮ず锛氳繕鏈��
+                    return;
+                }
                 //閫変腑淇濆瓨涔嬪悗鏄剧ず鏂囨湰
-                button.Text = weekName;
+                button.Text = selecetdBtn.Text;
                 //绉婚櫎fLayout鐣岄潰
                 fLayout.RemoveFromParent();
             };
@@ -359,125 +514,31 @@
         /// <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>();
+            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 = MainView.GetWeekString(weekList);
-                fLayout.RemoveFromParent();
-            };
-
+               });
         }
         /// <summary>
         /// 姣忔湀
@@ -486,190 +547,51 @@
         /// <param name="button">鏄剧ず鏂囨湰</param>
         public void MonMethod(FrameLayout fLayout, Button button)
         {
-            LogicView.MonView monView = new LogicView.MonView();
-            monView.btnTitle.TextID = StringId.monthly;
-            monView.FLayoutView(fLayout);
-            monView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
-            {
-                monView.frameLayout.RemoveFromParent();
-            };
-            //瀹氫箟涓�涓眬閮╩onList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁;
-            List<string> monList = new List<string>();
-            if (Logic.currlogic.cycle.type == "mon")
-            {
-                //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹�
-                monList.AddRange(Logic.currlogic.cycle.value);
-            }
-            //瀹氫箟涓�涓彉閲忚褰曡鏁�
-            int lineSun = 0;
-            for (int i = 1; i < 32; i++)
-            {
-                Button monTextBtn = new Button
-                {
-                    Width = Application.GetMinRealAverage(30),
-                    Height = Application.GetMinRealAverage(30),
-                    Radius = (uint)Application.GetRealHeight(15),
-                    Text = i.ToString(),
-                    TextSize = LogicView.TextSize.text14,
-                    TextColor = CSS.CSS_Color.textColor,
-                    SelectedTextColor = CSS.CSS_Color.view,
-                    SelectedBackgroundColor = CSS.CSS_Color.textConfirmColor,
-                    BackgroundColor = CSS.CSS_Color.viewTranslucence,
-                    Tag = i,
-                };
-                monView.frameLayout.AddChidren(monTextBtn);
-                if (lineSun > 0)
-                {
-                    monTextBtn.X = Application.GetRealWidth(16 + ((i - 1) - lineSun * 7) * 46);
-                }
-                else
-                {
 
-                    monTextBtn.X = Application.GetRealWidth(16 + (i - 1) * 46);
-                }
-                monTextBtn.Y = Application.GetRealWidth(58 + 10 + lineSun * (30 + 10));
-
-                if (i % 7 == 0)
+            PublicInterface weekView = new PublicInterface();
+            weekView.MonSelectShow(fLayout, Logic.currlogic, (monList) =>
                 {
-                    //涓�瀹氭墽琛屽畬鍐嶅垽鏂槸鍚﹁鎹㈣.
-                    lineSun = lineSun + 1;
+                    //閫変腑鏁版嵁澶勭悊
+                    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 = MainView.GetMonString(monList);
-                fLayout.RemoveFromParent();
-            };
         }
         /// <summary>
         /// 婊¤冻鏉′欢
         /// </summary>
-        /// <param name="fLayout">寮规涓绘帶浠�</param>
         /// <param name="button">鏄剧ず鏂囨湰</param>
-        public void AndOrMethod(FrameLayout fLayout, Button button)
+        public void AndOrMethod(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());
+            ///涔嬪墠鐨勭姸鎬佹枃鏈�
+            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";
+                   }
 
+               });
 
-            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