public MediaPlayer(ViewModelServiceContainer container, IMediaPlayer player, IValidator <MediaPlayer> validator, AudioDevices devices, Playlist playlist, Data.MediaPlayer model) : base(model, validator, container.Messenger) { _manager = container.LocalizationService; Player = player ?? throw new ArgumentNullException(nameof(player), $"{nameof(player)} {Resources.IsRequired}"); _name = model.Name; _audioDevices = devices; _sequence = model.Sequence; _createdBy = model.CreatedBy; _createdOn = model.CreatedOn; _updatedBy = model.UpdatedBy; _updatedOn = model.UpdatedOn; if (AudioDevices.Items.Count > 0) { Player.AudioDevice = AudioDevices.Items.FirstOrDefault(p => p.Name == Model.DeviceName) ?? AudioDevices.Items[0]; } InitializeSubscriptions(); InitiliazeCommands(); Validate(); }
public Playlist(ViewModelServiceContainer container, IValidator <Playlist> validator, DialogViewModel dialogViewModel, Data.Playlist model) : base(model, validator, container.Messenger) { using (BusyStack.GetToken()) { _itemsLock = new object(); _dialogViewModel = dialogViewModel ?? throw new ArgumentNullException(nameof(dialogViewModel), $"{nameof(dialogViewModel)} {Resources.IsRequired}"); _sequenceProvider = container.SequenceService; _translator = container.LocalizationService; _title = model.Title; _description = model.Description; _repeatMode = (RepeatMode)model.RepeatMode; _isShuffeling = model.IsShuffeling; _sequence = model.Sequence; RepeatModes = new RangeObservableCollection <RepeatMode>(Enum.GetValues(typeof(RepeatMode)).Cast <RepeatMode>().ToList()); History = new Stack <int>(); Items = new RangeObservableCollection <MediaItem>(); Items.CollectionChanged += (o, e) => OnPropertyChanged(nameof(Count)); BindingOperations.EnableCollectionSynchronization(Items, _itemsLock); View = CollectionViewSource.GetDefaultView(Items); OnPropertyChanged(nameof(Count)); InitializeCommands(); Validate(); } }
public Playlists(ViewModelServiceContainer container, IPlaylistMapper playlistMapper, Func <IMediaRepository> repositoryFactory) : base(container) { _repositoryFactory = repositoryFactory ?? throw new ArgumentNullException(nameof(repositoryFactory), $"{nameof(repositoryFactory)} {Resources.IsRequired}"); _playlistMapper = playlistMapper ?? throw new ArgumentNullException(nameof(playlistMapper), $"{nameof(playlistMapper)} {Resources.IsRequired}"); AddCommand = new RelayCommand(Add, CanAdd); }
public Cultures(ViewModelServiceContainer container) : base(container.Messenger) { _log = container.Log; _manager = container.LocalizationService; MessageTokens.Add(Messenger.Subscribe <ViewModelSelectionChangedMessage <Culture> >(UpdateCulture)); }
/// <summary> /// Initializes a new instance of the <see cref="UIColorsViewModel"/> class. /// </summary> public UIColorsViewModel(ViewModelServiceContainer container) { _log = container.Log; _messenger = container.Messenger; OnPropertyChanged(nameof(Swatches)); InitializeCommands(); }
public MediaPlayerMapper(ViewModelServiceContainer container, IMediaPlayer mediaPlayer, AudioDevices devices, IValidator <MediaPlayer> validator) : base(container, validator) { _mediaPlayer = mediaPlayer ?? throw new ArgumentNullException(nameof(mediaPlayer), $"{nameof(mediaPlayer)} {Resources.IsRequired}"); _devices = devices ?? throw new ArgumentNullException(nameof(devices), $"{nameof(devices)} {Resources.IsRequired}"); InitializeMapper(); }
/// <summary> /// Initializes a new instance of the <see cref="PlaylistMapper"/> class. /// </summary> /// <param name="dialogViewModel">The dialog view model.</param> public PlaylistMapper(ViewModelServiceContainer container, IMediaItemMapper mediaItemMapper, IDialogViewModel dialogViewModel, IValidator <Playlist> validator) : base(container, validator) { _dialogViewModel = dialogViewModel ?? throw new ArgumentNullException(nameof(dialogViewModel), $"{nameof(dialogViewModel)} {Resources.IsRequired}"); _mediaItemMapper = mediaItemMapper ?? throw new ArgumentNullException(nameof(mediaItemMapper), $"{nameof(mediaItemMapper)} {Resources.IsRequired}"); InitializeMapper(); }
protected BaseMapper(ViewModelServiceContainer container, IValidator <T> validator) { _container = container; _translationService = container.LocalizationService; _sequenceProvider = container.SequenceService; _log = container.Log; _messenger = container.Messenger; _validator = validator ?? throw new ArgumentNullException(nameof(validator), $"{nameof(validator)} {Resources.IsRequired}"); }
public Playlist(ViewModelServiceContainer container, IValidator <Playlist> validator, IDialogViewModel dialogViewModel, IMediaItemMapper mediaItemMapper, PlaylistModel model) : base(model, validator, container?.Messenger) { if (container == null) { throw new ArgumentNullException(nameof(container), $"{nameof(container)} {Resources.IsRequired}"); } SkipChangeTracking = true; using (BusyStack.GetToken()) { _itemsLock = new object(); _mediaItemMapper = mediaItemMapper ?? throw new ArgumentNullException(nameof(mediaItemMapper), $"{nameof(mediaItemMapper)} {Resources.IsRequired}"); _dialogViewModel = dialogViewModel ?? throw new ArgumentNullException(nameof(dialogViewModel), $"{nameof(dialogViewModel)} {Resources.IsRequired}"); _sequenceProvider = container.SequenceService; _translator = container.LocalizationService; _title = model.Title; _description = model.Description; _repeatMode = (RepeatMode)model.RepeatMode; _isShuffeling = model.IsShuffeling; _sequence = model.Sequence; RepeatModes = new RangeObservableCollection <RepeatMode>(Enum.GetValues(typeof(RepeatMode)).Cast <RepeatMode>().ToList()); _history = new Stack <int>(); Items = new RangeObservableCollection <MediaItem>(); _items.CollectionChanged += (o, e) => OnPropertyChanged(nameof(Count)); BindingOperations.EnableCollectionSynchronization(Items, _itemsLock); View = CollectionViewSource.GetDefaultView(Items); // TODO add sorting by sequence OnPropertyChanged(nameof(Count)); LoadFromFileCommand = AsyncCommand.Create(LoadFromFile, () => CanLoadFromFile()); LoadFromFolderCommand = AsyncCommand.Create(LoadFromFolder, () => CanLoadFromFolder()); LoadFromUrlCommand = AsyncCommand.Create(LoadFromUrl, () => CanLoadFromUrl()); RemoveCommand = new RelayCommand <object>(Remove, CanRemove); RemoveRangeCommand = new RelayCommand <IList>(RemoveRange, CanRemoveRange); ClearCommand = new RelayCommand(() => Clear(), CanClear); AddRange(_mediaItemMapper.GetMany(model.MediaItems)); MessageTokens.Add(Messenger.Subscribe <PlayingMediaItemMessage>(OnPlaybackItemChanged, m => m.PlaylistId == Id && _items.Contains(m.Content))); Validate(); } SkipChangeTracking = false; }
public MainMediaPlayer(ViewModelServiceContainer container, IMediaPlayer player, IValidator <MediaPlayer> validator, AudioDevices devices, Playlist playlist, MediaPlayerModel model) : base(container, player, validator, devices, playlist, model) { IsPrimary = model.IsPrimary; _manager.PropertyChanged += (o, e) => { if (e.PropertyName == nameof(ILocalizationService.CurrentLanguage)) { UpdateName(); } }; UpdateName(); }
/// <summary> /// Initializes a new instance of the <see cref="MediaPlayers"/> class. /// </summary> /// <param name="manager">The manager.</param> /// <param name="playerFactory">The player factory.</param> /// <param name="repositoryFactory">The repo.</param> /// <param name="devices">The devices.</param> /// <param name="dialog">The dialog.</param> public MediaPlayers(ViewModelServiceContainer container, IMediaPlayerMapper mediaPlayerMapper, Func <IMediaPlayer> playerFactory, Func <IMediaRepository> repositoryFactory, AudioDevices devices, DialogViewModel dialog) : base(container) { _playerFactory = playerFactory ?? throw new ArgumentNullException(nameof(playerFactory), $"{nameof(playerFactory)} {Resources.IsRequired}"); _devices = devices ?? throw new ArgumentNullException(nameof(devices), $"{nameof(devices)} {Resources.IsRequired}"); _dialog = dialog ?? throw new ArgumentNullException(nameof(dialog), $"{nameof(dialog)} {Resources.IsRequired}"); _repositoryFactory = repositoryFactory ?? throw new ArgumentNullException(nameof(repositoryFactory), $"{nameof(repositoryFactory)} {Resources.IsRequired}"); _mediaPlayerMapper = mediaPlayerMapper ?? throw new ArgumentNullException(nameof(mediaPlayerMapper), $"{nameof(mediaPlayerMapper)} {Resources.IsRequired}"); _notificationService = container.NotificationService; }
public MediaItems(ViewModelServiceContainer container, IMediaItemMapper mediaItemMapper, Func <IMediaRepository> repositoryFactory) : base(container) { _repositoryFactory = repositoryFactory ?? throw new ArgumentNullException(nameof(repositoryFactory), $"{nameof(repositoryFactory)} {Resources.IsRequired}"); _mediaItemMapper = mediaItemMapper ?? throw new ArgumentNullException(nameof(mediaItemMapper), $"{nameof(mediaItemMapper)} {Resources.IsRequired}"); }
/// <summary> /// Initializes a new instance of the <see cref="MediaItemMapper"/> class. /// </summary> public MediaItemMapper(ViewModelServiceContainer container, IValidator <MediaItem> validator) : base(container, validator) { InitializeMapper(); }
public Cultures(ViewModelServiceContainer container) : base(container.Messenger) { _log = container.Log; _manager = container.LocalizationService; }