Exemplo n.º 1
0
        /// <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();
        }