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); }
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))); }
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); }
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); }