public AppViewModel(IEventAggregator events, IBusyViewModel busyIndicator, IMainViewModel mainView)
 {
     if (events == null) throw new ArgumentNullException(nameof(events));
     if (busyIndicator == null) throw new ArgumentNullException(nameof(busyIndicator));
     if (mainView == null) throw new ArgumentNullException(nameof(mainView));
     events.Subscribe(this);
     BusyIndicator = busyIndicator;
     MainView = mainView;
     // ReSharper disable once DoNotCallOverridableMethodsInConstructor
     DisplayName = "hello.busyindicator";
 }
Esempio n. 2
0
        public static async Task SetIsBusy(this Task task, IBusyViewModel viewModel)
        {
            if (task == null || viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            viewModel.IsBusy = true;

            try
            {
                await task;
            }
            finally
            {
                viewModel.IsBusy = false;
            }
        }
Esempio n. 3
0
    public async Task DoLoginAsync(
        IBusyViewModel busyViewModel,
        string email,
        string pass)
    {
        var result = await taskHelperFactory.
                     CreateInternetAccessViewModelInstance(loggingService, busyViewModel).
                     TryExecuteAsync(
            () => authApi.SignIn(new Models.Requests.ShopkeeperSignInRequest()
        {
            Email    = email,
            Password = pass,
        }));

        if (result)
        {
            await LogInSuccessful(ShopkeeperSignInResponse.Parse(result.Value));
        }
    }
Esempio n. 4
0
        public static async Task <T> SetIsBusy <T>(this Task <T> task, IBusyViewModel viewModel)
        {
            if (task == null || viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            viewModel.IsBusy = true;

            try
            {
                T result = await task;
                return(result);
            }
            finally
            {
                viewModel.IsBusy = false;
            }
        }
Esempio n. 5
0
    public async Task RegisterCommandAsync(IBusyViewModel viewModel, Shopkeeper newShopkeeper)
    {
        var result = await taskHelperFactory.
                     CreateInternetAccessViewModelInstance(loggingService, viewModel).
                     TryExecuteAsync(
            () => authApi.SignUp(new Models.Requests.ShopkeeperSignUpRequest()
        {
            Email    = newShopkeeper.Email,
            Password = newShopkeeper.Password,
            ////Name = newShopkeeper.Name,
        }));

        if (result)
        {
            await RegisterSuccessesful(new Shopkeeper()
            {
                Id    = result.Value.Id,
                Email = result.Value.Email,
                Name  = result.Value.Name,
                Token = result.Value.Token,
            });
        }
    }
Esempio n. 6
0
 public ITaskHelper CreateInternetAccessViewModelInstance(ILoggingService logger, IBusyViewModel busyViewModel)
 {
     return(CreateInternetAccessViewModelInstance(logger)
            .WhenStarting(() => MainThread.BeginInvokeOnMainThread(() => busyViewModel.IsBusy = true))
            .WhenFinished(() => MainThread.BeginInvokeOnMainThread(() => busyViewModel.IsBusy = false)));
 }
Esempio n. 7
0
 public SupportBusyViewModel(IDispatcherSchedulerProvider scheduler)
 {
     BusyViewModel = new BusyViewModel(scheduler);
 }