Esempio n. 1
0
            protected override void ExecuteCore(SelectedItemCollection selection)
            {
                // remove single VM from group
                if (selection.Count == 1)
                {
                    XenRef <VM> vmRefInGroup = VMGroup <T> .GroupToVMs(_group).FirstOrDefault(vmRef => vmRef.opaque_ref == selection[0].XenObject.opaque_ref);

                    if (vmRefInGroup != null)
                    {
                        var vmRefs = new List <XenRef <VM> > {
                            vmRefInGroup
                        };
                        VMGroup <T> .RemoveVMsFromGroupAction(_group, vmRefs).RunAsync();

                        return;
                    }
                }

                if (!ChangesOK(selection.AsXenObjects <VM>(), _group, _group.Name))
                {
                    return;
                }

                var selectedRefVMs = selection.AsXenObjects().ConvertAll <XenRef <VM> >(converterVMRefs);

                selectedRefVMs.AddRange(VMGroup <T> .GroupToVMs(_group));
                VMGroup <T> .AssignVMsToGroupAction(_group, selectedRefVMs).RunAsync();
            }
Esempio n. 2
0
        private void RefreshTab(T group)
        {
            ColumnQuiesceSupported.Visible = VMGroup <T> .isQuescingSupported;
            _group = group;
            if (Pool != null)
            {
                dataGridView1.Rows.Clear();
                foreach (var vm in Pool.Connection.Cache.VMs)
                {
                    int index = 0;
                    if (vm.is_a_real_vm() && vm.Show(Properties.Settings.Default.ShowHiddenVMs))
                    {
                        bool selected = group != null && VMGroup <T> .GroupToVMs(group).Contains(new XenRef <VM>(vm.opaque_ref));

                        index = dataGridView1.Rows.Add(new VMDataGridViewRow(selected, vm));

                        if (SelectedVMs.Contains(vm))
                        {
                            dataGridView1.Rows[index].Cells[0].Value = true;
                        }
                        else if (selected && !SelectedVMs.Contains(vm))
                        {
                            SelectedVMs.Add(vm);
                        }
                    }
                }

                dataGridView1.Sort(ColumnCheckBox, ListSortDirection.Ascending);
                dataGridView1.AutoResizeColumns();
            }
            UpdateCounterLabelAndButtons();
        }