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; } }
public PlaylistTaskViewModel(ILogger logger, PlaylistTask task, string playlistName, object icon) : base(logger, task, playlistName, "Playlist", GetIcon(icon)) { playlistTask = task; }