public override void FinalizeEdit() { base.FinalizeEdit(); CitrixWorker worker = Worker as CitrixWorker; if (citrixServer_ComboBox.SelectedServer != null) { worker.ServerHostname = citrixServer_ComboBox.SelectedServer; } if (pubApp_CheckBox.Checked) { worker.PublishedApp = pubApp_ComboBox.Text; } else { worker.PublishedApp = string.Empty; } if (worker.RunMode == CitrixWorkerRunMode.None) { RemoveCitrixWorkerActivities(); } }
private void UpdateControls() { pubApp_ComboBox.Visible = pubApp_CheckBox.Checked; app_Label.Visible = pubApp_CheckBox.Checked; workerQuantity_GroupBox.Visible = citrixWorker_CheckBox.Checked; workflow_GroupBox.Visible = citrixWorker_CheckBox.Checked; executionOrder_GroupBox.Visible = citrixWorker_CheckBox.Checked; startup_TimeDelayControl.Visible = citrixWorker_CheckBox.Checked; EnableWorkerValidation(citrixWorker_CheckBox.Checked); if (!citrixWorker_CheckBox.Checked && configuration_TabControl.TabPages.Contains(workerActivities_TabPage)) { configuration_TabControl.TabPages.Remove(workerActivities_TabPage); } else if (citrixWorker_CheckBox.Checked && !configuration_TabControl.TabPages.Contains(workerActivities_TabPage)) { configuration_TabControl.TabPages.Add(workerActivities_TabPage); } CitrixWorker worker = Worker as CitrixWorker; if (!citrixWorker_CheckBox.Checked) { worker.RunMode = CitrixWorkerRunMode.None; } else { if (pubApp_RadioButton.Checked) { worker.RunMode = CitrixWorkerRunMode.PublishedApp; } else { worker.RunMode = CitrixWorkerRunMode.Desktop; } } var hostName = citrixServer_ComboBox.SelectedServer; var server = _citrixServers.First(x => x.HostName.Equals(hostName)); int version = 0; if (!string.IsNullOrEmpty(server.ServiceVersion)) { version = Convert.ToInt32(new string(server.ServiceVersion.Where(Char.IsDigit).ToArray())); } if (version < 75 || !GlobalSettings.Items.ContainsKey("{0}-CitrixWorkerDesktop".FormatWith(server.HostName))) { // Disable the XenDesktop option for running an office worker. desktop_RadioButton.Enabled = false; pubApp_RadioButton.Checked = true; } else { desktop_RadioButton.Enabled = true; } }
private void desktop_RadioButton_CheckedChanged(object sender, EventArgs e) { CitrixWorker worker = Worker as CitrixWorker; if (desktop_RadioButton.Checked) { worker.RunMode = CitrixWorkerRunMode.Desktop; } }
private void pubApp_RadioButton_CheckedChanged(object sender, EventArgs e) { CitrixWorker worker = Worker as CitrixWorker; if (pubApp_RadioButton.Checked) { worker.RunMode = CitrixWorkerRunMode.PublishedApp; } }
public override OfficeWorkerDetail CreateDetail(VirtualResource resource) { CitrixWorker worker = resource as CitrixWorker; CitrixWorkerDetail detail = new CitrixWorkerDetail(); CreateBaseWorkerDetail(worker, detail); detail.PublishedApp = worker.PublishedApp; detail.WorkerRunMode = worker.RunMode; detail.ServerHostname = worker.ServerHostname; CreateMetadataDetail(resource, detail); return(detail); }
/// <summary> /// Sets up any child controls. /// </summary> /// <param name="officeWorker">The office worker.</param> protected override void SetupChildControls(OfficeWorker officeWorker) { if (officeWorker == null) { throw new ArgumentNullException("officeWorker"); } CitrixWorker worker = officeWorker as CitrixWorker; citrixServer_ComboBox.Visible = citrixServer_Label.Visible = true; appOptions_GroupBox.Visible = true; workersPerVM_Label.Visible = workersPerVM_UpDown.Visible = false; if (worker.RunMode != CitrixWorkerRunMode.None) { citrixWorker_CheckBox.Checked = true; pubApp_RadioButton.Checked = (worker.RunMode == CitrixWorkerRunMode.PublishedApp); desktop_RadioButton.Checked = (worker.RunMode == CitrixWorkerRunMode.Desktop); } else { pubApp_RadioButton.Checked = true; pubApp_RadioButton.Enabled = false; desktop_RadioButton.Enabled = false; } pubApp_CheckBox.Checked = !string.IsNullOrEmpty(worker.PublishedApp); citrixWorker_CheckBox.CheckedChanged += runWorkerOrApp_CheckedChanged; pubApp_CheckBox.CheckedChanged += runWorkerOrApp_CheckedChanged; desktop_RadioButton.CheckedChanged += desktop_RadioButton_CheckedChanged; pubApp_RadioButton.CheckedChanged += pubApp_RadioButton_CheckedChanged; pubApp_ComboBox.Text = worker.PublishedApp; using (AssetInventoryContext context = DbConnect.AssetInventoryContext()) { string serverType = ServerType.Citrix.ToString(); var servers = context.FrameworkServers.Where(n => n.ServerTypes.Any(m => m.Name == serverType) && n.Active).OrderBy(n => n.HostName); _citrixServers = new Collection <FrameworkServer>(servers.ToList()); if (_citrixServers.Any()) { citrixServer_ComboBox.AddServers(servers); var hostName = worker.ServerHostname; if (!_citrixServers.Any(x => x.HostName.Equals(hostName))) { hostName = _citrixServers.First().HostName; } citrixServer_ComboBox.SetSelectedServer(hostName); var appNames = SelectApplicationNames(context, hostName); pubApp_ComboBox.DataSource = appNames; if (appNames.Contains <string>(worker.PublishedApp)) { pubApp_ComboBox.SelectedItem = worker.PublishedApp; } } } UpdateControls(); citrixServer_ComboBox.SelectedIndexChanged += citrixServer_ComboBox_SelectedIndexChanged; }