From 0f61f7a60bf532e91d08aa2e0716e986bf571413 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 02 九月 2020 17:03:54 +0800
Subject: [PATCH] 2020-09-01-2
---
ZigbeeApp/Shared/Phone/Device/Logic/Send.cs | 340 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 220 insertions(+), 120 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
old mode 100644
new mode 100755
index 4ff194e..1f50bbe
--- a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
@@ -12,7 +12,8 @@
{
public class Send
{
- #region ----鑾峰彇Logic
+
+ #region ----Logic鎵�鏈夊彂閫佸懡浠�
/// <summary>
/// 鑾峰彇LogicId鐨勬柟娉�
/// </summary>
@@ -22,6 +23,9 @@
return await System.Threading.Tasks.Task.Run(async () =>
{
List<int> logicIdList = new List<int>();
+
+ bool if_theme = false;
+ int if_number = -1;
Action<string, string> action = (topic, data) =>
{
var gatewayID = topic.Split('/')[0];
@@ -30,21 +34,22 @@
{
return;
}
-
+
if (topic == $"{gatewayID}/Logic/GetLogicList_Respon")
{
-
- var list = jObjectdata["Data"]["LogicList"];
- if (list == null)
+ if_theme = true;
+ var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(jObjectdata["Data"]["LogicList"].ToString());
+ if_number = list.Count;
+ if (list.Count == 0)
{
return;
}
foreach (var listIfon in list)
{
- var logicId = int.Parse(listIfon["LogicId"].ToString());
+ var logicId = int.Parse(listIfon["LogicId"]);
logicIdList.Add(logicId);
+
}
-
}
};
var mainGateWay = ZbGateway.MainGateWay;
@@ -54,20 +59,29 @@
return logicIdList;
}
mainGateWay.GwResDataAction += action;
-
- var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2004 } };
- var jObjectdata1 = new JObject { { "LogicType", LogicType } };
- jObject.Add("Data", jObjectdata1);
- mainGateWay?.Send("Logic/GetLogicList", jObject.ToString());
+ try
+ {
+ var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2004 } };
+ var jObjectdata1 = new JObject { { "LogicType", LogicType } };
+ jObject.Add("Data", jObjectdata1);
+ mainGateWay?.Send("Logic/GetLogicList", jObject.ToString());
+ }
+ catch(Exception e) {
+ var d = e.Message;
+ }
//await System.Threading.Tasks.Task.Run(async () =>
//{
var dateTime = DateTime.Now;
while ((DateTime.Now - dateTime).TotalMilliseconds < 3 * 1000)
{
await System.Threading.Tasks.Task.Delay(100);
- if (logicIdList.Count != 0)
+ if (if_theme)
{
- break;
+ if (if_number == 0 || if_number == logicIdList.Count)
+ {
+ break;//鍥炲娌℃湁鏁版嵁绔嬪埢杩斿洖
+ }
+
}
}
ZbGateway.MainGateWay.GwResDataAction -= action;
@@ -96,7 +110,6 @@
if (topic == $"{gatewayID}/Logic/GetLogicInfo_Respon")
{
-
logic = new Common.Logic();
var Logicifon = jObjectdata["Data"];
logic.LogicId = int.Parse(Logicifon["LogicId"]?.ToString());
@@ -175,7 +188,7 @@
});
}
///<summary>
- /// 鍒犻櫎閫昏緫
+ /// 鍒犻櫎閫昏緫(0鎴愬姛,鍏跺畠鍊�:澶辫触)
/// </summary>
public static async System.Threading.Tasks.Task<int> DelLogic(int LogicId)
{
@@ -241,7 +254,6 @@
{
try
{
- Logicifon = new Common.Logic();
Logicifon = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.Logic>(jObjectdata["Data"].ToString());
}
catch (Exception ex)
@@ -260,7 +272,7 @@
try
{
-
+
var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2000 } };
var selectMonthList = new JArray { };
foreach (var intvalue in logic.TimeAttribute.SelectMonDate)
@@ -292,6 +304,7 @@
["RemindTime"] = int.Parse(dictionary["RemindTime"]),
["EnDelay"] = int.Parse(dictionary["EnDelay"]),
["DelayTime"] = int.Parse(dictionary["DelayTime"]),
+ ["DoorLockOpenDelayTime"] = int.Parse(dictionary["DoorLockOpenDelayTime"]),
};
if (dictionary["DateType"].ToString() == "0")
{
@@ -388,7 +401,7 @@
["Type"] = int.Parse(dictionary["Type"]),
["IsValid"] = int.Parse(dictionary["IsValid"]),
["AtHome"] = int.Parse(dictionary["AtHome"]),
- ["WhoSiteUId"] =dictionary["WhoSiteUId"],
+ ["WhoSiteUId"] = dictionary["WhoSiteUId"],
};
conditions.Add(diliInfo);
break;
@@ -462,6 +475,16 @@
};
actions.Add(timeInfo);
break;
+ case 8:
+ var lockInfo = new JObject
+ {
+ ["LinkType"] = int.Parse(dictionary["LinkType"].ToString()),
+ ["DeviceAddr"] = dictionary["DeviceAddr"].ToString(),
+ ["Epoint"] = int.Parse(dictionary["Epoint"].ToString()),
+ ["PassData"] =dictionary["PassData"].ToString(),
+ };
+ actions.Add(lockInfo);
+ break;
}
}
var accounts = new JArray();
@@ -480,8 +503,18 @@
["Type"] = int.Parse(dictionary["Type"]),
["Account"] = dictionary["Account"],
["UserId"] = dictionary["UserId"],
+ ["AccountName"] = dictionary["AccountName"],
};
+
+ if (dictionary.ContainsKey("Option4"))
+ {
+ accounts1.Add("Option4",dictionary["Option4"]);
+ }
+ if (dictionary.ContainsKey("Option2"))
+ {
+ accounts1.Add("Option2", int.Parse(dictionary["Option2"]));
+ }
accounts.Add(accounts1);
}
}
@@ -500,9 +533,28 @@
accounts.Add(location);
}
break;
+ case 8:
+ {
+ var accounts1 = new JObject();
+ if (dictionary.ContainsKey("Type"))
+ {
+ accounts1.Add("Type", int.Parse(dictionary["Type"]));
+ }
+ if (dictionary.ContainsKey("Option4"))
+ {
+ accounts1.Add("Option4", dictionary["Option4"]);
+ }
+ if (dictionary.ContainsKey("Option2"))
+ {
+ accounts1.Add("Option2", int.Parse(dictionary["Option2"]));
+ }
+ accounts.Add(accounts1);
+ }
+ break;
}
}
+
var data = new JObject{
{ "LogicId",logic.LogicId},
{ "IsEnable", logic.IsEnable} ,
@@ -510,6 +562,7 @@
{ "Relationship",logic.Relationship} ,
{ "LogicType",logic.LogicType} ,
{ "LogicCustomPushText",logic.LogicCustomPushText} ,
+ { "LogicIsCustomPushText",logic.LogicIsCustomPushText} ,
{ "TimeAttribute", timeAttribute} ,
{ "Conditions", conditions },
{ "Actions", actions },
@@ -576,6 +629,7 @@
date.Add("LogicName", logic.LogicName);
date.Add("Relationship", logic.Relationship);
date.Add("LogicCustomPushText", logic.LogicCustomPushText);
+ date.Add("LogicIsCustomPushText", logic.LogicIsCustomPushText);
mainGateWay?.Send("Logic/ReviseAttribute", jObject.ToString());
//await System.Threading.Tasks.Task.Run(async () =>
//{
@@ -603,7 +657,6 @@
{
var listLogic = new List<Common.Logic>();
- // bool @bool = false;
Action<string, string> action = (topic, data) =>
{
var gatewayID = topic.Split('/')[0];
@@ -615,7 +668,6 @@
if (topic == $"{gatewayID}/Logic/GetAllLogicListInfo_Respon")
{
-
var logic = new Common.Logic();
var Logicifon = jObjectdata["Data"];
logic.LogicId = int.Parse(Logicifon["LogicId"].ToString());
@@ -623,7 +675,8 @@
logic.LogicName = Logicifon["LogicName"].ToString();
logic.LogicType = int.Parse(Logicifon["LogicType"].ToString());
logic.Relationship = int.Parse(Logicifon["Relationship"].ToString());
- logic.LogicCustomPushText =Logicifon["LogicCustomPushText"].ToString();
+ logic.LogicCustomPushText = Logicifon["LogicCustomPushText"].ToString();
+ logic.LogicIsCustomPushText = int.Parse(Logicifon["LogicIsCustomPushText"].ToString());
logic.TimeAttribute = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.TimeAttributeObj>(Logicifon["TimeAttribute"].ToString());
logic.Conditions = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Conditions"].ToString());
logic.Accounts = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Accounts"].ToString());
@@ -673,10 +726,7 @@
}
}
- //if (topic == $"{gatewayID}/Logic/AllLogicNum_Respon")
- //{
- // @bool = true;
- //}
+
};
var mainGateWay = ZbGateway.MainGateWay;
if (mainGateWay == null)
@@ -694,60 +744,18 @@
}
catch { }
var dateTime = DateTime.Now;
- while ((DateTime.Now - dateTime).TotalMilliseconds < 8 * 1000)
+ while ((DateTime.Now - dateTime).TotalMilliseconds < 5* 1000)
{
await System.Threading.Tasks.Task.Delay(100);
if (sum == listLogic.Count)
{
break;
}
- //if (@bool)
- //{
- // break;
- //}
}
ZbGateway.MainGateWay.GwResDataAction -= action;
return listLogic;
});
}
- // <summary>
- /// 閫氳繃璁惧鎵惧埌鍖哄煙(鎴块棿)鍚嶇О
- /// </summary>
- /// <param name="btnregionname">Btnregionname.</param>
- /// <param name="device">Device.</param>
- public static void RoomNmae(Button btnregionname, CommonDevice device)
- {
- var room = new Common.Room();
- btnregionname.Text = room.GetRoomNameByDevice(device);
- }
-
- public static List<Common.Room> GetRoomList(string floorId)
- {
- return Common.Room.Lists.FindAll((obj) => obj.FloorId == floorId);
- //var list1 = new List<Common.Room>();
- /////鎵惧埌鏌愭ゼ灞傛埧闂村垪琛紱
- //var list = Common.Room.Lists.FindAll((obj) => obj.FloorId == floorId);
- //for (int i = 0; i < list.Count; i++)
- //{
- // if (str == "device")
- // {
- // if (list[i].DeviceUIList.Count != 0)
- // { ///杩囨护鎺夋病鏈夎澶囩殑鎴块棿
- // list1.Add(list[i]);
- // }
- // }
- // else
- // {
- // if (list[i].SceneUIList.Count != 0)
- // { ///杩囨护鎺夋病鏈夊満鏅殑鎴块棿
- // list1.Add(list[i]);
- // }
- // }
- //}
- /////杩斿洖鎴块棿鍒楄〃锛�
- //return list1;
- }
-
/// <summary>
/// 鑾峰彇鍦烘櫙淇℃伅鐨勬柟娉�
@@ -773,7 +781,7 @@
sceneui = new SceneUI();
sceneui.Name = jObjectdata["Data"]["ScenesName"].ToString();
sceneui.Id = int.Parse(jObjectdata["Data"]["ScenesId"].ToString());
-
+
}
};
var mainGateWay = ZbGateway.MainGateWay;
@@ -792,7 +800,7 @@
while ((DateTime.Now - dateTime).TotalMilliseconds < 3 * 1000)
{
await System.Threading.Tasks.Task.Delay(100);
- if (sceneui!=null)
+ if (sceneui != null && sceneui.Id > 0)
{
break;
}
@@ -804,7 +812,7 @@
#endregion
#region ----鑾峰彇闂ㄩ攣
-
+
/// <summary>
/// 鑾峰彇鑷繁+鍏朵粬鎴愬憳淇℃伅
/// </summary>
@@ -855,8 +863,24 @@
if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo != 3)
{
var pra = new UserCenter.MemberListInfoPra();
- string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
- var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result);
+ string result = "";
+ if (AllUserIfon.Count != 0)
+ {
+ //鏈嶅姟杩斿洖鏉ユ病鏈夐棬閿佹垚鍛樹俊鎭紝娌℃湁蹇呰鍐嶅幓璇锋眰鎴愬憳鍒楄〃锛�
+ //鍘熷洜锛氳妭绾︽椂闂达紝浣撻獙鏁堟灉濂斤紱
+ result = UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
+ }
+ if (string.IsNullOrEmpty(result))
+ {
+ //闃叉涓虹┖鎶涘紓甯革紱
+ return userlist;
+ }
+ var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result);
+ if (listInfo == null)
+ {
+ //闃叉涓虹┖鎶涘紓甯革紱
+ return userlist;
+ }
for (int i = 0; i < listInfo.Count; i++)
{
@@ -946,7 +970,7 @@
{
string s = null;
var str = await WebClientAsync(0, CommonPage.RequestHttpsHost + "/App/GetHomePager");//涓嶅悓鍖哄煙鍩熷悕鍓嶇紑涓嶄竴鏍�
- // var str = await WebClientAsync(0, "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetHomePager");
+
var jObject = JObject.Parse(str);
if (jObject == null || jObject["StateCode"].ToString() != "Success")
{
@@ -971,13 +995,11 @@
residential.IsOtherAccountCtrl = true;
residential.doorlockmac = doorlockMac;
residential.Url = CommonPage.RequestHttpsHost + "/App/GetSharedHomeApiControl";
- //residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetSharedHomeApiControl";
s = await ReadUserDoorLock(residential);
}
else
{
residential.Url = CommonPage.RequestHttpsHost + "/DoorLock/GetDoorLockPager";
- //residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/DoorLock/GetDoorLockPager";
residential.Token = Config.Instance.Token;
residential.Id = Config.Instance.HomeId;
residential.IsOtherAccountCtrl = false;
@@ -1010,16 +1032,7 @@
lockifon.doorlockmac = residential.doorlockmac;
return await WebClientAsync(2, lockifon.Url, lockifon);
}
-
- //鎵撳嵃NameValueCollection()鏄剧ず绱㈠紩, 閿�,鍊�
- public static void PrintKeysAndValues2(NameValueCollection myCol)
- {
- for (int i = 0; i < myCol.Count; i++)
- {
- //鎵撳嵃鏄剧ず绱㈠紩, 閿�,鍊�
- Console.WriteLine("[{0}]{1,-10} {2}", i, myCol.GetKey(i), myCol.Get(i));
- }
- }
+
public class Residential
{
/// <summary>
@@ -1128,6 +1141,41 @@
public static UserCenter.MemberInfoRes UserMemberInfoRes = null;
#endregion
+ /// <summary>
+ /// 鑷繁鐢ㄧ殑鍙戦�佺殑鏂规硶
+ /// </summary>
+ /// <param name="tag">鏍囪鏄偅鏉″懡浠�</param>
+ /// <param name="logic">閫昏緫瀵硅薄</param>
+ public static void Zj(bool tag, Common.Logic logic)
+ {
+
+ if (string.IsNullOrEmpty(logic.LogicCustomPushText))
+ {
+ ///榛樿鎺ㄩ�佽嚜瀹氫箟鍐呭
+ string str = logic.LogicName + Language.StringByID(R.MyInternationalizationString.defaulttext);
+ logic.LogicCustomPushText = str;
+ }
+
+ new System.Threading.Thread(() =>
+ {
+ if (logic.LogicId != 0)
+ {
+ if (tag)
+ {
+ Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST");
+ }
+ else
+ {
+ Data("鍒犻櫎", "/App/DelHomeLogicConfig", "POST");
+ }
+ ///鍙敼鎺ㄩ�佸唴瀹癸紱
+ LogicControlSwitch(logic);
+ }
+
+ })
+ { IsBackground = true }.Start();
+ }
+
#region 璇锋眰鏈嶅姟鍣ㄦ柟娉�---
/// <summary>
/// 璇锋眰鏁版嵁鐨勫皝瑁呮柟娉�
@@ -1137,9 +1185,9 @@
/// <param name="method">璇锋眰鏂瑰紡涓篜OST/GET</param>
/// <param name="obj">瀛樺偍鍙戦�佹暟鎹殑瀵硅薄</param>
/// <returns></returns>
- public static async System.Threading.Tasks.Task<string>Data(string command, string url, string method, object obj = null)
+ public static async System.Threading.Tasks.Task<string> Data(string command, string url, string method, object obj = null)
{
- var getUrl ="";
+ var getUrl = "";
var jObject = new JObject();
if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 1)
{
@@ -1184,33 +1232,45 @@
/// <param name="method">璇锋眰鏂瑰紡涓篜OST/GET</param>
/// <param name="second">瓒呮椂鏃堕棿</param>
/// <returns></returns>
- public static async System.Threading.Tasks.Task<string>HttpWebRequest(string getUrl, string str, string method,int second= 3)
+ public static async System.Threading.Tasks.Task<string> HttpWebRequest(string getUrl, string str, string method, int second = 3, bool _bool = false)
{
- HttpWebRequest request = WebRequest.Create(getUrl) as HttpWebRequest; //鍒涘缓璇锋眰
- request.Method = method; //璇锋眰鏂瑰紡涓篜OST/GET
- request.ContentType = "application/json";
- request.Timeout = second * 1000;//瓒呮椂鏃堕棿
- if (method == "POST")
- {
- byte[] jsonbyte = System.Text.Encoding.UTF8.GetBytes(str);
- request.ContentLength = jsonbyte.Length;
- Stream postStream = request.GetRequestStream();
- postStream.Write(jsonbyte, 0, jsonbyte.Length);
- postStream.Close();
+ try
+ {
+ HttpWebRequest request = WebRequest.Create(getUrl) as HttpWebRequest; //鍒涘缓璇锋眰
+ request.Method = method; //璇锋眰鏂瑰紡涓篜OST/GET
+ request.ContentType = "application/json";
+ request.Timeout = second * 1000;//瓒呮椂鏃堕棿
+ if (_bool)
+ {
+ //鐢ㄤ簬楂樿儨鍙瀵硅鎺ュ彛
+ request.Headers.Add("Authorization", Config.Instance.Token);
+ }
+ if (method == "POST")
+ {
+ byte[] jsonbyte = System.Text.Encoding.UTF8.GetBytes(str);
+ request.ContentLength = jsonbyte.Length;
+ Stream postStream = request.GetRequestStream();
+ postStream.Write(jsonbyte, 0, jsonbyte.Length);
+ postStream.Close();
+ }
+ //鍙戦�佽姹傚苟鑾峰彇鐩稿簲鍥炲簲鏁版嵁
+ HttpWebResponse res;
+ try
+ {
+ res = (HttpWebResponse)request.GetResponse();
+ }
+ catch (WebException ex)
+ {
+ res = (HttpWebResponse)ex.Response;
+ }
+ StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8);
+ string content = sr.ReadToEnd(); //鑾峰緱鍝嶅簲瀛楃涓�
+ return content;
}
- //鍙戦�佽姹傚苟鑾峰彇鐩稿簲鍥炲簲鏁版嵁
- HttpWebResponse res;
- try
- {
- res = (HttpWebResponse)request.GetResponse();
+ catch
+ {
+ return null;
}
- catch (WebException ex)
- {
- res = (HttpWebResponse)ex.Response;
- }
- StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8);
- string content = sr.ReadToEnd(); //鑾峰緱鍝嶅簲瀛楃涓�
- return content;
}
/// <summary>
/// 璇锋眰鏈嶅姟鍣ㄧ殑鏂规硶
@@ -1237,7 +1297,6 @@
postValues.Add("LoginAccessToken", Config.Instance.Token);
postValues.Add("MainAccountId", residential.MainUserDistributedMark);
postValues.Add("SharedHid", residential.Id);
-
}
break;
case 2:
@@ -1261,6 +1320,23 @@
#region 瀛樺彇鏈湴鏂囦欢鐨勬柟娉� ---鏆傛椂涓嶇敤鍚堝苟璇ユ柟娉�---
/// <summary>
+ /// 鍒ゆ柇鏄惁寮�鍚疓PS鏈嶅姟
+ /// </summary>
+ public static string If_Exist
+ {
+ get
+ {
+ string value = ReadLocalFile(Config.Instance.HomeId+"_GPS_File");
+ //璇诲彇鏈湴GPS鏈嶅姟鐘舵��
+ if (value == "0"||string.IsNullOrEmpty(value))
+ {
+ return "0";
+ }
+ return "1";
+ }
+
+ }
+ /// <summary>
/// 鏂囦欢淇濆瓨
/// </summary>
/// <param name="FileName">鏂囦欢璺緞</param>
@@ -1274,7 +1350,19 @@
//鍐欏叆鏁版嵁锛�
Shared.IO.FileUtils.WriteFileByBytes(FileName, byteData);
}
-
+ /// <summary>
+ /// 鏂囦欢淇濆瓨
+ /// </summary>
+ /// <param name="FileName">鏂囦欢璺緞</param>
+ /// <param name="data">瀛楃涓�</param>
+ public static void SaveLocalFile(string FileName, string data)
+ {
+ //鍏堝簭鍒楀寲鏁版嵁锛�
+ //鏁版嵁杞崲涓哄瓧鑺傛祦锛�
+ var byteData = System.Text.Encoding.UTF8.GetBytes(data);
+ //鍐欏叆鏁版嵁锛�
+ Shared.IO.FileUtils.WriteFileByBytes(FileName, byteData);
+ }
/// <summary>
/// 鏂囦欢璇诲彇
/// </summary>
@@ -1282,16 +1370,28 @@
/// <returns></returns>
public static string ReadLocalFile(string FileName)
{
- if (System.IO.File.Exists(FileName) == false)
- {
- ///鍒ゆ柇鏄惁鏈夋枃浠�;
- return null;
- }
//璇诲嚭淇濆瓨璇ヨ矾寰勭殑鏂囦欢锛�
var varByte = Shared.IO.FileUtils.ReadFile(FileName);
//瀛楄妭娴佽浆鎹负瀛楃涓诧紱
return System.Text.Encoding.UTF8.GetString(varByte);
}
#endregion
+
+ /// <summary>
+ /// 鍒ゆ柇瀛楀吀鏄惁瀛樺湪鐨勬柟娉�
+ /// </summary>
+ /// <param name="deviceConditionsInfo"></param>
+ /// <param name="Key">閿�</param>
+ /// <param name="Value">閿��</param>
+ public static void dictionary(Dictionary<string, string> deviceConditionsInfo, string Key, string Value)
+ {
+ if (deviceConditionsInfo.ContainsKey(Key))
+ {
+ deviceConditionsInfo.Remove(Key);
+ }
+ deviceConditionsInfo.Add(Key, Value);
+ }
+
+
}
}
--
Gitblit v1.8.0