Beispiel #1
0
        public SyncEngine(
            ICloudFileWriter cloudFileWriter,
            IDownloadManager downloadManager,
            IAccountManager accountManager,
            ISoundDataProvider soundDataProvider,
            IOnlineSoundDataProvider onlineSoundDataProvider,
            IAppSettings appSettings,
            ISoundMixService soundMixService,
            ITelemetry telemetry)
        {
            Guard.IsNotNull(cloudFileWriter, nameof(cloudFileWriter));
            Guard.IsNotNull(downloadManager, nameof(downloadManager));
            Guard.IsNotNull(accountManager, nameof(accountManager));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(onlineSoundDataProvider, nameof(onlineSoundDataProvider));
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(appSettings, nameof(appSettings));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNullOrEmpty(appSettings.CloudSyncFileUrl, nameof(appSettings.CloudSyncFileUrl));

            _accountManager          = accountManager;
            _cloudFileWriter         = cloudFileWriter;
            _downloadManager         = downloadManager;
            _soundDataProvider       = soundDataProvider;
            _onlineSoundDataProvider = onlineSoundDataProvider;
            _soundMixService         = soundMixService;
            _telemetry        = telemetry;
            _cloudSyncFileUrl = appSettings.CloudSyncFileUrl;
            _dataChangeQueue  = new Queue <string>();

            _downloadManager.DownloadsCompleted  += OnDownloadsCompleted;
            _soundDataProvider.LocalSoundDeleted += OnLocalSoundDeleted;
            _soundDataProvider.LocalSoundAdded   += OnLocalSoundAdded;
            _accountManager.SignInUpdated        += OnSignInUpdated;
        }
        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;
        }
Beispiel #3
0
        public UploadFormViewModel(
            IUploadService uploadService,
            IAccountManager accountManager,
            IFilePicker filePicker,
            ITelemetry telemetry,
            IOnlineSoundDataProvider onlineSoundDataProvider)
        {
            Guard.IsNotNull(uploadService, nameof(uploadService));
            Guard.IsNotNull(accountManager, nameof(accountManager));
            Guard.IsNotNull(filePicker, nameof(filePicker));
            Guard.IsNotNull(onlineSoundDataProvider, nameof(onlineSoundDataProvider));
            Guard.IsNotNull(telemetry, nameof(telemetry));

            _telemetry               = telemetry;
            _uploadService           = uploadService;
            _accountManager          = accountManager;
            _filePicker              = filePicker;
            _onlineSoundDataProvider = onlineSoundDataProvider;

            SubmitCommand    = new AsyncRelayCommand(SubmitAsync);
            PickSoundCommand = new AsyncRelayCommand(PickSoundFileAsync);

            _onlineSoundDataProvider.UserSoundsFetched += CheckUserListcount;
            _uploadService.SoundDeleted += OnUserSoundDeleted;
        }
Beispiel #4
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);
        }
        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;
        }
        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;
        }
Beispiel #7
0
        public WindowsDownloadManager(
            IFileDownloader fileDownloader,
            ISoundDataProvider soundDataProvider,
            IOnlineSoundDataProvider onlineSoundDataProvider)
        {
            Guard.IsNotNull(fileDownloader, nameof(fileDownloader));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(onlineSoundDataProvider, nameof(onlineSoundDataProvider));

            _fileDownloader          = fileDownloader;
            _soundDataProvider       = soundDataProvider;
            _onlineSoundDataProvider = onlineSoundDataProvider;
        }
Beispiel #8
0
 public SoundDataProvider(IOnlineSoundDataProvider onlineSoundDataProvider)
 {
     Guard.IsNotNull(onlineSoundDataProvider, nameof(onlineSoundDataProvider));
     _onlineSoundDataProvider = onlineSoundDataProvider;
 }