/// <summary>
        /// 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.
        /// </summary>
        /// <param name="sender">Event sender.</param>
        /// <param name="e">Event args.</param>
        private void Execute(object sender, EventArgs e)
        {
            ThreadHelper.ThrowIfNotOnUIThread();
            var explorer       = new SolutionExplorer(this.package);
            var reportFilePath = explorer.GetSelectedFilePath();

            if (Path.GetExtension(reportFilePath) == ".frx")
            {
                var dataSets = explorer.GetSolutionDataSets();
                var dialog   = new DataSetSelectorDialog(dataSets, reportFilePath);
                dialog.ShowModal();
            }
            else
            {
                VsShellUtilities.ShowMessageBox(
                    this.package,
                    "Please select a FastReport(.frx) file",
                    "Wrong file",
                    OLEMSGICON.OLEMSGICON_INFO,
                    OLEMSGBUTTON.OLEMSGBUTTON_OK,
                    OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);
            }
        }