/// <summary> /// Gets called when a backend finishes loading /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnBackendReady(object sender, ContextUpdatedEventArgs e) { var environment = IoC.Get<EnvironmentExplorerViewModel>(); // We need to update the environment object if (environment != null) { environment.OnBackendReady(sender, e); var item = environment.Items.FirstOrDefault(i => i.Title.Equals(e.Context.Name)); var idx = environment.Items.IndexOf(item); environment.Items[idx].Items.Clear(); if (item != null) { var tree = e.Context.GetStructure(); environment.Items[idx].Icon = tree.Icon; foreach (var treeItem in tree.Items) environment.Items[idx].Items.Add(treeItem); } } bool allContextsReady = true; foreach (var context in _backendContexts) { if (!context.IsReady) { allContextsReady = false; break; } } if (allContextsReady) AppContext.Resolve<IStatusManager>().SetText(""); // Cancel the spinner that shows we're loading data LongRunningOperation.Stop(); }
/// <summary> /// Gets called when a backend finishes loading /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnBackendReady(object sender, ContextUpdatedEventArgs e) { var environment = IoC.Get <EnvironmentExplorerViewModel>(); foreach (var context in _backendContexts) { if (context.Exception != null) { Execute.OnUIThread(() => { var message = context.Exception.Message; if (context.Exception.InnerException != null) { message += "\r\n\r\n" + context.Exception.InnerException.Message; } MessageBox.Show(message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); AppContext.Resolve <IStatusManager>().SetText(""); LongRunningOperation.Stop(); }); } } // We need to update the environment object if (environment != null) { environment.OnBackendReady(sender, e); var item = environment.Items.FirstOrDefault(i => i.Title.Equals(e.Context.Name)); var idx = environment.Items.IndexOf(item); environment.Items[idx].Items.Clear(); if (item != null) { var tree = e.Context.GetStructure(); environment.Items[idx].Icon = tree.Icon; foreach (var treeItem in tree.Items) { environment.Items[idx].Items.Add(treeItem); } } } bool allContextsReady = true; foreach (var context in _backendContexts) { if (!context.IsReady) { allContextsReady = false; break; } } Execute.OnUIThread(() => { if (allContextsReady) { AppContext.Resolve <IStatusManager>().SetText(""); } // Cancel the spinner that shows we're loading data LongRunningOperation.Stop(); }); }