private async void OnDoneButtonClickedAsync(object sender, EventArgs e) { IsServiceActive = true; try { if (AppViewModel.ServicesViewModel.UpgradableAppTiers.Any()) { await UpgradeAsync(); await AppViewModel .ServicesViewModel .SetAppUpgradingAsync(false); } else { foreach (var version in AppViewModel.DeploymentViewModel .DotnetVersions) { if (version.Name == SoftwareVersion.SelectedItem as string) { _selVersion = version; break; } } if (AppViewModel .DeploymentViewModel .Deployments.Any()) { await UpdateAsync(); } else { await InstallAsync(); } } await AppViewModel.QueryStatusAsync(); AppView appView = await MainView.GetAppViewAsync(AppViewModel); if (appView != null) { appView.UpdateStatus(); } await MainView.UnstackViewAsync(); } catch (Exception ex) { await ErrorHandler.ExceptionAsync(this, ex); } IsServiceActive = false; }
public async Task <ResultMultiple <SoftwareFramework.Version> > QuerySoftwareFrameworkVersionsAsync( bool doCache = true, bool throwIfError = true) { SoftwareFramework frameworkSeed = new SoftwareFramework(); frameworkSeed.Tag = "aspdotnetcore"; SoftwareFramework.Version versionSeed = new SoftwareFramework.Version(); versionSeed.OwnedBy = frameworkSeed; ResultMultiple <SoftwareFramework.Version> result = await ResultMultipleUI <SoftwareFramework.Version> .WaitForObjectsAsync( true, versionSeed, new CachedHttpRequest <SoftwareFramework.Version, ResultMultiple <SoftwareFramework.Version> >( Backend.QueryAsyncListAsync), true); if (result.Code >= 0) { _dotnetVersions = result.Data.Payload; } return(result); }