陈嘉乐
2020-12-03 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7
HDL_ON/Entity/DB_ResidenceData.cs
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.Threading;
using HDL_ON.DAL.Server;
using Shared;
namespace HDL_ON.Entity
@@ -9,6 +11,7 @@
        public DB_ResidenceData()
        {
        }
        /// <summary>
        /// 主人token
        /// </summary>
@@ -31,7 +34,7 @@
                }
                else
                {
                    var curRegion =  UserInfo.Current.regionList.Find((obj) => obj.RegionID == CurReginID);
                    var curRegion = UserInfo.Current.regionList.Find((obj) => obj.RegionID == CurReginID);
                    //if (curRegion == null)
                    //{
                    //    CurReginID =  UserInfo.Current.regionList[0].RegionID;
@@ -41,6 +44,37 @@
                }
            }
        }
        ///// <summary>
        ///// 获取网关列表
        ///// </summary>
        //void GetHomeGatewayList()
        //{
        //    new Thread(() =>
        //    {
        //        //切换住宅后,查询一次网关列表
        //        new HttpServerRequest().GetHomeGatewayList();
        //    })
        //    { IsBackground = true }.Start();
        //}
        //string curReginID;
        ///// <summary>
        ///// 当前选择的住宅索引
        ///// </summary>
        //public string CurReginID
        //{
        //    set
        //    {
        //        curReginID = value;
        //        GetHomeGatewayList();
        //    }
        //    get
        //    {
        //        return curReginID;
        //    }
        //}
        /// <summary>
        /// 当前选择的住宅索引
        /// </summary>
@@ -97,15 +131,14 @@
                        {
                            sid = "030101123456780202010005ABCD",
                            name = "灯光1",
                            function = new List<Trait>() {
                                        new Trait { name="on_off", max=100,min = 0, value_key= new List<string> { "on","off"} },
                            attributes = new List<FunctionAttributes>() {
                                        new FunctionAttributes { key="on_off", max=100,min = 0, value= new List<string> { "on","off"} },
                                        },
                            roomIdList = new List<string>() { "0001" },
                            roomIds = new List<string>() { "0001" },
                            bus_Data = new BusData
                            {
                                SubnetID = 42,
                                DeviceID = 6,
                                LoopID = 1,
                                addresses = "2A06",
                                loopId = 1,
                            },
                        }.SaveFunctionData();
@@ -412,13 +445,64 @@
        }
        /// <summary>
        /// 网关详细信息
        /// </summary>
        public HomeGatewayInfo HomeGateway;
        /// <summary>
        /// 检测住宅是否绑定了网关
        /// </summary>
        /// <returns></returns>
        public bool CheckWhetherGatewayIsBound()
        {
            if (HomeGateway != null && !string.IsNullOrEmpty(HomeGateway.mac))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// 当前住宅的网关MAC
        /// </summary>
        public string residenceGatewayMAC
        {
            get
            {
                if (CheckWhetherGatewayIsBound())
                {
                    return HomeGateway.mac.ToUpper();
                }
                else
                {
                    return "";
                }
            }
            set
            {
                if (CheckWhetherGatewayIsBound())
                {
                    HomeGateway.mac = value;
                }
                else
                {
                    HomeGateway = new HomeGatewayInfo() { mac = value };
                }
            }
        }
        /// <summary>
        /// 住宅图片
        /// </summary>
        public string residenceImage;
        /// <summary>
        /// 当前住宅的网关MAC
        /// </summary>
        public string residenceGatewayMAC = "4E47323347591243";//"0281B9078C000000";// "00964E19C4467B1E";
        //public string residenceGatewayMAC = "4E47323347591243";//"0281B9078C000000";// "00964E19C4467B1E";
        /// <summary>
        /// 保存住宅数据
        /// </summary>
@@ -450,6 +534,7 @@
                    foreach (var r in rooms)
                    {
                        r.GetRoomFunctions(true);
                        r.GetRoomScenes(true);
                    }
                }
                catch (Exception ex)
@@ -688,6 +773,11 @@
        #endregion
        #region oid列表 a协议转bus协议控制使用
        /// <summary>
        /// oid数据保存的文件名
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public static string OidSavePathName = "AProtocolData_FunctionOid";
        static List<FunctionOid> ins_OidList;
        public static List<FunctionOid> functionOidList
        {
@@ -695,7 +785,7 @@
            {
                if (ins_OidList == null)
                {
                    var bytes = FileUtils.ReadFile("AProtocolData_FunctionOid");
                    var bytes = FileUtils.ReadFile(OidSavePathName);
                    if (bytes == null || bytes.Length == 0)
                    {
                        ins_OidList = new List<FunctionOid>();
@@ -727,12 +817,11 @@
        /// <summary>
        /// 保存oid数据,每次保存都会覆盖
        /// </summary>
        public static void SaveFunctionOidJsonDataList(string oidJsonString)
        public static void SaveOidList(string oidJsonString)
        {
            oidJsonString = oidJsonString.Replace("add", "get_list_response");
            var oidBytes = System.Text.Encoding.UTF8.GetBytes(oidJsonString);
            FileUtils.WriteFileByBytes("AProtocolData_FunctionOid", oidBytes);
            FileUtils.WriteFileByBytes(OidSavePathName, oidBytes);
        }
        #endregion