/// <summary> /// used for generate resource report /// </summary> /// <param name="connection"></param> /// <param name="filename"></param> public ExportResourceReportAction(IXenConnection connection, string filename, int fileType) : base(connection, string.Format(Messages.ACTION_EXPORT_POOL_RESOURCE_LIST_FROM_X, Helpers.GetName(connection)), Messages.ACTION_EXPORT_DESCRIPTION_PREPARING) { Pool = Helpers.GetPool(connection); _filename = filename; _fileType = fileType; MetricUpdater = new MetricUpdater(); MetricUpdater.SetXenObjects(connection.Cache.Hosts); MetricUpdater.SetXenObjects(connection.Cache.VMs); MetricUpdater.UpdateMetricsOnce(); itemCount = connection.Cache.Hosts.Length + connection.Cache.Networks.Length + connection.Cache.SRs.Length + connection.Cache.VMs.Length; }
private void listUpdateManager_Update(object sender, EventArgs e) { GridRow root = new GridRow(-1); RowGroupAcceptor acceptor = new RowGroupAcceptor(root); CollectionAcceptor ca = new CollectionAcceptor(); bool addedAny = search.PopulateAdapters(acceptor, ca); Program.Invoke(Program.MainWindow, delegate { SaveRowStates(); Clear(); if (!addedAny) { AddNoResultsRow(); } foreach (GridRow row in root.Rows) { AddRow(row); } MetricUpdater.SetXenObjects(ca.XenObjects.ToArray()); RestoreRowStates(); Refresh(); }); }