示例#1
0
        public PlaylistTaskViewModel GetPlaylistViewModel(IPlaylistViewModel playlist)
        {
            if (playlist == null)
            {
                throw new ArgumentNullException("playlist");
            }

            try
            {
                var audioPlayer = new AudioPlayer(audioStreamFactory);
                var first       = playlist.GetCurrentTaskItem();
                var task        = new PlaylistTask(logger, audioPlayer, videoPlayer, first, TimeSpan.Zero, () => playlist.GetPreviousTaskItem(), () => playlist.GetNextTaskItem());

                var icon = playlist.Icon;

                var iconPath = first.Image as Uri;
                if (iconPath != null && !iconPath.IsEmptyUrn())
                {
                    icon = iconPath;
                }

                var iconData = first.Image as byte[];
                if (iconData != null && iconData.Length > 0)
                {
                    icon = iconData;
                }

                return(new PlaylistTaskViewModel(logger, task, playlist.Name, icon));
            }
            catch (Exception ex)
            {
                logger.Error("  TaskController.GetPlaylistViewModel", ex);
                throw;
            }
        }
        public PlaylistTaskViewModel GetPlaylistViewModel(IPlaylistViewModel playlist)
        {
            if (playlist == null)
                throw new ArgumentNullException("playlist");

            try
            {
                var audioPlayer = new AudioPlayer(audioStreamFactory);
                var first = playlist.GetCurrentTaskItem();
                var task = new PlaylistTask(logger, audioPlayer, videoPlayer, first, TimeSpan.Zero, () => playlist.GetPreviousTaskItem(), () => playlist.GetNextTaskItem());

                var icon = playlist.Icon;

                var iconPath = first.Image as Uri;
                if (iconPath != null && !iconPath.IsEmptyUrn())
                    icon = iconPath;

                var iconData = first.Image as byte[];
                if (iconData != null && iconData.Length > 0)
                    icon = iconData;

                return new PlaylistTaskViewModel(logger, task, playlist.Name, icon);
            }
            catch (Exception ex)
            {
                logger.Error("  TaskController.GetPlaylistViewModel", ex);
                throw;
            }
        }
示例#3
0
 public PlaylistTaskViewModel(ILogger logger, PlaylistTask task, string playlistName, object icon)
     : base(logger, task, playlistName, "Playlist", GetIcon(icon))
 {
     playlistTask = task;
 }