Exemplo n.º 1
0
        public BooksViewModel(
            IBooksService booksService,
            ILaunchProtocolService launchProtocolService,
            IPackageNameService packageNameService,
            IUpdateTileService updateTileService,
            IAppServiceClientService appServiceClientService,
            IRunOnUIThreadService runOnUIThreadService)
        {
            _booksService            = booksService ?? throw new ArgumentNullException(nameof(booksService));
            _launchProtocolService   = launchProtocolService ?? throw new ArgumentNullException(nameof(launchProtocolService));
            _updateTileService       = updateTileService ?? throw new ArgumentNullException(nameof(updateTileService));
            _appServiceClientService = appServiceClientService ?? throw new ArgumentNullException(nameof(appServiceClientService));
            _runOnUIThreadService    = runOnUIThreadService ?? throw new ArgumentNullException(nameof(runOnUIThreadService));
            Package = packageNameService?.GetPackageName() ?? throw new ArgumentNullException(nameof(packageNameService));

            _appServiceClientService.MessageReceived += (sender, e) =>
            {
                // app service event is coming on a different thread, switch thread
                _runOnUIThreadService.RunOnUIThreadAsync(() => Messages.Add(e));
            };

            LaunchUWPCommand  = new DelegateCommand(OnLaunchUWP);
            UpdateTileCommand = new DelegateCommand(OnUpdateTile);
            AppServiceCommand = new DelegateCommand(OnAppService);
        }
Exemplo n.º 2
0
 public BooksViewModel(IBooksService booksService, ILaunchProtocolService launchProtocolService, IPackageNameService packageNameService, IUpdateTileService updateTileService, IAppServiceTaskService appServiceTaskService)
 {
     _booksService          = booksService ?? throw new ArgumentNullException(nameof(booksService));
     _launchProtocolService = launchProtocolService ?? throw new ArgumentNullException(nameof(launchProtocolService));
     _updateTileService     = updateTileService ?? throw new ArgumentNullException(nameof(updateTileService));
     _appServiceTaskService = appServiceTaskService ?? throw new ArgumentNullException(nameof(appServiceTaskService));
     _package          = packageNameService?.GetPackageName() ?? throw new ArgumentNullException(nameof(packageNameService));
     LaunchUWPCommand  = new DelegateCommand(OnLaunchUWP);
     UpdateTileCommand = new DelegateCommand(OnUpdateTile);
     AppServiceCommand = new DelegateCommand(OnAppService);
 }