From 47fbfe1cd58bb82b45dfc0a5398799bd856b1fb0 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 25 十一月 2021 11:45:12 +0800
Subject: [PATCH] 2021-11-25=01

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs |  760 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 379 insertions(+), 381 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
index 6019bb6..e52e8e3 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
@@ -8,408 +8,406 @@
 
 namespace HDL_ON.UI.UI2.Intelligence.Automation
 {
-    public  class Send
+  public class Send
+  {
+
+    /// <summary>
+    /// 璋冪敤鑾峰彇浣忓畢瀛愯处鍙峰垪琛�
+    /// </summary>
+    public static List<ResidenceMemberInfo> GetResidenceMemberAccount()
     {
 
-        /// <summary>
-        /// 璋冪敤鑾峰彇浣忓畢瀛愯处鍙峰垪琛�
-        /// </summary>
-        public static List<ResidenceMemberInfo> GetResidenceMemberAccount()
+      var responePack = new HttpServerRequest().GetResidenceMemberAccount();
+      if (responePack.Code == StateCode.SUCCESS)
+      {
+        return Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>>(responePack.Data.ToString());
+      }
+      //澶辫触
+      else
+      {
+        //鎻愮ず
+        IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code);
+      }
+      return new List<ResidenceMemberInfo>();
+    }
+    /// <summary>
+    /// 鑾峰彇閫昏緫ID鍒楄〃
+    /// </summary>
+    /// <returns></returns>
+    public static ResponsePackNew GetLogicIdList()
+    {
+      var jObject = new JObject { { "homeId", LogicMethod.CurrLogicMethod.HomeId } };
+      var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_List);
+      //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+      if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+      {
+        RefreshToken();
+        GetLogicIdList();
+      }
+      return responsePackNew;
+    }
+    /// <summary>
+    /// 鑾峰彇閫昏緫
+    /// </summary>
+    /// <param name="listIdList">閫昏緫ID鍒楄〃</param>
+    /// <returns></returns>
+    public static ResponsePackNew GetLogic(List<string> listIdList)
+    {
+      var jArray = new JArray { };
+      for (int i = 0; i < listIdList.Count; i++)
+      {
+        jArray.Add(listIdList[i]);
+      }
+      var jObject = new JObject { { "userLogicIds", jArray } };
+      var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Info);
+      //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+      if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+      {
+        RefreshToken();
+        GetLogic(listIdList);
+      }
+      return responsePackNew;
+    }
+    /// <summary>
+    /// 娣诲姞鑷姩鍖栧懡浠� 
+    /// </summary>
+    /// <param name="logic"></param>
+    /// <returns></returns>
+    public static ResponsePackNew AddLogic(Logic logic)
+    {
+      ResponsePackNew responsePackNew = null;
+      try
+      {
+        var cycleJObject = new JObject { };
+        var cyclevaluejArray = new JArray { };
+        cycleJObject.Add("type", logic.cycle.type);
+        foreach (var dictionary in logic.cycle.value)
         {
+          cyclevaluejArray.Add(dictionary);
+        }
+        cycleJObject.Add("value", cyclevaluejArray);
 
-            var responePack = new HttpServerRequest().GetResidenceMemberAccount();
-            if (responePack.Code == StateCode.SUCCESS)
-            {
-                return Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>>(responePack.Data.ToString());
-            }
-            //澶辫触
-            else
-            {
-                //鎻愮ず
-                IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code);
-            }
-            return new List<ResidenceMemberInfo>();
+        var inputArray = new JArray { };
+        foreach (var dictionary in logic.input)
+        {
+          var inputTypeJOb = new JObject { };
+          inputTypeJOb.Add("sid", dictionary.sid);
+          inputTypeJOb.Add("condition_type", dictionary.condition_type);
+
+          var conditionArray = new JArray { };
+          foreach (var dic in dictionary.condition)
+          {
+            var conditionJOb = new JObject { };
+            conditionJOb.Add("key", dic["key"]);
+            conditionJOb.Add("comparator", dic["comparator"]);
+            conditionJOb.Add("data_type", dic["data_type"]);
+            conditionJOb.Add("value", dic["value"]);
+            conditionArray.Add(conditionJOb);
+          }
+          inputTypeJOb.Add("condition", conditionArray);
+          if (dictionary.condition_type == "8")
+          {
+            ///鍦扮悊鍥存爮
+            var geo_fencejob = new JObject();
+            geo_fencejob.Add("longitude", dictionary.geo_fence.longitude);
+            geo_fencejob.Add("latitude", dictionary.geo_fence.latitude);
+            geo_fencejob.Add("radius", dictionary.geo_fence.radius);
+            inputTypeJOb.Add("geo_fence", geo_fencejob);
+          }
+          inputArray.Add(inputTypeJOb);
         }
 
-        /// <summary>
-        /// 鑾峰彇閫昏緫ID鍒楄〃
-        /// </summary>
-        /// <returns></returns>
-        public static ResponsePackNew GetLogicIdList() 
+        var outputArray = new JArray { };
+        foreach (var dictionary in logic.output)
         {
-            var jObject = new JObject { { "homeId", LogicMethod.CurrLogicMethod.HomeId } };
-            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_List);
-            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
-            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
-            {
-                RefreshToken();
-                GetLogicIdList();
-            }
-            return responsePackNew;
-        }
-        /// <summary>
-        /// 鑾峰彇閫昏緫
-        /// </summary>
-        /// <param name="listIdList">閫昏緫ID鍒楄〃</param>
-        /// <returns></returns>
-        public static ResponsePackNew GetLogic(List<string> listIdList)
-        {
-            var jArray = new JArray { };
-            for (int i = 0; i < listIdList.Count; i++)
-            {
-                jArray.Add(listIdList[i]);
-            }
-            var jObject = new JObject { { "userLogicIds", jArray } };
-            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Info);
-            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
-            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
-            {
-                RefreshToken();
-                GetLogic(listIdList);
-            }
-            return responsePackNew;
-        }
-        /// <summary>
-        /// 娣诲姞鑷姩鍖栧懡浠� 
-        /// </summary>
-        /// <param name="logic"></param>
-        /// <returns></returns>
-        public static ResponsePackNew AddLogic(Logic logic)
-        {
-            ResponsePackNew responsePackNew = null;
-            try
-            {
-                var cycleJObject = new JObject { };
-                var cyclevaluejArray = new JArray { };
-                cycleJObject.Add("type", logic.cycle.type);
-                foreach (var dictionary in logic.cycle.value)
-                {
-                    cyclevaluejArray.Add(dictionary);
-                }
-                cycleJObject.Add("value", cyclevaluejArray);
-
-                var inputArray = new JArray { };
-                foreach (var dictionary in logic.input)
-                {
-                    var inputTypeJOb = new JObject { };
-                    inputTypeJOb.Add("sid", dictionary.sid);
-                    inputTypeJOb.Add("condition_type", dictionary.condition_type);
-
-                    var conditionArray = new JArray { };
-                    foreach (var dic in dictionary.condition)
-                    {
-                        var conditionJOb = new JObject { };
-                        conditionJOb.Add("key", dic["key"]);
-                        conditionJOb.Add("comparator", dic["comparator"]);
-                        conditionJOb.Add("data_type", dic["data_type"]);
-                        conditionJOb.Add("value", dic["value"]);
-                        conditionArray.Add(conditionJOb);
-                    }
-                    inputTypeJOb.Add("condition",conditionArray);
-                    if (dictionary.condition_type=="8") {
-                        ///鍦扮悊鍥存爮
-                        var geo_fencejob = new JObject();
-                        geo_fencejob.Add("longitude", dictionary.geo_fence.longitude);
-                        geo_fencejob.Add("latitude", dictionary.geo_fence.latitude);
-                        geo_fencejob.Add("radius", dictionary.geo_fence.radius);
-                        inputTypeJOb.Add("geo_fence", geo_fencejob);
-                    }
-                    inputArray.Add(inputTypeJOb);
-                }
-
-                var outputArray = new JArray { };
-                foreach (var dictionary in logic.output)
-                {
-                    var outputTypeJOb = new JObject { };
-                    outputTypeJOb.Add("sid", dictionary.sid);
-                    outputTypeJOb.Add("delay", dictionary.delay);
-                    outputTypeJOb.Add("target_type", dictionary.target_type);
-                    var statusArray = new JArray { };
-                    foreach (var dic in dictionary.status)
-                    {
-                        var statusJOb = new JObject { };
-                        statusJOb.Add("key", dic["key"]);
-                        statusJOb.Add("value", dic["value"]);
-                        statusArray.Add(statusJOb);
-                    }
-                    outputTypeJOb.Add("status", statusArray);
-                    outputArray.Add(outputTypeJOb);
-                }
-
-
-                var noticeConfigJObject = new JObject();
-                noticeConfigJObject.Add("enable", logic.noticeConfig.enable);
-                noticeConfigJObject.Add("noticeContent", logic.noticeConfig.noticeContent);
-
-                var pushConfigsArray = new JArray { };
-                if (logic.pushConfigs.Count > 0)
-                {   //聽鎺ㄩ�佹枃鏈�
-                    foreach (var pushConfig in logic.pushConfigs)
-                    {
-                       
-                        var pushConfigJob = new JObject { };
-                        pushConfigJob.Add("pushMethod", pushConfig.pushMethod);
-                        var accountArray = new JArray { };
-                        foreach (var account in pushConfig.pushTarget)
-                        {
-                            accountArray.Add(account);
-                        }
-                        pushConfigJob.Add("pushTarget", accountArray);
-                        pushConfigsArray.Add(pushConfigJob);
-                    }
-                }
-
-                var logicjArray = new JArray { };
-                var logicIfon = new JObject { };
-                logicIfon.Add("sid", logic.sid);
-                logicIfon.Add("gatewayId", LogicMethod.CurrLogicMethod.GatewayId);
-                logicIfon.Add("name", logic.name);
-                logicIfon.Add("relation", logic.relation);
-                logicIfon.Add("enable", logic.enable);
-                logicIfon.Add("cycle", cycleJObject);
-                logicIfon.Add("input", inputArray);
-                logicIfon.Add("output", outputArray);
-                logicIfon.Add("noticeConfig", noticeConfigJObject);
-                logicIfon.Add("pushConfigs", pushConfigsArray);
-                logicjArray.Add(logicIfon);
-                var jObject = new JObject { { "homeId", LogicMethod.CurrLogicMethod.HomeId }, { "logics", logicjArray } };
-                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add,5);
-                //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
-                if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
-                {
-                    RefreshToken();
-                    AddLogic(logic);
-                }
-            }
-            catch (Exception e)
-            {
-                var dd = e.Message;
-            }
-            return responsePackNew;
-        }
-        /// <summary>
-        /// 缂栬緫鏇存柊閫昏緫
-        /// </summary>
-        /// <param name="logic"></param>
-        /// <returns></returns>
-        public static ResponsePackNew UpdateLogic(Logic logic)
-        {
-            ResponsePackNew responsePackNew = null;
-            try
-            {
-                var cycleJObject = new JObject { };
-                var cyclevaluejArray = new JArray { };
-                cycleJObject.Add("type", logic.cycle.type);
-                foreach (var dictionary in logic.cycle.value)
-                {
-                    cyclevaluejArray.Add(dictionary);
-                }
-                cycleJObject.Add("value", cyclevaluejArray);
-
-                var inputArray = new JArray { };
-                foreach (var dictionary in logic.input)
-                {
-                    var inputTypeJOb = new JObject { };
-                    inputTypeJOb.Add("sid", dictionary.sid);
-                    inputTypeJOb.Add("condition_type", dictionary.condition_type);
-
-                    var conditionArray = new JArray { };
-                    foreach (var dic in dictionary.condition)
-                    {
-                        
-                           var conditionJOb = new JObject { };
-                        conditionJOb.Add("key", dic["key"]);
-                        var c1 = "";
-                        dic.TryGetValue("comparator", out c1);
-                        c1 = string.IsNullOrEmpty(c1) ? "" : c1;
-                        conditionJOb.TryAdd("comparator", c1);
-                        conditionJOb.Add("data_type", dic["data_type"]);
-                        conditionJOb.Add("value", dic["value"]);
-                        conditionArray.Add(conditionJOb);
-                        if (dictionary.condition_type == "8")
-                        {
-                            ///鍦扮悊鍥存爮
-                            var geo_fencejob = new JObject();
-                            geo_fencejob.Add("longitude", dictionary.geo_fence.longitude);
-                            geo_fencejob.Add("latitude", dictionary.geo_fence.latitude);
-                            geo_fencejob.Add("radius", dictionary.geo_fence.radius);
-                            inputTypeJOb.Add("geo_fence", geo_fencejob);
-                        }
-                    }
-                    inputTypeJOb.Add("condition", conditionArray);
-                    inputArray.Add(inputTypeJOb);
-                }
-
-                var outputArray = new JArray { };
-                foreach (var dictionary in logic.output)
-                {
-                    var outputTypeJOb = new JObject { };
-                    outputTypeJOb.Add("sid", dictionary.sid);
-                    outputTypeJOb.Add("delay", dictionary.delay);
-                    outputTypeJOb.Add("target_type", dictionary.target_type);
-                    var statusArray = new JArray { };
-                    foreach (var dic in dictionary.status)
-                    {
-                        var statusJOb = new JObject { };
-                        statusJOb.Add("key", dic["key"]);
-                        statusJOb.Add("value", dic["value"]);
-                        statusArray.Add(statusJOb);
-                    }
-                    outputTypeJOb.Add("status", statusArray);
-                    outputArray.Add(outputTypeJOb);
-                }
-
-                var noticeConfigJObject = new JObject();
-                noticeConfigJObject.Add("enable", logic.noticeConfig.enable);
-                noticeConfigJObject.Add("noticeContent", logic.noticeConfig.noticeContent);
-
-                var pushConfigsArray = new JArray { };
-                if (logic.pushConfigs.Count > 0)
-                {
-                    //聽鎺ㄩ�佹枃鏈�
-                    foreach (var pushConfig in logic.pushConfigs)
-                    {
-
-                        var pushConfigJob = new JObject { };
-                        pushConfigJob.Add("pushMethod", pushConfig.pushMethod);
-                        var accountArray = new JArray { };
-                        foreach (var account in pushConfig.pushTarget)
-                        {
-                            accountArray.Add(account);
-                        }
-                        pushConfigJob.Add("pushTarget", accountArray);
-                        pushConfigsArray.Add(pushConfigJob);
-                    }
-                }
-
-                var logicjArray = new JArray { };
-                var logicIfon = new JObject { };
-                logicIfon.Add("userLogicId", logic.userLogicId);
-                logicIfon.Add("sid", logic.sid);
-                logicIfon.Add("gatewayId", LogicMethod.CurrLogicMethod.GatewayId);
-                logicIfon.Add("name", logic.name);
-                logicIfon.Add("relation", logic.relation);
-                logicIfon.Add("enable", logic.enable);
-                logicIfon.Add("cycle", cycleJObject);
-                logicIfon.Add("input", inputArray);
-                logicIfon.Add("output", outputArray);
-                logicIfon.Add("noticeConfig", noticeConfigJObject);
-                logicIfon.Add("pushConfigs", pushConfigsArray);
-
-                logicjArray.Add(logicIfon);
-                var jObject = new JObject { { "homeId", LogicMethod.CurrLogicMethod.HomeId }, { "logics", logicjArray } };
-
-                string str = jObject.ToString();
-                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update,5);
-                //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
-                if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
-                {
-                    RefreshToken();
-                    UpdateLogic(logic);
-                }
-            }
-            catch (Exception e)
-            {
-                var dd = e.Message;
-            }
-            return responsePackNew;
-        } 
-        /// <summary>
-        /// 鍒犻櫎閫昏緫
-        /// </summary>
-        /// <returns></returns>
-        public static ResponsePackNew DelLogic(Logic logic)
-        {
-            var jArray = new JArray { };
-            jArray.Add(logic.userLogicId);
-            var jObject = new JObject { { "userLogicIds", jArray } };
-            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Delete);
-            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
-            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
-            {
-                RefreshToken();
-                DelLogic(logic);
-            }
-            return responsePackNew;
-        }
-        /// <summary> 
-        /// 閫昏緫寮�鍏�
-        /// </summary>
-        /// <returns></returns>
-        public static ResponsePackNew SwitchLogic(Logic logic)
-        {
-            var jArray = new JArray { };
-            var job = new JObject { { "userLogicId", logic.userLogicId } , { "enable", logic.enable } };
-            jArray.Add(job);
-            var jObject = new JObject { { "logics", jArray } };
-            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Enable);
-            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
-            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
-            {
-                RefreshToken();
-                SwitchLogic(logic);
-            }
-            return responsePackNew;
+          var outputTypeJOb = new JObject { };
+          outputTypeJOb.Add("sid", dictionary.sid);
+          outputTypeJOb.Add("delay", dictionary.delay);
+          outputTypeJOb.Add("target_type", dictionary.target_type);
+          var statusArray = new JArray { };
+          foreach (var dic in dictionary.status)
+          {
+            var statusJOb = new JObject { };
+            statusJOb.Add("key", dic["key"]);
+            statusJOb.Add("value", dic["value"]);
+            statusArray.Add(statusJOb);
+          }
+          outputTypeJOb.Add("status", statusArray);
+          outputArray.Add(outputTypeJOb);
         }
 
 
