public string GenerateDefaultDataContextTypeName()
        {
            Project         activeProject          = base.ActiveProject;
            string          defaultModelsNamespace = MvcProjectUtil.GetDefaultModelsNamespace(ProjectExtensions.GetDefaultNamespace(activeProject));
            CodeDomProvider codeDomProvider        = ValidationUtil.GenerateCodeDomProvider(ProjectExtensions.GetCodeLanguage(activeProject));
            string          str = codeDomProvider.CreateValidIdentifier(ProjectExtensions.GetDefaultNamespace(activeProject).Replace(".", string.Empty));

            this.DataContextName = string.Concat(defaultModelsNamespace, ".", str, MvcProjectUtil.DataContextSuffix);
            return(this.DataContextName);
        }
Ejemplo n.º 2
0
        private void GenerateT4File(string templateName, string outputFileName, string path)
        {
            IDictionary <string, object> strs = new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase)
            {
                { "Namespace", ProjectExtensions.GetDefaultNamespace(this.Context.ActiveProject) }
            };

            foreach (KeyValuePair <string, string> appStartFileName in this.AppStartFileNames)
            {
                strs.Add(appStartFileName.Key, appStartFileName.Value);
            }
            string codeFileExtension = ProjectExtensions.GetCodeLanguage(this.Context.ActiveProject).CodeFileExtension;
            string str = Path.Combine(path, outputFileName);
            string textTemplatePath = this.FilesLocatorService.GetTextTemplatePath(templateName, this.SearchFolders, codeFileExtension);

            this.ActionsService.AddFileFromTemplate(this.Context.ActiveProject, str, textTemplatePath, strs, true);
        }
        public static bool IsBundleConfigPresent(CodeGenerationContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }
            Project activeProject    = context.ActiveProject;
            string  defaultNamespace = ProjectExtensions.GetDefaultNamespace(activeProject);

            if (context.ServiceProvider.GetService <ICodeTypeService>().GetCodeType(activeProject, string.Concat(defaultNamespace, ".BundleConfig")) != null)
            {
                return(true);
            }
            string str = string.Concat("BundleConfig.", ProjectExtensions.GetCodeLanguage(activeProject).CodeFileExtension);

            return(File.Exists(Path.Combine(ProjectExtensions.GetFullPath(activeProject), "App_Start", str)));
        }
Ejemplo n.º 4
0
        protected internal override void Scaffold()
        {
            string  areaName      = base.Model.AreaName;
            Project activeProject = base.Context.ActiveProject;

            string[] strArrays = new string[] { "Areas" };
            base.AddFolder(activeProject, Path.Combine(strArrays));
            ProjectItem projectItem = base.AddFolder(base.Context.ActiveProject, Path.Combine("Areas", areaName));

            base.AddFolder(base.Context.ActiveProject, Path.Combine("Areas", areaName, "Models"));
            base.AddFolder(base.Context.ActiveProject, Path.Combine("Areas", areaName, "Controllers"));
            base.AddFolder(base.Context.ActiveProject, Path.Combine("Areas", areaName, "Views"));
            base.AddFolder(base.Context.ActiveProject, Path.Combine("Areas", areaName, "Views", "Shared"));
            string str = string.Concat(base.Model.AreaName, MvcProjectUtil.AreaRegistration);
            string defaultNamespace = ProjectExtensions.GetDefaultNamespace(projectItem);
            string str1             = Path.Combine(base.Model.AreaRelativePath, string.Concat(areaName, MvcProjectUtil.AreaRegistration));

            this.GenerateAreaRegistrationCode(areaName, str, defaultNamespace, str1);
            this.CreateWebConfigFile(base.Model.AreaRelativePath);
        }
        public static IDictionary <string, object> GetTemplateParametersForWebConfig(bool isBundleConfigPresent, CodeGenerationContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }
            string defaultNamespace           = ProjectExtensions.GetDefaultNamespace(context.ActiveProject);
            Dictionary <string, object> strs  = new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase);
            HashSet <string>            strs1 = new HashSet <string>(StringComparer.Ordinal);

            if (isBundleConfigPresent)
            {
                strs1.Add("System.Web.Optimization");
            }
            strs1.Add(defaultNamespace);
            strs.Add("RequiredNamespaces", strs1);
            Version assemblyVersion = ProjectReferences.GetAssemblyVersion(context.ActiveProject, AssemblyVersions.MvcAssemblyName);

            strs["MvcVersion"] = assemblyVersion;
            return(strs);
        }
Ejemplo n.º 6
0
        protected void CreateAppStartFiles(string configFileName, string productNamespace)
        {
            string str = configFileName;
            int    num = 2;

            while (true)
            {
                Project  activeProject = this.Context.ActiveProject;
                CodeType codeType      = this.CodeTypeService.GetCodeType(activeProject, string.Concat(ProjectExtensions.GetDefaultNamespace(activeProject), ".", configFileName));
                string   str1          = string.Concat(configFileName, ".", ProjectExtensions.GetCodeLanguage(this.Context.ActiveProject).CodeFileExtension);
                string   str2          = Path.Combine(ProjectExtensions.GetFullPath(this.Context.ActiveProject), "App_Start", str1);
                if (!File.Exists(Path.Combine(ProjectExtensions.GetFullPath(this.Context.ActiveProject), "App_Start", str1)) && codeType == null)
                {
                    this.AppStartFileNames.Add(str, configFileName);
                    this.GenerateT4File(str, configFileName, "App_Start");
                    return;
                }
                if (codeType != null && !codeType.Name.StartsWith("BundleConfig", StringComparison.OrdinalIgnoreCase) && CodeTypeFilter.IsProductNamespaceImported(codeType, productNamespace))
                {
                    this.AppStartFileNames.Add(str, configFileName);
                    return;
                }
                if (codeType != null && codeType.Name.StartsWith("BundleConfig", StringComparison.OrdinalIgnoreCase) && AddDependencyUtil.IsSearchTextPresent(str2, "ScriptBundle(\"~/bundles/jquery\")"))
                {
                    break;
                }
                configFileName = string.Concat(str, num);
                num++;
            }
            this.AppStartFileNames.Add(str, configFileName);
        }