Пример #1
0
        private void GetMessages(PlaylistInfo playlistInfo)
        {
            if (playlistInfo.Items == null || playlistInfo.Items.Length == 0)
            {
                return;
            }
            foreach (LibraryAdapter adapter in playlistInfo.Items)
            {
                if (adapter.Target != null)
                {
                    switch (adapter.Target.Type)
                    {
                    case LibraryType.Message:
                        if (adapter.Target.Length > 0)
                        {
                            _allmessages.Add(adapter.Target as MessageInfo);
                        }
                        break;

                    case LibraryType.TimeSliceGroup:
                        TimeSliceGroupInfo group = adapter.Target as TimeSliceGroupInfo;
                        if (!string.IsNullOrEmpty(group.CurrentMessageAdapterID) && group.Items.Length > 0 && group.GetMessageInfo(group.CurrentMessageAdapterID) != null)
                        {
                            _allmessages.Add(group.GetMessageInfo(group.CurrentMessageAdapterID));
                        }
                        break;

                    case LibraryType.Playlist:
                        PlaylistInfo playlist = adapter.Target as PlaylistInfo;
                        if (playlist.Items != null && playlist.Items.Length > 0)
                        {
                            GetMessages(playlist);
                        }
                        break;
                    }
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Function:Get all TimeSliceGroups in this playlist
        /// Author:Jerry Xu
        /// Date:2008-11-27
        /// </summary>
        private void GetAllTimeSliceGroups()
        {
            _alltimeSliceGroups = new List <TimeSliceGroupInfo>();
            TimeSliceGroupInfo group = null;

            foreach (LibraryAdapter adapter in _items)
            {
                switch (adapter.Target.Type)
                {
                case LibraryType.TimeSliceGroup:
                    if (adapter.Target != null)
                    {
                        group = adapter.Target as TimeSliceGroupInfo;
                        if (!string.IsNullOrEmpty(group.CurrentMessageAdapterID) && group.Items.Length > 0 && group.GetMessageInfo(group.CurrentMessageAdapterID) != null)
                        {
                            _alltimeSliceGroups.Add(adapter.Target as TimeSliceGroupInfo);
                        }
                    }
                    break;

                case LibraryType.Playlist:
                    PlaylistInfo playlist = adapter.Target as PlaylistInfo;
                    if (playlist.Items != null && playlist.Items.Length > 0)
                    {
                        GetAllTimeSliceGroups(playlist);
                    }
                    break;
                }
            }
        }
Пример #3
0
        private void GetMessages(PlaylistInfo playlistInfo, bool isAll)
        {
            if (playlistInfo.Items == null || playlistInfo.Items.Length == 0)
            {
                return;
            }
            foreach (LibraryAdapter adapter in playlistInfo.Items)
            {
                if (adapter.Target != null)
                {
                    switch (adapter.Target.Type)
                    {
                    case LibraryType.Message:
                        //if (adapter.Target.Length > 0)
                        //{
                        if (isAll)
                        {
                            _allMessages.Add(adapter.Target as MessageInfo);
                        }
                        else
                        {
                            if (!IsExistMessage(_messages, adapter.Target as MessageInfo))
                            {
                                _messages.Add(adapter.Target as MessageInfo);
                            }
                        }
                        //}
                        break;

                    case LibraryType.TimeSliceGroup:
                        TimeSliceGroupInfo group = adapter.Target as TimeSliceGroupInfo;
                        if (!string.IsNullOrEmpty(group.CurrentMessageAdapterID) && group.Items.Length > 0 && group.GetMessageInfo(group.CurrentMessageAdapterID) != null)
                        {
                            foreach (MessageAdapterInfo item in group.Items)
                            {
                                //if (item.Target != null && item.IsActive && item.Target.Length > 0)
                                if (item.Target != null && item.IsActive)
                                {
                                    if (isAll)
                                    {
                                        _allMessages.Add(adapter.Target as MessageInfo);
                                    }
                                    else
                                    {
                                        if (!IsExistMessage(_messages, item.Target as MessageInfo))
                                        {
                                            _messages.Add(item.Target as MessageInfo);
                                        }
                                    }
                                }
                            }
                        }
                        break;

                    case LibraryType.Playlist:
                        PlaylistInfo playlist = adapter.Target as PlaylistInfo;
                        if (playlist.Items != null && playlist.Items.Length > 0)
                        {
                            GetMessages(playlist, isAll);
                        }
                        break;
                    }
                }
            }
        }