public ProjectExplorerViewModel( IWin32Window view, ApplicationSettingsRepository settingsRepository, IJobService jobService, IEventService eventService, IGlobalSessionBroker sessionBroker, IProjectModelService projectModelService, ICloudConsoleService cloudConsoleService) { this.View = view; this.settingsRepository = settingsRepository; this.jobService = jobService; this.sessionBroker = sessionBroker; this.projectModelService = projectModelService; this.cloudConsoleService = cloudConsoleService; this.RootNode = new CloudViewModelNode(this); // // Read current settings. // // NB. Do not hold on to the settings object because it might change. // this.operatingSystemsFilter = settingsRepository .GetSettings() .IncludeOperatingSystems .EnumValue; eventService.BindAsyncHandler <SessionStartedEvent>( e => UpdateInstanceAsync(e.Instance, i => i.IsConnected = true)); eventService.BindAsyncHandler <SessionEndedEvent>( e => UpdateInstanceAsync(e.Instance, i => i.IsConnected = false)); }
public UserFlyoutViewModel( IAuthorization authorization, ICloudConsoleService cloudConsole) { this.cloudConsole = cloudConsole; this.Email = authorization.Email ?? string.Empty; // // Indicate if this is a managed (i.e Cloud Identity/Workspace) // user account. // var hd = authorization.UserInfo?.HostedDomain; this.ManagedBy = (hd != null) ? $"(managed by {hd})" : string.Empty; }