private void BeforeQueryStatus(object sender, EventArgs e)
        {
            var menuCommand = sender as OleMenuCommand;

            if (menuCommand == null)
            {
                return;
            }

            CommandsUtil.ShowAndEnableCommand(menuCommand, false);

            var dte  = Microsoft.VisualStudio.Shell.ServiceProvider.GlobalProvider.GetService(typeof(SDTE)) as DTE;
            var proj = VisualStudioAutomationHelper.GetActiveProject(dte);

            if (!VisualStudioAutomationHelper.IsANetCoreProject(proj) && (!CommandsUtil.IsWebApiCoreInstalled(proj) || IsWebApiExplorerInstalled()))
            {
                return;
            }

            if (VisualStudioAutomationHelper.IsANetCoreProject(proj) && (!CommandsUtil.IsAspNet5MvcInstalled(proj) || IsNetCoreApiExplorerInstalled()))
            {
                return;
            }

            CommandsUtil.ShowAndEnableCommand(menuCommand, true);
        }
        private static void ShowOrHideCommandForFolder(object sender, string folderName)
        {
            // get the menu that fired the event
            var menuCommand = sender as OleMenuCommand;

            if (menuCommand == null)
            {
                return;
            }

            ShowAndEnableCommand(menuCommand, false);

            if (IsInFolder(folderName))
            {
                return;
            }

            var dte  = ServiceProvider.GlobalProvider.GetService(typeof(SDTE)) as DTE;
            var proj = VisualStudioAutomationHelper.GetActiveProject(dte);

            if (VisualStudioAutomationHelper.IsANetCoreProject(proj) && !IsAspNet5MvcInstalled(proj))
            {
                return;
            }

            ShowAndEnableCommand(menuCommand, true);
        }
        private void RemoveReverseEngineeringCommandOnBeforeQueryStatus(object sender, EventArgs e)
        {
            var menuCommand = sender as OleMenuCommand;

            if (menuCommand == null)
            {
                return;
            }

            ShowAndEnableCommand(menuCommand, false);

            var dte  = ServiceProvider.GlobalProvider.GetService(typeof(SDTE)) as DTE;
            var proj = VisualStudioAutomationHelper.GetActiveProject(dte);

            if (VisualStudioAutomationHelper.IsANetCoreProject(proj) && !IsNetCoreApiExplorerInstalled())
            {
                return;
            }

            if (!VisualStudioAutomationHelper.IsANetCoreProject(proj) && !IsWebApiExplorerInstalled())
            {
                return;
            }

            ShowAndEnableCommand(menuCommand, true);
        }
        private void ExtractRAMLCommandOnBeforeQueryStatus(object sender, EventArgs e)
        {
            var menuCommand = sender as OleMenuCommand;

            if (menuCommand == null)
            {
                return;
            }

            ShowAndEnableCommand(menuCommand, false);

            var dte  = ServiceProvider.GlobalProvider.GetService(typeof(SDTE)) as DTE;
            var proj = VisualStudioAutomationHelper.GetActiveProject(dte);

            if (!VisualStudioAutomationHelper.IsANetCoreProject(proj) && !IsWebApiCoreInstalled(proj))
            {
                return;
            }

            if (VisualStudioAutomationHelper.IsANetCoreProject(proj) && !IsAspNet5MvcInstalled(proj))
            {
                return;
            }

            ShowAndEnableCommand(menuCommand, true);
        }
Ejemplo n.º 5
0
        private static bool IsAspNet5OrWebApiCoreInstalled()
        {
            var proj = VisualStudioAutomationHelper.GetActiveProject(_dte);

            if (VisualStudioAutomationHelper.IsANetCoreProject(proj))
            {
                return(CommandsUtil.IsAspNet5MvcInstalled(proj));
            }

            return(CommandsUtil.IsWebApiCoreInstalled(proj));
        }
        private static bool IsAspNet5OrWebApiCoreInstalled()
        {
            var dte  = Microsoft.VisualStudio.Shell.ServiceProvider.GlobalProvider.GetService(typeof(SDTE)) as DTE;
            var proj = VisualStudioAutomationHelper.GetActiveProject(dte);

            if (VisualStudioAutomationHelper.IsANetCoreProject(proj))
            {
                return(CommandsUtil.IsAspNet5MvcInstalled(proj));
            }

            return(CommandsUtil.IsWebApiCoreInstalled(proj));
        }
        public static ReverseEngineeringServiceBase GetReverseEngineeringService(ServiceProvider serviceProvider)
        {
            var dte  = serviceProvider.GetService(typeof(SDTE)) as DTE;
            var proj = VisualStudioAutomationHelper.GetActiveProject(dte);
            ReverseEngineeringServiceBase service;

            if (VisualStudioAutomationHelper.IsANetCoreProject(proj))
            {
                service = new ReverseEngineeringAspNetCore(serviceProvider);
            }
            else
            {
                service = new ReverseEngineeringServiceWebApi(serviceProvider);
            }
            return(service);
        }
        public static RamlScaffoldServiceBase GetRamlScaffoldService(ServiceProvider serviceProvider)
        {
            var dte  = serviceProvider.GetService(typeof(SDTE)) as DTE;
            var proj = VisualStudioAutomationHelper.GetActiveProject(dte);
            RamlScaffoldServiceBase service;

            if (VisualStudioAutomationHelper.IsANetCoreProject(proj))
            {
                service = new RamlScaffoldServiceAspNetCore(new T4Service(serviceProvider), serviceProvider);
            }
            else
            {
                service = new RamlScaffoldServiceWebApi(new T4Service(serviceProvider), serviceProvider);
            }
            return(service);
        }
        public static RamlReferenceServiceBase GetRamlReferenceService(ServiceProvider serviceProvider, ILogger logger)
        {
            var dte  = serviceProvider.GetService(typeof(SDTE)) as DTE;
            var proj = VisualStudioAutomationHelper.GetActiveProject(dte);
            RamlReferenceServiceBase service;

            if (VisualStudioAutomationHelper.IsANetCoreProject(proj))
            {
                service = new RamlReferenceServiceNetCore(serviceProvider, logger);
            }
            else
            {
                service = new RamlReferenceServiceNetFramework(serviceProvider, logger);
            }
            return(service);
        }
        public static UnitTestsScaffoldServiceBase GetScaffoldService(Microsoft.VisualStudio.Shell.ServiceProvider serviceProvider)
        {
            Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
            var dte  = serviceProvider.GetService(typeof(SDTE)) as DTE;
            var proj = VisualStudioAutomationHelper.GetActiveProject(dte);
            UnitTestsScaffoldServiceBase service;

            if (VisualStudioAutomationHelper.IsANetCoreProject(proj))
            {
                service = new UnitTestsScaffoldServiceAspNetCore(new T4Service(serviceProvider), serviceProvider);
            }
            else
            {
                service = new UnitTestsScaffoldServiceAspNetWebApi(new T4Service(serviceProvider), serviceProvider);
            }
            return(service);
        }