From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 14:16:20 +0800
Subject: [PATCH] 增加本地发送的重发机制

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs |  184 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 171 insertions(+), 13 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
index ea91731..101d71f 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
@@ -52,6 +52,7 @@
                     addLogic.Show();
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                 };
+                //寮�鍏冲浘鏍囩殑鐐瑰嚮浜嬩欢
                 logicView.btnSwitchIcon.MouseUpEventHandler += (sender1, e1) =>
                 {
                     logicView.btnSwitchIcon.IsSelected = !logicView.btnSwitchIcon.IsSelected;
@@ -59,17 +60,27 @@
                     {
                         logicView.btnSwitchIcon.IsSelected = true;
                         currLogic.enable = "true";
-
-
                     }
                     else
                     {
                         logicView.btnSwitchIcon.IsSelected = false;
                         currLogic.enable = "false";
                     }
-                    Send.switchLogic(currLogic);
+                    //Send.switchLogic(currLogic);
+                    new System.Threading.Thread(() =>
+                    {
+                        try
+                        {
+                            //閫昏緫浣胯兘鐨勫懡浠�
+                            Send.switchLogic(currLogic);
 
+                        }
+                        catch { }
+                       
+                    })
+                    { IsBackground = true }.Start();
                 };
+                GetSelectIcon(logicView.frameLayout, currLogic);
                 //if (i==0)闄嶅簭鎺掑垪
                 if (Logic.LogicList.Count - 1 == i)
                 {
@@ -101,7 +112,7 @@
                 {
                     Y = btnTipNot.Bottom,
                     Height = Application.GetRealWidth(100),
-                    TextID = StringId.TipNotOpen,
+                    TextID = StringId.ContentIsEmpty,
                     TextAlignment = TextAlignment.Center,
                     TextColor = CSS.CSS_Color.TextualColor,
                     TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
@@ -164,32 +175,31 @@
         public static string GetWeekString(List<string> weekList)
         {
             string weekTextName = "";
-
-            if (weekList.Contains("0"))
+            if (weekList.Contains("1"))
             {
                 weekTextName += Language.StringByID(StringId.monday) + ",";
             }
-            if (weekList.Contains("1"))
+            if (weekList.Contains("2"))
             {
                 weekTextName += Language.StringByID(StringId.tuesday) + ",";
             }
-            if (weekList.Contains("2"))
+            if (weekList.Contains("3"))
             {
                 weekTextName += Language.StringByID(StringId.wednesday) + ",";
             }
-            if (weekList.Contains("3"))
+            if (weekList.Contains("4"))
             {
                 weekTextName += Language.StringByID(StringId.thursday) + ",";
             }
-            if (weekList.Contains("4"))
+            if (weekList.Contains("5"))
             {
                 weekTextName += Language.StringByID(StringId.friday) + ",";
             }
-            if (weekList.Contains("5"))
+            if (weekList.Contains("6"))
             {
                 weekTextName += Language.StringByID(StringId.saturday) + ",";
             }
-            if (weekList.Contains("6"))
+            if (weekList.Contains("0"))
             {
                 weekTextName += Language.StringByID(StringId.sunday) + ",";
             }
@@ -199,6 +209,7 @@
             }
             return weekTextName.TrimEnd(',');
         }
+
         /// <summary>
         /// 鑾峰彇姣忔湀鐨勫瓧绗︿覆
         /// </summary>
@@ -231,7 +242,7 @@
             List<string> logicIdList = new List<string>();
             //鑾峰彇閫昏緫ID鍒楄〃
             var idStr = Send.getLogicIdList();
-            if (idStr.Code == "0" && idStr.Data != null&& idStr.Data.ToString()!="")
+            if (idStr.Code == "0" && idStr.Data != null && idStr.Data.ToString() != "")
             {
                 var date = Newtonsoft.Json.JsonConvert.SerializeObject(idStr.Data);
                 var dateList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Date>>(date);
@@ -283,6 +294,153 @@
             }
             return false;
         }