-        /// <summary> 
-        /// 鑷姩鍖栧湴鐞嗗洿鏍忕姸鎬佷笂鎶�
-        /// </summary>
-        /// <param name="userLogicId">鑷姩鍖栦簯绔痠d<澶囨敞锛歭ogicSid涓巙serLogicId 涓嶈兘鍚屾椂涓虹┖></param>
-        /// <param name="logicSid">鑷姩鍖杝id<澶囨敞锛歭ogicSid涓巙serLogicId 涓嶈兘鍚屾椂涓虹┖></param>
-        /// <param name="direction">arrive:鍒拌揪(杩涘叆) leave锛氱寮�</param>
-        /// <returns></returns>
-        public static bool GeoFenceStateReport(string userLogicId, string logicSid, string direction)
-        {
-            var jObject = new JObject();
-            jObject.Add("homeId", LogicMethod.CurrLogicMethod.HomeId);
-            jObject.Add("userLogicId", userLogicId);
-            jObject.Add("sid", logicSid);
-            jObject.Add("direction", direction);
-            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_GeoFenceStateReport);
-            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
-            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+        var noticeConfigJObject = new JObject();
+        noticeConfigJObject.Add("enable", logic.noticeConfig.enable);
+        noticeConfigJObject.Add("noticeContent", logic.noticeConfig.noticeContent);
+
+        var pushConfigsArray = new JArray { };
+        if (logic.pushConfigs.Count > 0)
+        {   //聽鎺ㄩ�佹枃鏈�
+          foreach (var pushConfig in logic.pushConfigs)
+          {
+
+            var pushConfigJob = new JObject { };
+            pushConfigJob.Add("pushMethod", pushConfig.pushMethod);
+            var accountArray = new JArray { };
+            foreach (var account in pushConfig.pushTarget)
             {
-                RefreshToken();
-                GeoFenceStateReport(userLogicId, logicSid, direction);
+              accountArray.Add(account);
             }
-            if (responsePackNew.Code == "0")
+            pushConfigJob.Add("pushTarget", accountArray);
+            pushConfigsArray.Add(pushConfigJob);
+          }
+        }
+
+        var logicjArray = new JArray { };
+        var logicIfon = new JObject { };
+        logicIfon.Add("sid", logic.sid);
+        logicIfon.Add("gatewayId", LogicMethod.CurrLogicMethod.GatewayId);
+        logicIfon.Add("name", logic.name);
+        logicIfon.Add("relation", logic.relation);
+        logicIfon.Add("enable", logic.enable);
+        logicIfon.Add("cycle", cycleJObject);
+        logicIfon.Add("input", inputArray);
+        logicIfon.Add("output", outputArray);
+        logicIfon.Add("noticeConfig", noticeConfigJObject);
+        logicIfon.Add("pushConfigs", pushConfigsArray);
+        logicjArray.Add(logicIfon);
+        var jObject = new JObject { { "homeId", LogicMethod.CurrLogicMethod.HomeId }, { "logics", logicjArray } };
+        responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add, 5);
+        //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+        if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+        {
+          RefreshToken();
+          AddLogic(logic);
+        }
+      }
+      catch (Exception e)
+      {
+        var dd = e.Message;
+      }
+      return responsePackNew;
+    }
+    /// <summary>
+    /// 缂栬緫鏇存柊閫昏緫
+    /// </summary>
+    /// <param name="logic"></param>
+    /// <returns></returns>
+    public static ResponsePackNew UpdateLogic(Logic logic)
+    {
+      ResponsePackNew responsePackNew = null;
+      try
+      {
+        var cycleJObject = new JObject { };
+        var cyclevaluejArray = new JArray { };
+        cycleJObject.Add("type", logic.cycle.type);
+        foreach (var dictionary in logic.cycle.value)
+        {
+          cyclevaluejArray.Add(dictionary);
+        }
+        cycleJObject.Add("value", cyclevaluejArray);
+
+        var inputArray = new JArray { };
+        foreach (var dictionary in logic.input)
+        {
+          var inputTypeJOb = new JObject { };
+          inputTypeJOb.Add("sid", dictionary.sid);
+          inputTypeJOb.Add("condition_type", dictionary.condition_type);
+
+          var conditionArray = new JArray { };
+          foreach (var dic in dictionary.condition)
+          {
+
+            var conditionJOb = new JObject { };
+            conditionJOb.Add("key", dic["key"]);
+            var c1 = "";
+            dic.TryGetValue("comparator", out c1);
+            c1 = string.IsNullOrEmpty(c1) ? "" : c1;
+            conditionJOb.TryAdd("comparator", c1);
+            conditionJOb.Add("data_type", dic["data_type"]);
+            conditionJOb.Add("value", dic["value"]);
+            conditionArray.Add(conditionJOb);
+            if (dictionary.condition_type == "8")
             {
-                //鎴愬姛
-                return true;
+              ///鍦扮悊鍥存爮
+              var geo_fencejob = new JObject();
+              geo_fencejob.Add("longitude", dictionary.geo_fence.longitude);
+              geo_fencejob.Add("latitude", dictionary.geo_fence.latitude);
+              geo_fencejob.Add("radius", dictionary.geo_fence.radius);
+              inputTypeJOb.Add("geo_fence", geo_fencejob);
             }
-            //澶辫触
-            return false;
+          }
+          inputTypeJOb.Add("condition", conditionArray);
+          inputArray.Add(inputTypeJOb);
         }
 
-        /// <summary>
-        ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� 
-        /// </summary>
-        /// <returns></returns>
-        public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 3)
+        var outputArray = new JArray { };
+        foreach (var dictionary in logic.output)
         {
-            var requestJson = HttpUtil.GetSignRequestJson(o);
-            return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
+          var outputTypeJOb = new JObject { };
+          outputTypeJOb.Add("sid", dictionary.sid);
+          outputTypeJOb.Add("delay", dictionary.delay);
+          outputTypeJOb.Add("target_type", dictionary.target_type);
+          var statusArray = new JArray { };
+          foreach (var dic in dictionary.status)
+          {
+            var statusJOb = new JObject { };
+            statusJOb.Add("key", dic["key"]);
+            statusJOb.Add("value", dic["value"]);
+            statusArray.Add(statusJOb);
+          }
+          outputTypeJOb.Add("status", statusArray);
+          outputArray.Add(outputTypeJOb);
+        }
 
-        }
-        /// <summary>
-        /// 璇锋眰鏈嶅姟鍣�
-        /// </summary>
-        /// <returns></returns>
-        public static ResponsePackNew RequestServer(object o, string api_Url)
-        {
-            var requestJson = HttpUtil.GetSignRequestJson(o);
-            return HttpUtil.RequestHttpsPost(api_Url, requestJson);
+        var noticeConfigJObject = new JObject();
+        noticeConfigJObject.Add("enable", logic.noticeConfig.enable);
+        noticeConfigJObject.Add("noticeContent", logic.noticeConfig.noticeContent);
 
-        }
-        /// <summary>
-        /// 鍒锋柊Token
-        /// </summary>
-        public static void RefreshToken()
+        var pushConfigsArray = new JArray { };
+        if (logic.pushConfigs.Count > 0)
         {
-            IMessageCommon.Current.StartRefreshToken();
+          //聽鎺ㄩ�佹枃鏈�
+          foreach (var pushConfig in logic.pushConfigs)
+          {
+
+            var pushConfigJob = new JObject { };
+            pushConfigJob.Add("pushMethod", pushConfig.pushMethod);
+            var accountArray = new JArray { };
+            foreach (var account in pushConfig.pushTarget)
+            {
+              accountArray.Add(account);
+            }
+            pushConfigJob.Add("pushTarget", accountArray);
+            pushConfigsArray.Add(pushConfigJob);
+          }
         }
