private void UpdateWorkersInRegion(IEnumerable <AwsRegionLocations> regions) { if (updateWorkersInputBox.ShowDialog() == DialogResult.OK) { try { foreach (var region in regions) { var updateFile = string.Format("deployments/{0}", updateWorkersInputBox.Input); foreach (var instance in controlRegionDictionary[region].RegionDetails.Instances) { var result = workerCaller.UpdateWorker(instance, updateFile); InstancesInRegionListView.UIThread(() => { InstancesInRegionListView.UpdateListViewRow(instance.InstanceId, row => { row.SubItems[3].Text = result ? "Update attempted" : "Update failed"; }); }); } } } catch (Exception ex) { MessageBox.Show("There was an error: " + ex.ToString(), "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private Task RefreshWorker(InstanceInfo instance) { return(Task.Factory.StartNew(() => { workerCaller.RefreshWorkerInfo(instance); InstancesInRegionListView.UIThread(() => { InstancesInRegionListView.UpdateListViewRow(instance.InstanceId, row => { row.UpdateListViewItem(instance.WorkerInfo); }); }); })); }