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"; }
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; } }
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)); } }
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; } }
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, }); } }
public ITaskHelper CreateInternetAccessViewModelInstance(ILoggingService logger, IBusyViewModel busyViewModel) { return(CreateInternetAccessViewModelInstance(logger) .WhenStarting(() => MainThread.BeginInvokeOnMainThread(() => busyViewModel.IsBusy = true)) .WhenFinished(() => MainThread.BeginInvokeOnMainThread(() => busyViewModel.IsBusy = false))); }
public SupportBusyViewModel(IDispatcherSchedulerProvider scheduler) { BusyViewModel = new BusyViewModel(scheduler); }