internal string CreateConfigurationFile(string projectPath, string repoName, string migrationFolder, MigrationToUse migrationType)
        {
            var projectNamespace = new ProjectEvalutionHelper().RootNameSpace(projectPath);
            var className = repoName + "Configuration";

            var migrationFolderLocation = GetMigrationFolderLocation(projectPath, migrationFolder);
            if (!Directory.Exists(migrationFolderLocation))
            {
                Directory.CreateDirectory(migrationFolderLocation);
            }

            var fileBuilder = new StringBuilder();
            fileBuilder.AppendLine("using NHibernateRepo.Configuration;");
            fileBuilder.AppendLine("using NHibernateRepo.Migrations;");
            fileBuilder.AppendLine("");
            fileBuilder.AppendLine(string.Format("namespace {0}.{1}", projectNamespace, migrationFolder));
            fileBuilder.AppendLine("{");
            fileBuilder.AppendLine("    public class " + className + " : RepoMigrationConfigurationBase<" + repoName + ">");
            fileBuilder.AppendLine("    {");
            fileBuilder.AppendLine("        public " + repoName + "Configuration()");
            fileBuilder.AppendLine("        {");
            fileBuilder.AppendLine("            Enabled = true;");
            fileBuilder.AppendLine("            MigrationType = MigrationToUse." + migrationType + ";");
            fileBuilder.AppendLine("            RootMigrationFolder = @\"Migrations\\" + repoName + "Migrations\";");
            fileBuilder.AppendLine("        }");
            fileBuilder.AppendLine("    }");
            fileBuilder.AppendLine("}");

            var path = Path.Combine(CreateFileLocationPath(projectPath, className, migrationFolder));
            File.WriteAllText(path, fileBuilder.ToString());
            return path;
        }
Пример #2
0
        internal string CreateConfigurationFile(string projectPath, string repoName, string migrationFolder, MigrationToUse migrationType)
        {
            var projectNamespace = new ProjectEvalutionHelper().RootNameSpace(projectPath);
            var className        = repoName + "Configuration";

            var migrationFolderLocation = GetMigrationFolderLocation(projectPath, migrationFolder);

            if (!Directory.Exists(migrationFolderLocation))
            {
                Directory.CreateDirectory(migrationFolderLocation);
            }

            var fileBuilder = new StringBuilder();

            fileBuilder.AppendLine("using NHibernateRepo.Configuration;");
            fileBuilder.AppendLine("using NHibernateRepo.Migrations;");
            fileBuilder.AppendLine("");
            fileBuilder.AppendLine(string.Format("namespace {0}.{1}", projectNamespace, migrationFolder));
            fileBuilder.AppendLine("{");
            fileBuilder.AppendLine("    public class " + className + " : RepoMigrationConfigurationBase<" + repoName + ">");
            fileBuilder.AppendLine("    {");
            fileBuilder.AppendLine("        public " + repoName + "Configuration()");
            fileBuilder.AppendLine("        {");
            fileBuilder.AppendLine("            Enabled = true;");
            fileBuilder.AppendLine("            MigrationType = MigrationToUse." + migrationType + ";");
            fileBuilder.AppendLine("            RootMigrationFolder = @\"Migrations\\" + repoName + "Migrations\";");
            fileBuilder.AppendLine("        }");
            fileBuilder.AppendLine("    }");
            fileBuilder.AppendLine("}");

            var path = Path.Combine(CreateFileLocationPath(projectPath, className, migrationFolder));

            File.WriteAllText(path, fileBuilder.ToString());
            return(path);
        }