/// <summary> /// Raises the server tool bar item activated event. /// </summary> /// <param name="sender">Sender.</param> /// <param name="e">E.</param> void OnServerToolBarItem_Activated(object sender, EventArgs e) { if (_serverState == ServerState.Connected) { _serverState = ServerState.Disconnected; _isLoggedIn = false; if (_rootNode != null) { _rootNode.OnCacheRefresh -= OnCacheRefresh; } _rootNode = null; _managementDto = null; ServerToolBarItem.Image = NSImage.ImageNamed(Constants.ConnectIcon); ServerToolBarItem.Label = Constants.ConnectLabel; _serverDto = null; RefreshToolBarItem.Active = false; for (int index = 0; index < this.ContainerView.Subviews.Length; index++) { this.ContainerView.Subviews[index].RemoveFromSuperview(); } LoggedInLabel.StringValue = (NSString)string.Empty; } else { ConnectToServer(); } }
/// <summary> /// Sets the infrastructure details view. /// </summary> /// <param name="item">Item.</param> private void SetInfrastructureDetailsView(string nodeName, string siteName, GlobalTopologyNode rootNode) { var infraController = new InfrastructureController(nodeName, rootNode) { SiteName = siteName }; controller.DetailViewController = infraController; controller.RefreshDetailView(); }
/// <summary> /// Initialize this instance. /// </summary> private async void Refresh(bool topologyRefresh) { InvokeOnMainThread(PreRefresh); var success = true; try { if (_rootNode == null) { _rootNode = new GlobalTopologyNode(_service, _serverDto, _managementDto); _rootNode.OnCacheRefresh += OnCacheRefresh; } else { _rootNode.RefreshTopology(topologyRefresh); InvokeOnMainThread(_rootNode.UpdateNodes); } } catch (AggregateException exc) { InvokeOnMainThread(() => { controller.SetRefreshStatus(false); ServerToolBarItem.Enabled = true; RefreshToolBarItem.Enabled = true; success = false; if (exc.InnerExceptions.Count > 0) { var msg = exc.InnerExceptions.Select(x => x.Message).Aggregate((x, y) => x + " , " + y); var message = string.Format(Constants.VMDirConnectFailure, msg); UIErrorHelper.ShowAlert(message, Constants.FailedLoadingTopologyDetails); } }); } catch (Exception exc) { InvokeOnMainThread(() => { controller.SetRefreshStatus(false); ServerToolBarItem.Enabled = true; RefreshToolBarItem.Enabled = true; success = false; UIErrorHelper.ShowAlert(exc.Message, Constants.FailedLoadingTopologyDetails); }); } if (success) { InvokeOnMainThread(PostRefresh); } }
/// <summary> /// Sets the monitor view. /// </summary> private void SetMonitorView(string nodeName, string siteName, GlobalTopologyNode rootNode) { var serverDto = new ServerDto { Server = nodeName, Upn = _serverDto.Upn, UserName = _serverDto.UserName, Password = _serverDto.Password, DomainName = _serverDto.DomainName }; var monitorController = new MonitorController(_service) { ServerDto = serverDto, RootNode = rootNode, SiteName = siteName }; controller.DetailViewController = monitorController; controller.RefreshDetailView(); }
// Call to load from the XIB/NIB file public InfrastructureController(string nodeName, GlobalTopologyNode rootNode) : base("Infrastructure", NSBundle.MainBundle) { _rootNode = rootNode; _nodeName = nodeName; }