コード例 #1
0
        public UploadedSoundsListViewModel(
            IOnlineSoundDataProvider onlineSoundDataProvider,
            IAccountManager accountManager,
            ISoundVmFactory soundVmFactory,
            ITelemetry telemetry,
            IUploadService uploadService)
        {
            Guard.IsNotNull(onlineSoundDataProvider, nameof(onlineSoundDataProvider));
            Guard.IsNotNull(accountManager, nameof(accountManager));
            Guard.IsNotNull(soundVmFactory, nameof(soundVmFactory));
            Guard.IsNotNull(uploadService, nameof(uploadService));
            Guard.IsNotNull(telemetry, nameof(telemetry));

            _telemetry = telemetry;
            _onlineSoundDataProvider = onlineSoundDataProvider;
            _accountManager          = accountManager;
            _soundVmFactory          = soundVmFactory;
            _uploadService           = uploadService;

            _uploadService.SoundUploaded += OnSoundUploaded;
            _uploadService.SoundDeleted  += OnSoundDeleted;
            LoadCommand = new AsyncRelayCommand(LoadAsync);
            UploadedSounds.CollectionChanged += OnCollectionChanged;
            LoadCommand.PropertyChanged      += OnLoadCommandPropChanged;
        }
コード例 #2
0
        public ActiveTrackListViewModel(
            IMixMediaPlayerService player,
            ISoundVmFactory soundVmFactory,
            IUserSettings userSettings,
            ITelemetry telemetry,
            ISoundMixService soundMixService,
            ISoundDataProvider soundDataProvider,
            IAppSettings appSettings)
        {
            Guard.IsNotNull(player, nameof(player));
            Guard.IsNotNull(soundVmFactory, nameof(soundVmFactory));
            Guard.IsNotNull(userSettings, nameof(userSettings));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(appSettings, nameof(appSettings));

            _loadPreviousState = appSettings.LoadPreviousState;
            _telemetry         = telemetry;
            _soundMixService   = soundMixService;
            _soundDataProvider = soundDataProvider;
            _userSettings      = userSettings;
            _soundVmFactory    = soundVmFactory;
            _player            = player;

            RemoveCommand = new RelayCommand <Sound>(RemoveSound);
            SaveCommand   = new AsyncRelayCommand <string>(SaveAsync);
            ClearCommand  = new RelayCommand(ClearAll);
        }
コード例 #3
0
        public CatalogueListViewModel(
            IOnlineSoundDataProvider dataProvider,
            ISoundVmFactory soundVmFactory)
        {
            Guard.IsNotNull(dataProvider, nameof(dataProvider));
            Guard.IsNotNull(soundVmFactory, nameof(soundVmFactory));
            _dataProvider   = dataProvider;
            _soundVmFactory = soundVmFactory;

            LoadCommand = new AsyncRelayCommand(LoadAsync);
        }
コード例 #4
0
        public CatalogueListViewModel(
            IOnlineSoundDataProvider dataProvider,
            ISoundDataProvider soundDataProvider,
            ISoundVmFactory soundVmFactory)
        {
            Guard.IsNotNull(dataProvider, nameof(dataProvider));
            Guard.IsNotNull(soundVmFactory, nameof(soundVmFactory));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));

            _soundDataProvider = soundDataProvider;
            _dataProvider      = dataProvider;
            _soundVmFactory    = soundVmFactory;
        }
コード例 #5
0
        public ShareResultsViewModel(
            IOnlineSoundDataProvider dataProvider,
            ISoundDataProvider localDataProvider,
            ISoundVmFactory soundVmFactory)
        {
            Guard.IsNotNull(dataProvider, nameof(dataProvider));
            Guard.IsNotNull(soundVmFactory, nameof(soundVmFactory));
            Guard.IsNotNull(localDataProvider, nameof(localDataProvider));

            _localDataProvider  = localDataProvider;
            _onlineDataProvider = dataProvider;
            _soundVmFactory     = soundVmFactory;
        }
コード例 #6
0
        /// <summary>
        /// Default constructor. Must initialize with <see cref="LoadAsync"/>
        /// immediately after creation.
        /// </summary>
        public SoundListViewModel(
            ISoundDataProvider soundDataProvider,
            ITelemetry telemetry,
            ISoundVmFactory soundVmFactory)
        {
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(soundVmFactory, nameof(soundVmFactory));

            _provider  = soundDataProvider;
            _telemetry = telemetry;
            _factory   = soundVmFactory;

            LoadCommand = new AsyncRelayCommand(LoadAsync);
        }
コード例 #7
0
        /// <summary>
        /// Default constructor. Must initialize with <see cref="LoadAsync"/>
        /// immediately after creation.
        /// </summary>
        public SoundListViewModel(
            ISoundDataProvider soundDataProvider,
            ITelemetry telemetry,
            ISoundVmFactory soundVmFactory)
        {
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(soundVmFactory, nameof(soundVmFactory));

            _provider  = soundDataProvider;
            _telemetry = telemetry;
            _factory   = soundVmFactory;

            LoadCommand      = new AsyncRelayCommand(LoadAsync);
            PlaySoundCommand = new RelayCommand <SoundViewModel>(PlaySound);

            _provider.LocalSoundAdded   += OnLocalSoundAdded;
            _provider.LocalSoundDeleted += OnLocalSoundDeleted;
        }