+
+        /// <summary>
+        /// 鏄剧ず鏉′欢鎴栬�呯洰鏍囩被鍨嬪浘鏍�
+        /// </summary>
+        /// <param name="layouFrame">鐖舵帶浠�</param>
+        /// <param name="logic">褰撳墠閫昏緫</param>
+        private static void GetSelectIcon(FrameLayout layouFrame, Logic logic)
+        {
+
+            //閲嶆柊鎺掑垪鍥炬爣搴忓彿
+            List<int> iconIntValue = new List<int>();
+            iconIntValue.Clear();
+
+            //1-10(琛ㄧず鏉′欢鍥炬爣)鑷繁灞�閮ㄥ畾涔変负浜嗘樉绀洪�変腑鏉′欢绫诲瀷鍥炬爣
+            //1-鏃堕棿鍥炬爣
+            //2-鍔熻兘鍥炬爣
+            for (int i = 0; i < logic.input.Count; i++)
+            {
+
+                var int1 = int.Parse(logic.input[i].condition_type);
+                int iconInt = 0;
+                switch (int1)
+                {
+                    case 1:
+                    case 2:
+                        {
+                            iconInt = 1;
+
+                        }
+                        break;
+                    case 3:
+                        {
+                            iconInt = 2;
+
+                        }
+                        break;
+                }
+
+                if (!iconIntValue.Contains(iconInt))
+                {
+                    iconIntValue.Add(iconInt);
+                }
+
+            }
+
+            //鍒嗗壊鏉′欢鍜岀洰鏍囩殑鍥炬爣
+            iconIntValue.Add(11);
+
+            //12-20(琛ㄧず鐩爣鍥炬爣)鑷繁灞�閮ㄥ畾涔変负浜嗘樉绀洪�変腑鐩爣绫诲瀷鍥炬爣
+            //12-鍔熻兘鍥炬爣
+            //13-鍦烘櫙鍥炬爣
+            //14-寤舵椂鍥炬爣
+            for (int i = 0; i < logic.output.Count; i++)
+            {
+                var int1 = int.Parse(logic.output[i].target_type);
+                int iconInt = 0;
+                switch (int1)
+                {
+                    case 1:
+                        {
+                            iconInt = 12;
+
+                        }
+                        break;
+                    case 2:
+                        {
+                            iconInt = 13;
+
+                        }
+                        break;
+                    case 3:
+                        {
+                            iconInt = 14;
+
+                        }
+                        break;
+                }
+
+                if (!iconIntValue.Contains(iconInt))
+                {
+                    iconIntValue.Add(iconInt);
+                }
+            }
+            //鍥炬爣鎺т欢鐨勭埗鎺т欢
+            FrameLayout frame = new FrameLayout {
+                Height=Application.GetRealHeight(40),
+                Width=Application.GetRealWidth(275),
+                Y= Application.GetRealHeight(56),
+            };
+            layouFrame.AddChidren(frame);
+
+
+            for (int i = 0; i < iconIntValue.Count; i++)
+            {
+                //鍥炬爣鎺т欢
+                Button btnIcon = new Button
+                {
+                    Width = Application.GetRealWidth(28),
+                    Height = Application.GetRealWidth(28),
+                    Gravity=Gravity.CenterVertical,
+                };
+                frame.AddChidren(btnIcon);
+
+                if (i == 0)
+                {
+                    btnIcon.X = Application.GetRealWidth(12);
+                }
+                else
+                {
+                    btnIcon.X = Application.GetRealWidth(12+(28+4)*i);
+                }
+                string strIcon = "";
+                switch (iconIntValue[i]) {
+                  
+                    case 1: {
+                            strIcon = "LogicIcon/selectTheTime.png";
+                        }
+                        break;
+                    case 2:
+                        {
+
+                            strIcon = "LogicIcon/selectTheFun.png";
+                        }
+                        break;
+                    case 11:
+                        {
+                            //鍒嗗壊鏉′欢鍜岀洰鏍囩殑鍥炬爣
+                            strIcon = "LogicIcon/link.png";
+                        } break;
+                    case 12:
+                        {
+
+                            strIcon = "LogicIcon/selectTheFun.png";
+                        }
+                        break;
+                    case 13: {
+                            strIcon = "LogicIcon/selectTheScene.png";
+                        } break;
+                    case 14: {
+                            //strIcon = "LogicIcon/timeicon.png";
+                        }
+                        break;
+
+                }
+                btnIcon.UnSelectedImagePath = strIcon;
+            }
+        }
     }
     class Date
     {

--
Gitblit v1.8.0