Ejemplo n.º 1
0
        public MainViewModel(ISyncEngine syncEngine, IMessenger messenger)
            : base(messenger)
        {
            this.syncEngine = syncEngine;

            SyncCommand = new RelayCommand(Sync, CanSync);
        }
        public AccountControlViewModel(
            IAccountManager accountManager,
            ITelemetry telemetry,
            ISyncEngine syncEngine,
            ISystemInfoProvider systemInfoProvider,
            INavigator navigator)
        {
            Guard.IsNotNull(accountManager, nameof(accountManager));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(syncEngine, nameof(syncEngine));
            Guard.IsNotNull(navigator, nameof(navigator));
            Guard.IsNotNull(systemInfoProvider, nameof(systemInfoProvider));

            _systemInfoProvider = systemInfoProvider;
            _accountManager     = accountManager;
            _telemetry          = telemetry;
            _syncEngine         = syncEngine;
            _navigator          = navigator;

            _accountManager.SignInUpdated += OnSignInUpdated;
            _syncEngine.SyncStarted       += OnSyncStarted;
            _syncEngine.SyncCompleted     += OnSyncCompleted;

            SignInCommand         = new RelayCommand(SignIn);
            OpenUploadPageCommand = new RelayCommand(UploadClicked);
            SignOutCommand        = new AsyncRelayCommand(SignOutAsync);
            SyncCommand           = new AsyncRelayCommand(SyncAsync);
        }
Ejemplo n.º 3
0
        private bool CanRetry(ISyncEngine engine, bool reverse)
        {
            SyncErrorsCount errors = reverse ? _reverseErrors : _directErrors;
            DateTime        offset = reverse ? engine.RestoreOffset : engine.SyncOffset;

            if (errors.Offseet == offset)
            {
                errors.Count++;
            }
            else
            {
                errors.Offseet = offset;
                errors.Count   = 1;
            }
            return(errors.Count < _maxReties);
        }
Ejemplo n.º 4
0
        public AccountControlViewModel(
            IAccountManager accountManager,
            ITelemetry telemetry,
            ISyncEngine syncEngine,
            ISystemInfoProvider systemInfoProvider,
            INavigator navigator)
        {
            Guard.IsNotNull(accountManager, nameof(accountManager));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(syncEngine, nameof(syncEngine));
            Guard.IsNotNull(navigator, nameof(navigator));
            Guard.IsNotNull(systemInfoProvider, nameof(systemInfoProvider));

            _systemInfoProvider = systemInfoProvider;
            _accountManager     = accountManager;
            _telemetry          = telemetry;
            _syncEngine         = syncEngine;
            _navigator          = navigator;

            SignInCommand  = new AsyncRelayCommand(SignIn);
            SignOutCommand = new AsyncRelayCommand(SignOutAsync);
            SyncCommand    = new AsyncRelayCommand(SyncAsync);
        }