SDL.TridionVSRazorExtension.Command.ItemContextDeleteCommand.MenuItemCallback C# (CSharp) Method

MenuItemCallback() private method

This function is the callback used to execute the command when the menu item is clicked. See the constructor to see how the menu item is associated with this function using OleMenuCommandService service and MenuCommand class.
private MenuItemCallback ( object sender, EventArgs e ) : void
sender object Event sender.
e System.EventArgs Event args.
return void
        private void MenuItemCallback(object sender, EventArgs e)
        {
            TridionVSRazorExtensionPackage package = ((TridionVSRazorExtensionPackage)this.ServiceProvider);
            package.InitApplication();

            DTE applicationObject = package.ApplicationObject;
            Solution solution = package.Solution;
            Project project = package.Project;

            if (solution != null && project != null && applicationObject.SelectedItems != null)
            {
                foreach (SelectedItem item in applicationObject.SelectedItems)
                {
                    if (!item.Name.EndsWith(".cshtml") && !item.Name.IsAllowedMimeType())
                    {
                        MessageBox.Show("Item '" + item.ProjectItem.FileNames[0] + "' is not supported.", "Wrong Operation", MessageBoxButton.OK, MessageBoxImage.Information);
                        return;
                    }
                }

                var files = applicationObject.SelectedItems.Cast<SelectedItem>().Where(item => item.Name.EndsWith(".cshtml") || item.Name.IsAllowedMimeType()).Select(item => item.ProjectItem.FileNames[0]);
                MainService.DeleteFiles(files.ToArray(), project);
            }
        }