Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
        private void desktop_RadioButton_CheckedChanged(object sender, EventArgs e)
        {
            CitrixWorker worker = Worker as CitrixWorker;

            if (desktop_RadioButton.Checked)
            {
                worker.RunMode = CitrixWorkerRunMode.Desktop;
            }
        }
Ejemplo n.º 4
0
        private void pubApp_RadioButton_CheckedChanged(object sender, EventArgs e)
        {
            CitrixWorker worker = Worker as CitrixWorker;

            if (pubApp_RadioButton.Checked)
            {
                worker.RunMode = CitrixWorkerRunMode.PublishedApp;
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        /// <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;
        }