private void deleteActivity_ToolStripButton_Click(object sender, EventArgs e)
        {
            // Check to see if there is anything selected
            if (!activity_GridView.SelectedRows.Any())
            {
                MessageBox.Show("No activities selected.", "Invalid Selection", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            var selectedRow = activity_GridView.SelectedRows[0];
            var selected    = selectedRow.DataBoundItem as WorkerActivityConfiguration;

            DialogResult result = MessageBox.Show
                                      ("Are you sure you want to delete {0}?".FormatWith(selected.Name),
                                      "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (result == DialogResult.Yes)
            {
                _adminWorker.VirtualResourceMetadataSet.Remove(selected.Metadata);
                _mainConfigurations.Remove(selected);

                // Set this so that the context knows to delete this object
                selected.Metadata.VirtualResourceId = Guid.Empty;

                // Reset the order number for each remaining entry
                int index = 1;
                foreach (var item in PhaseConfigurations.OrderBy(x => x.ExecutionPlan.Order))
                {
                    item.Order = index++;
                }

                RefreshGrid();
            }
        }
        private void AddActivity(VirtualResourceMetadata metadata)
        {
            metadata.VirtualResourceId = _adminWorker.VirtualResourceId;
            metadata.Enabled           = true;
            //metadata.ExecutionOrder = _officeWorker.VirtualResourceMetadataSet.Count + 1;
            _adminWorker.VirtualResourceMetadataSet.Add(metadata);

            WorkerActivityConfiguration config = new WorkerActivityConfiguration(metadata, new WorkerExecutionPlan());

            config.ExecutionPlan.Order = PhaseConfigurations.Count() > 0 ? PhaseConfigurations.Max(x => x.ExecutionPlan.Order) + 1 : 1;

            if (activity_TabControl.SelectedTab == main_TabPage)
            {
                config.ExecutionPlan.Phase = ResourceExecutionPhase.Main;
            }
            else if (activity_TabControl.SelectedTab == setup_TabPage)
            {
                config.ExecutionPlan.Phase = ResourceExecutionPhase.Setup;
            }
            else
            {
                config.ExecutionPlan.Phase = ResourceExecutionPhase.Teardown;
            }

            _mainConfigurations.Add(config);

            RefreshGrid();

            // Set the current plan to this new entry
            activity_GridView.ChildRows[PhaseConfigurations.Count() - 1].IsSelected = true;
        }
 private void reorder_ToolStripButton_Click(object sender, EventArgs e)
 {
     using (WorkerActivityOrderForm form = new WorkerActivityOrderForm())
     {
         form.Initialize(PhaseConfigurations.ToList());
         form.ShowDialog(this);
         RefreshGrid();
     }
 }
 private void ConfigureEnableAllButton()
 {
     // If they are all enabled, change the button to say "Disable All"
     if (PhaseConfigurations.All(n => n.Metadata.Enabled))
     {
         enableAll_ToolStripButton.Image = IconManager.Instance.DisableIcon;
         enableAll_ToolStripButton.Text  = "Disable All";
     }
     else
     {
         enableAll_ToolStripButton.Image = IconManager.Instance.EnableIcon;
         enableAll_ToolStripButton.Text  = "Enable All";
     }
 }