+
+        var logicjArray = new JArray { };
+        var logicIfon = new JObject { };
+        logicIfon.Add("userLogicId", logic.userLogicId);
+        logicIfon.Add("sid", logic.sid);
+        logicIfon.Add("gatewayId", LogicMethod.CurrLogicMethod.GatewayId);
+        logicIfon.Add("name", logic.name);
+        logicIfon.Add("relation", logic.relation);
+        logicIfon.Add("enable", logic.enable);
+        logicIfon.Add("cycle", cycleJObject);
+        logicIfon.Add("input", inputArray);
+        logicIfon.Add("output", outputArray);
+        logicIfon.Add("noticeConfig", noticeConfigJObject);
+        logicIfon.Add("pushConfigs", pushConfigsArray);
+
+        logicjArray.Add(logicIfon);
+        var jObject = new JObject { { "homeId", LogicMethod.CurrLogicMethod.HomeId }, { "logics", logicjArray } };
+
+        string str = jObject.ToString();
+        responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update, 5);
+        //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+        if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+        {
+          RefreshToken();
+          UpdateLogic(logic);
+        }
+      }
+      catch (Exception e)
+      {
+        var dd = e.Message;
+      }
+      return responsePackNew;
+    }
+    /// <summary>
+    /// 鍒犻櫎閫昏緫
+    /// </summary>
+    /// <returns></returns>
+    public static ResponsePackNew DelLogic(Logic logic)
+    {
+      var jArray = new JArray { };
+      jArray.Add(logic.userLogicId);
+      var jObject = new JObject { { "userLogicIds", jArray } };
+      var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Delete);
+      //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+      if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+      {
+        RefreshToken();
+        DelLogic(logic);
+      }
+      return responsePackNew;
+    }
+    /// <summary> 
+    /// 閫昏緫寮�鍏�
+    /// </summary>
+    /// <returns></returns>
+    public static ResponsePackNew SwitchLogic(Logic logic)
+    {
+      var jArray = new JArray { };
+      var job = new JObject { { "userLogicId", logic.userLogicId }, { "enable", logic.enable } };
+      jArray.Add(job);
+      var jObject = new JObject { { "logics", jArray } };
+      var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Enable);
+      //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+      if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+      {
+        RefreshToken();
+        SwitchLogic(logic);
+      }
+      return responsePackNew;
+    }
+    /// <summary> 
+    /// 鑷姩鍖栧湴鐞嗗洿鏍忕姸鎬佷笂鎶�
+    /// </summary>
+    /// <param name="userLogicId">鑷姩鍖栦簯绔痠d<澶囨敞锛歭ogicSid涓巙serLogicId 涓嶈兘鍚屾椂涓虹┖></param>
+    /// <param name="logicSid">鑷姩鍖杝id<澶囨敞锛歭ogicSid涓巙serLogicId 涓嶈兘鍚屾椂涓虹┖></param>
+    /// <param name="direction">arrive:鍒拌揪(杩涘叆) leave锛氱寮�</param>
+    /// <returns></returns>
+    public static bool GeoFenceStateReport(string userLogicId, string logicSid, string direction)
+    {
+      var jObject = new JObject();
+      jObject.Add("homeId", LogicMethod.CurrLogicMethod.HomeId);
+      jObject.Add("userLogicId", userLogicId);
+      jObject.Add("sid", logicSid);
+      jObject.Add("direction", direction);
+      var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_GeoFenceStateReport);
+      //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+      if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+      {
+        RefreshToken();
+        GeoFenceStateReport(userLogicId, logicSid, direction);
+      }
+      if (responsePackNew.Code == "0")
+      {
+        //鎴愬姛
+        return true;
+      }
+      //澶辫触
+      return false;
+    }
+
+    /// <summary>
+    ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� 
+    /// </summary>
+    /// <returns></returns>
+    public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 3)
+    {
+      var requestJson = HttpUtil.GetSignRequestJson(o);
+      return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
 
     }
+    /// <summary>
+    /// 璇锋眰鏈嶅姟鍣�
+    /// </summary>
+    /// <returns></returns>
+    public static ResponsePackNew RequestServer(object o, string api_Url)
+    {
+      var requestJson = HttpUtil.GetSignRequestJson(o);
+      return HttpUtil.RequestHttpsPost(api_Url, requestJson);
+
+    }
+    /// <summary>
+    /// 鍒锋柊Token
+    /// </summary>
+    public static void RefreshToken()
+    {
+      IMessageCommon.Current.StartRefreshToken();
+    }
+
+  }
 }

--
Gitblit v1.8.0