From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 01 七月 2021 15:50:43 +0800
Subject: [PATCH] Revert "1"

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs |  655 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 491 insertions(+), 164 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..ef3bb73 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -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,29 @@
             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.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());
 
-            for (int i = 0; i < Logic.currlogic.input.Count; i++)
+            if (Logic.currlogic.relation == "and")
             {
-                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)
-                {
-                    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);
             ///娣诲姞鍥炬爣鐨刅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) =>
-            {
-                var addInputType = new AddInputType();
-                MainPage.BasePageView.AddChidren(addInputType);
-                addInputType.Show();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
             #endregion
 
             #region  鐩爣
@@ -200,16 +84,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());
-            ///杈撳嚭鍚勭鍔ㄤ綔鐨刅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());
+
             #endregion
 
             #region  寰幆鏂瑰紡
@@ -218,42 +103,484 @@
             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)});
+            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.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(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
+            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  淇濆瓨
             ///淇濆瓨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);
+            };
+            ///鏄惁瑕佹帹閫佺偣鍑讳簨浠�
+            push.btnNextIcon.MouseUpEventHandler += (sender, e) =>
+            {
+                //璐﹀彿鍒楄〃涓虹┖榛樿鎺ㄩ�佸綋鍓嶈处鍙�
+                if (Logic.currlogic.pushConfigs.Count == 0)
+                {
+                    //鍒濆鍖栧璞�
+                    PushConfigs pushConfigs = new PushConfigs();
+                    //榛樿娣诲姞鎺ㄩ�佸綋鍓嶈处鍙�
+                    pushConfigs.pushTarget.Add(UserInfo.Current.ID);
+                    Logic.currlogic.pushConfigs.Add(pushConfigs);
+                }
+                push.btnNextIcon.IsSelected = !push.btnNextIcon.IsSelected;
+                if (push.btnNextIcon.IsSelected)
+                {
+                    Logic.currlogic.noticeConfig.enable = true;
+                }
+                else
+                {
+                    Logic.currlogic.noticeConfig.enable = false;
+                }
+            };
+            ///杈撳叆鎺ㄩ�佹枃鏈�
+            notification.btnClick.MouseUpEventHandler += (sender, e) =>
+            {
+                InputPushText inputPushText = new InputPushText();
+                MainPage.BasePageView.AddChidren(inputPushText);
+                inputPushText.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+            ///淇濆瓨鐐瑰嚮浜嬩欢
+            saveView.btnClick.MouseUpEventHandler += (sender, e) =>
+            {
+                if (Logic.currlogic.input.Count == 0 && Logic.currlogic.output.Count == 0)
+                {
+                    new LogicView.TipPopView().TipBox(StringId.tip, StringId.conditioncNullOrtargetNull);
+                    return;
+                }
+                if (Logic.currlogic.input.Count == 0)
+                {
+                    new LogicView.TipPopView().TipBox(StringId.tip, StringId.conditioncNull);
+                    return;
+                }
+                if (Logic.currlogic.output.Count == 0)
+                {
+                    new LogicView.TipPopView().TipBox(StringId.tip, StringId.targetNull);
+                    return;
+                }
+                Loading loading = new Loading();
+                this.AddChidren(loading);
+                HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
+                if (string.IsNullOrEmpty(Logic.currlogic.userLogicId))
+                {
+                    List<string> list = new List<string>();
+                    foreach (var logic in Logic.LogicList)
+                    {
+                        list.Add(logic.name);
+                    }
+                    new LogicView.TipPopView().InputBox(StringId.editName, InpOrOutLogicMethod.GetLogicName(Logic.currlogic), StringId.nameNull, StringId.NameAlreadyExists, list, (logicName, view
+                        ) =>
+                    {
+                        Logic.currlogic.name = logicName;
+                        Logic.currlogic.sid = LogicMethod.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];
+                                            //鏁版嵁杩斿簭鍒楀寲涓篖ogic瀵硅薄
+                                            var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
+                                            var logic = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic>(str);
+                                            if (logic.userLogicId != "")
+                                            {
+                                                //鏇存柊浜戠鍞竴鑷姩鍖杋d;
+                                                Logic.currlogic.userLogicId = logic.userLogicId;
+                                            }
+                                            else
+                                            {
+                                                //鑷繁鐪嬬殑鎵�浠ヤ笉闇�瑕佹敮鎸佷腑鑻辨枃
+                                                new LogicView.TipPopView().FlashingBox("娌℃湁杩斿洖浜戠鍞竴鑷姩鍖杋d");
+                                            }
+
+                                        }
+
+                                        Logic.LogicList.Add(Logic.currlogic);
+                                        LogicMethod.RemoveAllView();
+                                        MainView.MainShow();
+                                    }
+                                    else 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 = "";
+            //瀹氫箟涓�涓眬閮˙tn鐢ㄦ潵璁板綍閫変腑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)
+        {
+            //瀹氫箟涓�涓眬閮╳eekList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁;
+            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";
+                   }
+
+               });
 
 
         }
+      
+
     }
 }

--
Gitblit v1.8.0