wxr
2024-05-07 f16fd06aa226e9f97a27858624d4ea7cf8975d25
HDL_ON/Entity/FunctionList.cs
@@ -14,21 +14,6 @@
    {
        static FunctionList _FunctionList;
        public static void ClearData()
        {
            try
            {
                _FunctionList._IpCamImou = null;
                _FunctionList.ClearDatas();
                _FunctionList = null;
            }
            catch (Exception ex)
            {
                MainPage.Log($"清理FunctionList异常:{ex.Message}");
                _FunctionList = null;
            }
        }
        public static FunctionList List
        {
            get
@@ -56,6 +41,12 @@
        /// </summary>
        public List<Function> Functions = new List<Function>();
        /// <summary>
        /// 群控列表
        /// </summary>
        public List<GroupControl> groupControls = new List<GroupControl>();
        /// <summary>
        /// 机械臂列表
        /// </summary>
        /// <returns></returns>
@@ -64,20 +55,26 @@
            return Functions.FindAll((obj) => obj.spk == SPK.MechanicalArm);
        }
        List<Function> _IpCamImou;
        /// <summary>
        /// 获取摄像头列表
        /// 绿建科技系统
        /// 总控列表
        /// </summary>
        /// <returns></returns>
        public List<Function> GetIpCamImouList()
        public List<Function> GetAcstParentList()
        {
            if (_IpCamImou == null)
            {
                _IpCamImou = Functions.FindAll((obj) => obj.spk == SPK.IpCam_Imou);
            }
            return _IpCamImou;
            return Functions.FindAll((obj) => obj.spk == SPK.AcstParent);//.OrderByDescending(o=>o.controlCounter).ToList()
        }
        /// <summary>
        /// 绿建科技系统
        /// 子控列表
        /// </summary>
        /// <returns></returns>
        public List<Function> GetAcstSubList()
        {
            return Functions.FindAll((obj) => obj.spk == SPK.AcstSub);
        }
        /// <summary>
        /// 空调列表
@@ -97,6 +94,15 @@
            var spkList = SPK.LightSpkList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        /// <summary>
        /// 序列列表
        /// </summary>
        /// <returns></returns>
        public List<Function> GetSeries()
        {
            return Functions.FindAll((obj) => obj.spk == SPK.CommonSeries);
        }
        /// <summary>
        /// 窗帘列表
        /// </summary>
@@ -122,6 +128,16 @@
        }
        /// <summary>
        /// 获取影音中控列表
        /// </summary>
        /// <returns></returns>
        public List<Function> GetVideoControlsList()
        {
            var spkList = SPK.GetVideoControlsSPKList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        /// <summary>
        /// 新风列表
        /// </summary>
        /// <returns></returns>
@@ -140,15 +156,13 @@
            var spkList = SPK.EnergySpkList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        #region 家电列表 electricals
        /// <summary>
        /// 家电列表
        /// </summary>
        public List<Function> GetElectricals()
        {
            var spkList = SPK.ElectricalSpkList();
        var spkList = SPK.ElectricalSpkList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
    
@@ -197,14 +211,24 @@
            var spkList = new List<string>()
            {
                SPK.SensorPir,
                SPK.SensorPirHold,
                SPK.SensorDoorWindow,
                SPK.SensorSmoke,
                SPK.SensorWater,
                SPK.SensorGas,
                SPK.SensorDryContact,
                SPK.SensorDryContact2,
            };
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        /// <summary>
        /// 可视对讲列表,当为null或size为0则不显示可视对讲icon
        /// </summary>
        // public UI.UI2.FuntionControlView.Video.VideoClouds videoIntercom;
        public List<UI.UI2.FuntionControlView.Video.Video> videoIntercom = new List<UI.UI2.FuntionControlView.Video.Video>();
        List<Function> _OtherBrandFunction;
        /// <summary>
@@ -316,7 +340,7 @@
                    var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString);
                    if (temp == null)
                    {
                        MainPage.Log("null");
                        MainPage.Log("SecurityData_null");
                        FileUtlis.Files.DeleteFile(filePath);
                        return;
                    }
@@ -406,11 +430,6 @@
        {
            try
            {
                if (_IpCamImou != null)
                {
                    _IpCamImou.Clear();
                    _IpCamImou = null;
                }
                _FunctionList = new FunctionList();
            }
            catch (Exception ex)
@@ -508,14 +527,14 @@
        {
            if (lockReadFunctionStatus)
            {
                MainPage.Log($"多次进入--返回");
                MainPage.Log($"多次进入--返回1");
                return;
            }
            new Thread(() =>
            {
                if (lockReadFunctionStatus)
                {
                    MainPage.Log($"多次进入--返回");
                    MainPage.Log($"多次进入--返回2");
                    return;
                }
                MainPage.Log($"进入--读取");