Esempio n. 1
0
        internal void RunStarted(ModelBuilderSettings modelBuilderSettings, CodeFirstModelGenerator codeFirstModelGenerator, Dictionary <string, string> replacementsDictionary)
        {
            try
            {
                var contextClassName =
                    new CodeIdentifierUtils(
                        modelBuilderSettings.VSApplicationType,
                        _vsUtils.GetLanguageForProject(modelBuilderSettings.Project))
                    .CreateValidIdentifier(replacementsDictionary["$safeitemname$"]);

                _generatedCode = codeFirstModelGenerator.Generate(
                    modelBuilderSettings.ModelBuilderEngine != null
                            ? modelBuilderSettings.ModelBuilderEngine.Model
                            : null,
                    replacementsDictionary["$rootnamespace$"],
                    contextClassName,
                    modelBuilderSettings.SaveConnectionStringInAppConfig
                        ? modelBuilderSettings.AppConfigConnectionPropertyName
                        : contextClassName).ToList();

                Debug.Assert(_generatedCode.Count > 0, "code has not been generated");

                replacementsDictionary["$contextfilecontents$"] = _generatedCode[0].Value;
            }
            catch (CodeFirstModelGenerationException e)
            {
                _vsUtils.ShowErrorDialog(
                    string.Format(CultureInfo.CurrentCulture, "{0}{1}{2}", e.Message, Environment.NewLine, e.InnerException));
            }
        }
Esempio n. 2
0
        private string GetConfigItemTemplatePath()
        {
            var projectLanguage = _vsUtils.GetLanguageForProject(_project);

            var configItemTemplate =
                VsUtils.IsWebProject(_applicationType)
                    ? WebConfigItemTemplate
                    : projectLanguage == LangEnum.VisualBasic
                        ? AppConfigItemTemplateVb
                        : AppConfigItemTemplateCs;

            var solution2 = (Solution2)_project.DTE.Solution;

            if (_applicationType == VisualStudioProjectSystem.WebApplication)
            {
                return(solution2.GetProjectItemTemplate(
                           WebConfigItemTemplate,
                           projectLanguage == LangEnum.VisualBasic ? VbWebApplicationKind : CsWebApplicationKind));
            }

            return(solution2.GetProjectItemTemplate(configItemTemplate, _project.Kind));
        }