private void DestroyDrTasks() { // destroy DR tasks if (DrTasks.Count > 0) { SummaryReport.AddLine(Messages.DR_WIZARD_REPORT_DR_CLEANUP); } foreach (var drTask in DrTasks.ToList()) { List <SR> srs = Pool.Connection.ResolveAll(drTask.introduced_SRs); string srNames = string.Join(", ", (from sr in srs select sr.Name()).ToArray()); DR_task task = drTask; var action = new DelegatedAsyncAction(xenConnection, string.Format(Messages.ACTION_DR_TASK_DESTROY_TITLE, srNames), Messages.ACTION_DR_TASK_DESTROY_STATUS, Messages.ACTION_DR_TASK_DESTROY_DONE, s => DR_task.destroy(s, task.opaque_ref)) { Pool = this.Pool }; new Dialogs.ActionProgressDialog(action, ProgressBarStyle.Blocks).ShowDialog(); if (action.Succeeded) { DrTasks.Remove(drTask); } SummaryReport.AddActionResult(action); } }
private void NewDrTask(string opaqueRef) { DR_task drTask = DR_task.get_record(Pool.Connection.Session, opaqueRef); drTask.opaque_ref = opaqueRef; DrTasks.Add(drTask); IntroducedSrs.AddRange(drTask.introduced_SRs); }
protected override void Run() { Description = Messages.ACTION_DR_TASK_CREATE_STATUS; // create DR_task RelatedTask = DR_task.async_create(Session, _deviceInfo.Type.ToString(), _deviceInfo.DeviceConfig, _deviceInfo.SrUuids); PollToCompletion(); Description = Messages.ACTION_DR_TASK_CREATE_DONE; }