Exemple #1
0
        private void lbTasks_SelectedIndexChanged(object sender, EventArgs e)
        {
            stepsTree1.stepTree.Visible = false;

            var selectedTaskItem = (ShedulerTask)lbTasks.SelectedItem;

            if (selectedTaskItem == null)
            {
                this.stepsTree1.ClearTree();
                return;
            }

            DateTime actualDateTime = Constants.DEFAULT_DATE_TIME;

            if (selectedTaskItem.NextStartTime > Constants.DEFAULT_DATE_TIME)
            {
                actualDateTime = selectedTaskItem.NextStartTime;
            }
            else if (selectedTaskItem.LastStartTime.HasValue && selectedTaskItem.LastStartTime.Value > Constants.DEFAULT_DATE_TIME)
            {
                actualDateTime = selectedTaskItem.LastStartTime.Value;
            }
            else if (selectedTaskItem.StartTime > Constants.DEFAULT_DATE_TIME)
            {
                actualDateTime = selectedTaskItem.StartTime;
            }

            this.edTaskName.Text            = selectedTaskItem.Name;
            this.cmbTaskModes.SelectedIndex = selectedTaskItem.Mode;
            this.pckrStartDateTime.Value    = actualDateTime.Add(_utcOffset);
            this.chbEnable.Checked          = selectedTaskItem.Enabled ?? false;

            // Заполнение списка компьютеров
            DataGridViewRow[] rows = rgvComputersForSheduler.dataGridView.Rows.OfType <DataGridViewRow>().ToArray();
            foreach (DataGridViewRow row in rows)
            {
                row.Cells["Selected"].Value = false;
            }
            foreach (DataGridViewRow row in rows)
            {
                foreach (var currentComputer in selectedTaskItem.ShedulerTasksComputersLists)
                {
                    if (currentComputer.ComputerId == Convert.ToInt32(row.Cells["ComputerId"].Value))
                    {
                        row.Cells["Selected"].Value = true;
                        continue;
                    }
                }
            }

            this.stepsTree1.ClearTree();

            var currentTaskSteps = MQueryCommand.GetAllStepsParentChild(selectedTaskItem.Id).OrderBy(x => x.ParentId).ToList();

            stepsTree1.PopulateA(currentTaskSteps);
            this.stepsTree1.ExpandAll();

            stepsTree1.stepTree.Visible = true;
        }