陈嘉乐
2020-12-02 6b6a65cc86b668b57a84d6d8a7bec4c43ddcc0f5
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -16,7 +16,7 @@
        /// </summary>
        public const string target_if = "目标";
        /// <summary>
        /// 移除所有界面
        /// 移除所有"Logic"界面
        /// </summary>
        public static void RemoveAllView()
        {
@@ -93,7 +93,7 @@
        /// 获取网关房间列表
        /// </summary>
        /// <returns></returns>
        public static List<HDL_ON.Entity.Room> GetGatewayRoomListG()
        public static List<HDL_ON.Entity.Room> GetGatewayRoomList()
        {
            return HDL_ON.Entity.DB_ResidenceData.rooms;
        }
@@ -109,7 +109,7 @@
            room1.name = name;//默认一个房间名为:全部区域
            room1.sid = "全部区域";//默认sid用识别该房间
            roomList.Add(room1);//默认添加到房间列表里
            var roomLists = GetGatewayRoomListG();
            var roomLists = GetGatewayRoomList();
            foreach (var room in roomLists)
            {
                roomList.Add(room);
@@ -123,8 +123,40 @@
        /// <returns></returns>
        public static List<HDL_ON.Entity.Function> GetGatewayDeviceList()
        {
            return HDL_ON.Entity.DB_ResidenceData.functionList.GetAllFunction();
            List<HDL_ON.Entity.Function> list = new List<Entity.Function>();
            for (int i=0;i<3;i++) {
                HDL_ON.Entity.Function function = new Entity.Function();
                switch (i) {
                    case 0: {
                            function.sid = "1234560001212121020182";
                            function.name ="灯光";
                            list.Add(function);
                        }
                        break;
                    case 1: {
                            function.sid = "1234560001212121030182";
                            function.name = "窗帘";
                            list.Add(function);
                        } break;
                    case 2: {
                            function.sid = "1234560001212121040182";
                            function.name = "空调";
                            list.Add(function);
                        } break;
                }
            }
            return list;
            //return HDL_ON.Entity.DB_ResidenceData.functionList.GetAllFunction();
        }
        /// <summary>
        /// 获取网关场景列表
        /// </summary>
        /// <returns></returns>
        public static List<HDL_ON.Entity.Scene> GetSceneList()
        {
           return  HDL_ON.Entity.DB_ResidenceData.functionList.scenes;
        }
        /// <summary>
        /// 获取房间的设备列表
@@ -137,7 +169,7 @@
            List<HDL_ON.Entity.Function> lists = GetGatewayDeviceList();
            foreach (var dev in lists)
            {
                if (dev.roomIdList.Find((id) => id == room.sid) != null)
                if (dev.roomIds.Find((id) => id == room.sid) != null)
                {
                    deviceLists.Add(dev);
                }
@@ -169,6 +201,26 @@
            }
            return device;
        }
        /// <summary>
        /// 获取当个场景
        /// </summary>
        /// <param name="sid">场景唯一标识</param>
        /// <returns></returns>
        public static HDL_ON.Entity.Scene GetSecne(string sid)
        {
            HDL_ON.Entity.Scene scene = new Entity.Scene() { name = "Unknown", sid = "场景不存在" };
            List<HDL_ON.Entity.Scene> sceneLists = GetSceneList();
            foreach (var sce in sceneLists)
            {
                if (sce.sid == sid)
                {
                    scene = sce;
                    break;
                }
            }
            return scene;
        }
        /// <summary>
        /// 获取房间名(即是=区域名称)
        /// </summary>
@@ -177,9 +229,9 @@
        public static string GetGetRoomName(HDL_ON.Entity.Function device)
        {
            string roomName = "";
            List<HDL_ON.Entity.Room> roomLists = GetGatewayRoomListG();
            List<HDL_ON.Entity.Room> roomLists = GetGatewayRoomList();
            foreach (var dev in device.roomIdList)
            foreach (var dev in device.roomIds)
            {
                var room = roomLists.Find((c) => c.sid == dev);
                if (room != null)
@@ -268,11 +320,15 @@
            switch (if_type) {
                case condition_if: {
                        deviceTypeList.Add(FunctionType.Relay);
                        deviceTypeList.Add(FunctionType.Curtain);
                        deviceTypeList.Add(FunctionType.AC);
                    }
                    break;
                case target_if:
                    {
                        deviceTypeList.Add(FunctionType.Relay);
                        deviceTypeList.Add(FunctionType.Curtain);
                        deviceTypeList.Add(FunctionType.AC);
                    }
                    break;
            }