/// <summary>
        /// Function: Clone a MemoryLibraryItem
        /// Author  : Jerry Xu
        /// Date    : 2008-10-30
        /// </summary>
        /// <returns>MemoryLibraryItem(MessageInfo)</returns>
        public override MemoryLibraryItem Copy()
        {
            TimeSliceGroupInfo clone = new TimeSliceGroupInfo();

            clone.FromTo(this);
            return(clone);
        }
Example #2
0
        /// <summary>
        /// Function:Get all TimeSliceGroups in this playlist
        /// Author:Jerry Xu
        /// Date:2008-11-27
        /// </summary>
        private void GetAllTimeSliceGroupAdapters()
        {
            _timeSliceGroupAdapters = new List <TimeSliceGroupAdapterInfo>();
            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)
                        {
                            _timeSliceGroupAdapters.Add(adapter as TimeSliceGroupAdapterInfo);
                        }
                    }
                    break;

                case LibraryType.Playlist:
                    PlaylistInfo playlist = adapter.Target as PlaylistInfo;
                    if (playlist.Items != null && playlist.Items.Length > 0)
                    {
                        GetTimeSliceGroups(playlist);
                    }
                    break;
                }
            }
        }
Example #3
0
        private void GetAllTimeSliceGroups(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.TimeSliceGroup:
                        TimeSliceGroupInfo 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;
                    }
                }
            }
        }
 private void InternalFromTo(TimeSliceGroupInfo group)
 {
     if (group != null)
     {
         _currentMessageAdapterID = group._currentMessageAdapterID;
         _isRandom    = group._isRandom;
         _nailImageID = group._nailImageID;
         AddRange(group.Items);
         //_items = group._items;
     }
 }
Example #5
0
 private bool IsExistTimeSliceGroup(List <TimeSliceGroupInfo> items, TimeSliceGroupInfo group)
 {
     if (items == null || items.Count == 0)
     {
         return(false);
     }
     foreach (TimeSliceGroupInfo item in items)
     {
         if (item.Id == group.Id)
         {
             return(true);
         }
     }
     return(false);
 }
Example #6
0
        private void GetTimeSliceGroups(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.TimeSliceGroup:
                        TimeSliceGroupInfo group = adapter.Target as TimeSliceGroupInfo;
                        //if (!string.IsNullOrEmpty(group.ImageMessageAdapterName) && group.Items.Length > 0 && group.GetMessageInfo(group.ImageMessageAdapterName) != null)
                        if (group.Items != null && group.Items.Length > 0)
                        {
                            if (isAll)
                            {
                                _allTimeSliceGroups.Add(group);
                            }
                            else
                            {
                                if (!IsExistTimeSliceGroup(_timeSliceGroups, group))
                                {
                                    _timeSliceGroups.Add(group);
                                }
                            }
                        }
                        break;

                    case LibraryType.Playlist:
                        PlaylistInfo playlist = adapter.Target as PlaylistInfo;
                        if (playlist.Items != null && playlist.Items.Length > 0)
                        {
                            GetTimeSliceGroups(playlist, isAll);
                        }
                        break;
                    }
                }
            }
        }
Example #7
0
        /// <summary>
        /// Function:Get all TimeSliceGroups in this playlist
        /// Author:Jerry Xu
        /// Date:2008-11-27
        /// </summary>
        private void GetAllTimeSliceGroups(bool isAll)
        {
            _allTimeSliceGroups = new List <TimeSliceGroupInfo>();
            TimeSliceGroupInfo group = null;

            foreach (AppointmentInfo appoint in _items)
            {
                if (appoint.Target != null)
                {
                    switch (appoint.Target.Type)
                    {
                    case LibraryType.TimeSliceGroup:
                        group = appoint.Target as TimeSliceGroupInfo;
                        //if (!string.IsNullOrEmpty(group.ImageMessageAdapterName) && group.Items.Length > 0 && group.GetMessageInfo(group.ImageMessageAdapterName) != null)
                        if (group.Items != null && group.Items.Length > 0)
                        {
                            if (isAll)
                            {
                                _allTimeSliceGroups.Add(group);
                            }
                            else
                            {
                                if (!IsExistTimeSliceGroup(_timeSliceGroups, group))
                                {
                                    _timeSliceGroups.Add(group);
                                }
                            }
                        }
                        break;

                    case LibraryType.Playlist:
                        PlaylistInfo playlist = appoint.Target as PlaylistInfo;
                        if (playlist.Items != null && playlist.Items.Length > 0)
                        {
                            GetTimeSliceGroups(playlist, isAll);
                        }
                        break;
                    }
                }
            }
        }
Example #8
0
        /// <summary>
        /// Function:Get all Messages in this playlist
        /// Author:Jerry Xu
        /// Date:2008-11-27
        /// </summary>
        private void GetAllMessages()
        {
            _allmessages = new List <MessageInfo>();
            foreach (LibraryAdapter adapter in _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)
                        if (group.Items != null && group.Items.Length > 0)
                        {
                            foreach (MessageAdapterInfo item in group.Items)
                            {
                                _allmessages.Add(LibraryGroup.Current.Messages.GetById(item.TargetId));
                            }
                        }
                        break;

                    case LibraryType.Playlist:
                        PlaylistInfo playlist = adapter.Target as PlaylistInfo;
                        if (playlist.Items != null && playlist.Items.Length > 0)
                        {
                            GetMessages(playlist);
                        }
                        break;
                    }
                }
            }
        }
 public TimeSliceGroupAdapterInfo(TimeSliceGroupInfo group) : base(group)
 {
 }
Example #10
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;
                    }
                }
            }
        }