陈嘉乐
2020-11-27 61852f188796c8ef82597bfa8f13c0ddcbb42ac1
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -7,8 +7,21 @@
    
    public class LogicMethod
    {
        /// <summary>
        /// 表示是条件
        /// </summary>
        public const string condition_if = "条件";
        /// <summary>
        /// 表示是目标
        /// </summary>
        public const string target_if = "目标";
        /// <summary>
        /// 移除所有界面
        /// </summary>
        public static void RemoveAllView()
        {
            MainPage.BasePageView.RemoveViewByTag("Logic");
        }
        /// <summary>
        /// 生成逻辑sid方法
        /// </summary>
@@ -88,7 +101,7 @@
        /// 获取网关房间列表
        /// </summary>
        /// <returns></returns>
        public static List<HDL_ON.Entity.Room> GetGatewayRoomListG(string name)
        public static List<HDL_ON.Entity.Room> GetGatewayRoomList(string name)
        {
            List<Entity.Room> roomList = new List<Entity.Room>();
@@ -138,13 +151,13 @@
            return deviceLists;
        }
        /// <summary>
        /// 获取设备
        /// 获取当个设备
        /// </summary>
        /// <param name="sid">设备唯一标识</param>
        /// <returns></returns>
        public static HDL_ON.Entity.Function GetDevice(string sid)
        {
            HDL_ON.Entity.Function device = new Entity.Function();
            HDL_ON.Entity.Function device = new Entity.Function() { name= "Unknown",sid="设备不存在"};
            List<HDL_ON.Entity.Function> deviceLists = GetGatewayDeviceList();
            foreach (var dev in deviceLists)
            {
@@ -246,24 +259,25 @@
        }
        /// <summary>
        /// 条件支持设备
        /// 条件/目标支持设备
        /// </summary>
        /// <returns></returns>
        public static List<FunctionType> GetConditionFunctionTypeDevice()
        public static List<FunctionType> GetSupportEquipment(string if_type)
        {
            List<FunctionType> deviceTypeList = new List<FunctionType>();
            deviceTypeList.Add(FunctionType.Relay);
            switch (if_type) {
                case condition_if: {
                        deviceTypeList.Add(FunctionType.Relay);
                    }
                    break;
                case target_if:
                    {
                        deviceTypeList.Add(FunctionType.Relay);
                    }
                    break;
            }
            return deviceTypeList;
        }
        /// <summary>
        /// 目标支持设备
        /// </summary>
        /// <returns></returns>
        public static List<FunctionType> GetTargetFunctionTypeDevice()
        {
            List<FunctionType> deviceTypeList = new List<FunctionType>();
            return deviceTypeList;
        }
        /// <summary>
        /// 显示的设备列表
        /// </summary>
@@ -283,36 +297,20 @@
            }
            return devList;
        }
        /// <summary>
        /// 返回最终支持显示出来的设备列表
        /// </summary>
        /// <param name="room">当前房间</param>
        /// <param name="str">判断符(表示=输入设备和输出设备)</param>
        /// <returns></returns>
        public static List<Entity.Function> GetFunctionDeviceList(Entity.Room room,string str)
        public static List<Entity.Function> GetFunctionDeviceList(Entity.Room room, string str)
        {
            List<FunctionType> functionTypeList=new List<FunctionType>();
            switch (str) {
                case condition_if: {
                        //返回条件支持设备列表
                        functionTypeList = GetConditionFunctionTypeDevice();
                    }
                    break;
                case target_if:
                    {
                        //返回目标支持设备列表
                        functionTypeList = GetTargetFunctionTypeDevice();
                    }
                    break;
            }
            List<FunctionType> functionTypeList = GetSupportEquipment(str);
            //返回房间设备列表
            var roomDeviceList = GetRoomDevice(room);
            //返回最终支持显示出来的设备列表
            var list= GetShowDeviceList(functionTypeList, roomDeviceList);
            var list = GetShowDeviceList(functionTypeList, roomDeviceList);
            return list;
        }
    }
}