/// <summary> /// Deletes the requested management pack if possible. /// The user is prompted to confirm the action. /// </summary> /// <param name="sender">GridView Data being acted upon</param> /// <param name="e">Event Arguments</param> private void OnDelete(object sender, CommandEventArgs e) { ManagementPack gridSelectedItem = (GridSelectedItem as GitHubPackDetail).InstalledManagementPack; ICollection <ManagementPack> dependentManagementPacks = SDKHelper.GetDependentManagementPacks(this, gridSelectedItem); if (dependentManagementPacks == null) { return; } if (dependentManagementPacks.Count > 0) { (new MPDeleteStatusDialog(dependentManagementPacks)).ShowDialog(this); return; } if (!UninstallConfirmed(gridSelectedItem)) { return; } StartProgressForm(); if (!SDKHelper.UnInstallManagementPack(this, ManagementGroup, gridSelectedItem).JobSucceeded) { MessageBoxOptions messageBoxOption = (MessageBoxOptions)0; if (RightToLeft == RightToLeft.Yes) { messageBoxOption = MessageBoxOptions.RightAlign | MessageBoxOptions.RtlReading; } IApplicationInfo service = (IApplicationInfo)GetService(typeof(IApplicationInfo)); MessageBox.Show(this, "The MP Delete Failed", service.ProductTitle, MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1, messageBoxOption); } ConsoleJobs.RunJob(this, (object sender2, ConsoleJobEventArgs e2) => UpdateCache(), new object[0]); EndProgressForm(); }