wxr
2023-04-04 60c59ea2ed4ee11a9989fdd4ce0ddace6efe452e
HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs
@@ -4,19 +4,74 @@
namespace HDL_ON.Entity
{
    public class GroupControl
    public class GroupControl : Function
    {
        public GroupControl()
        {
            spk = "GroupControl";
        }
        /// <summary>
        /// 群控ID
        /// </summary>
        public string userDeviceGroupControlId = string.Empty;
        /// <summary>
        /// 群控sid
        /// </summary>
        public string sid = string.Empty;
        //public string sid = string.Empty;
        /// <summary>
        /// 生成群控sid
        /// </summary>
        public string NewGroupControlSid()
        {
            string sceneId = "";
            try
            {
                string sOidBeginsWith = "000101";//厂商 + 通讯方式
                DateTime dt = DateTime.Now;
                DateTime startTime = TimeZoneInfo.ConvertTimeToUtc(new DateTime(2020, 1, 1));
                long m = (long)((dt - startTime).TotalMilliseconds / 10);
                string sTimeSpan = "00000000";
                byte[] arry = new byte[4];
                arry[0] = (byte)(m & 0xFF);
                arry[1] = (byte)((m & 0xFF00) >> 8);
                arry[2] = (byte)((m & 0xFF0000) >> 16);
                arry[3] = (byte)((m >> 24) & 0xFF);
                sTimeSpan = arry[0].ToString("X2") + arry[1].ToString("X2") + arry[2].ToString("X2") + arry[3].ToString("X2");
                if (sTimeSpan.Length >= 8)
                {
                    sTimeSpan = sTimeSpan.Substring(0, 8);
                }
                else
                {
                    sTimeSpan = Guid.NewGuid().ToString().Substring(0, 8);
                    //sTimeSpan = "00000000";
                }
                sceneId = sOidBeginsWith + sTimeSpan;
                sceneId += "AA";
                sceneId += "AA01";
                int maxId = 1;
                Random random = new Random(Guid.NewGuid().GetHashCode());
                maxId = random.Next(10);
                sceneId += (maxId + 1).ToString("X4");
                sceneId += "0000";
            }
            catch
            {
                return sceneId;
            }
            return sceneId;
        }
        /// <summary>
        /// 群控名称
        /// </summary>
        public string name = string.Empty;
        //public string name = string.Empty;
        /// <summary>
        /// 群控类型
        /// </summary>
@@ -25,7 +80,7 @@
        /// 房间uid
        /// </summary>
        public List<String> uids = new List<string>();
        public List<String> roomIds = new List<string>();
        //public List<String> roomIds = new List<string>();
        /// <summary>
        /// 群控功能sid配置
        /// </summary>
@@ -33,32 +88,32 @@
        /// <summary>
        /// 获取设备添加到房间的房间名称
        /// </summary>
        /// <returns></returns>
        public string GetRoomListName()
        {
            string roomNameList = "";
            foreach (var roomId in roomIds)
            {
                var findRoom = SpatialInfo.CurrentSpatial.RoomList.Find(obj => obj.roomId == roomId);
                if (findRoom == null)
                {
                    continue;
                }
                if (roomNameList != "")
                {
                    roomNameList += ",";
                }
                roomNameList += findRoom.floorName + "-" + findRoom.roomName;
            }
            if (roomNameList == "")
            {
                roomNameList = Language.StringByID(StringId.WholeZone);
            }
            return roomNameList;
        }
        ///// <summary>
        ///// 获取设备添加到房间的房间名称
        ///// </summary>
        ///// <returns></returns>
        //public string GetRoomListName()
        //{
        //    string roomNameList = "";
        //    foreach (var roomId in roomIds)
        //    {
        //        var findRoom = SpatialInfo.CurrentSpatial.RoomList.Find(obj => obj.roomId == roomId);
        //        if (findRoom == null)
        //        {
        //            continue;
        //        }
        //        if (roomNameList != "")
        //        {
        //            roomNameList += ",";
        //        }
        //        roomNameList += findRoom.floorName + "-" + findRoom.roomName;
        //    }
        //    if (roomNameList == "")
        //    {
        //        roomNameList = Language.StringByID(StringId.WholeZone);
        //    }
        //    return roomNameList;
        //}
    }
    public class GroupControlFunction
@@ -72,5 +127,26 @@
        /// </summary>
        public string spk = string.Empty;
    }
    public class GroupControlType
    {
        /// <summary>
        /// 类型
        /// </summary>
        public string type = string.Empty;
        /// <summary>
        /// 类型名称
        /// </summary>
        public string typeName = string.Empty;
        /// <summary>
        /// 群控支持的spk
        /// </summary>
        public List<string> spks = new List<string>();
        /// <summary>
        /// 群控支持的spk属性
        /// </summary>
        public List<string> spkAttrs = new List<string>();
    }
}