/// <summary> /// Populate optimize pool listview properly /// </summary> /// <param name="recommendations">optimize pool recommendations</param> private void PopulateData(Dictionary <XenRef <VM>, string[]> recommendations) { Program.AssertOnEventThread(); optimizePoolListView.BeginUpdate(); try { if (_vmOptList != null) { _vmOptList.Clear(); } optimizePoolListView.Items.Clear(); List <ListViewItem> newItems = new List <ListViewItem>(); WlbOptimizationRecommendationCollection sortedRecommendations = new WlbOptimizationRecommendationCollection(_pool, recommendations); // WLB: recommendation return string format ["WLB"; vm/vm dom0; optId; recID; reason] foreach (WlbOptimizationRecommendation optVmSetting in sortedRecommendations) { _optId = optVmSetting.optId.ToString(); _vmOptList.Add(optVmSetting.vm, optVmSetting); ListViewItem row = new ListViewItem(); row.Tag = optVmSetting; newItems.Add(row); row.SubItems.Add(new ListViewItem.ListViewSubItem()); row.SubItems.Add(new ListViewItem.ListViewSubItem()); row.SubItems.Add(new ListViewItem.ListViewSubItem()); row.SubItems.Add(new ListViewItem.ListViewSubItem()); // Power on/off hosts if (optVmSetting.toHost == null) { row.ImageIndex = (int)Images.GetIconFor(optVmSetting.toHost != null ? optVmSetting.toHost : optVmSetting.fromHost); row.SubItems[1].Text = Helpers.GetName(optVmSetting.toHost != null ? optVmSetting.toHost : optVmSetting.fromHost); row.SubItems[2].Text = optVmSetting.powerOperation; } else // VMs { row.ImageIndex = (int)Images.GetIconFor(optVmSetting.vm); row.SubItems[1].Text = Helpers.GetName(optVmSetting.vm); row.SubItems[2].Text = String.Format(Messages.WLB_OPT_OPERATION_VM, Helpers.GetName(optVmSetting.fromHost), Helpers.GetName(optVmSetting.toHost)); } row.SubItems[3].Text = optVmSetting.reason; } optimizePoolListView.Items.AddRange(newItems.ToArray()); } finally { optimizePoolListView.EndUpdate(); } }
/// <summary> /// Populate optimize pool listview properly /// </summary> /// <param name="recommendations">optimize pool recommendations</param> private void PopulateData(Dictionary<XenRef<VM>, string[]> recommendations) { Program.AssertOnEventThread(); optimizePoolListView.BeginUpdate(); try { if (_vmOptList != null) _vmOptList.Clear(); optimizePoolListView.Items.Clear(); List<ListViewItem> newItems = new List<ListViewItem>(); WlbOptimizationRecommendationCollection sortedRecommendations = new WlbOptimizationRecommendationCollection(_pool, recommendations); // WLB: recommendation return string format ["WLB"; vm/vm dom0; optId; recID; reason] foreach (WlbOptimizationRecommendation optVmSetting in sortedRecommendations) { _optId = optVmSetting.optId.ToString(); _vmOptList.Add(optVmSetting.vm, optVmSetting); ListViewItem row = new ListViewItem(); row.Tag = optVmSetting; newItems.Add(row); row.SubItems.Add(new ListViewItem.ListViewSubItem()); row.SubItems.Add(new ListViewItem.ListViewSubItem()); row.SubItems.Add(new ListViewItem.ListViewSubItem()); row.SubItems.Add(new ListViewItem.ListViewSubItem()); // Power on/off hosts if (optVmSetting.toHost == null) { row.ImageIndex = (int)Images.GetIconFor(optVmSetting.toHost != null ? optVmSetting.toHost : optVmSetting.fromHost); row.SubItems[1].Text = Helpers.GetName(optVmSetting.toHost != null ? optVmSetting.toHost : optVmSetting.fromHost); row.SubItems[2].Text = optVmSetting.powerOperation; } else // VMs { row.ImageIndex = (int)Images.GetIconFor(optVmSetting.vm); row.SubItems[1].Text = Helpers.GetName(optVmSetting.vm); row.SubItems[2].Text = String.Format(Messages.WLB_OPT_OPERATION_VM, Helpers.GetName(optVmSetting.fromHost), Helpers.GetName(optVmSetting.toHost)); } row.SubItems[3].Text = optVmSetting.reason; } optimizePoolListView.Items.AddRange(newItems.ToArray()); } finally { optimizePoolListView.EndUpdate(); } }