public void Execute(IDataContext context, DelegateExecute nextExecute)
        {
            ISolution solution = context.GetData <ISolution>(JetBrains.ProjectModel.DataContext.DataConstants.SOLUTION);

            if (solution == null)
            {
                return;
            }

            var model  = new PackageSelectorViewModel();
            var window = new Window
            {
                Title   = "Select Package",
                Content = new PackageSelector(model),
                Width   = 520,
                Height  = 520,
                WindowStartupLocation = WindowStartupLocation.CenterScreen,
                ResizeMode            = ResizeMode.NoResize
            };

            model.CancelCommand = new SimpleCommand(window.Close);
            model.OpenCommand   = new SimpleCommand(() =>
            {
                window.Close();

                if (model.SelectedPackage != null)
                {
                    var packagesToOpen = GetPackagesToOpen(PackageRepositoryFactory.Default.CreateRepository(model.PackageSource.ToString()), model.SelectedPackage.Id, model.SelectedPackage.Version, model.LoadDependencies);
                    OpenPackageFilesInCurrentSolution(context, packagesToOpen);
                }
            });
            window.ShowDialog();
        }
        public PackageSelector(PackageSelectorViewModel model)
        {
            InitializeComponent();

            DataContext = model;
        }