public void Test01_Load_Existing_Resource_By_Specifying_Short_Name() { var content = ResourceReader.GetResourceContents("DbContext.template"); Assert.False(string.IsNullOrEmpty(content)); }
public void Test02_Load_Existing_Resource_By_Specifying_Full_Name() { var content = ResourceReader.GetResourceContents("SSW.DataOnion.CodeGenerator.templates.DbContext.template"); Assert.False(string.IsNullOrEmpty(content)); }
/// <summary> /// /// </summary> /// <param name="dbContextName">Name of the DbContext class</param> /// <param name="entitiesNamespaces">Namespace used for entities</param> /// <param name="dataProjectNamespace">Namespace used for project where DbContext resides</param> /// <param name="entitiesDllPath">Path to entities dll</param> /// <param name="baseEntityClassName">Optional base class used by all entities</param> public void Generate( string dbContextName, string entitiesNamespaces, string dataProjectNamespace, string entitiesDllPath, string baseEntityClassName = null) { Guard.AgainstNullOrEmptyString(dbContextName, nameof(dbContextName)); Guard.AgainstNullOrEmptyString(entitiesNamespaces, nameof(entitiesNamespaces)); Guard.AgainstNullOrEmptyString(dataProjectNamespace, nameof(dataProjectNamespace)); Guard.AgainstNullOrEmptyString(entitiesDllPath, nameof(entitiesDllPath)); var entityTypes = AssemblyHelper.GetDomainTypes(entitiesNamespaces, entitiesDllPath, baseEntityClassName); var template = ResourceReader.GetResourceContents("DbContext.template"); var dbSets = GetDbSets(entityTypes); // replace all tokens template = template.Replace(TokenNames.DataProject, dataProjectNamespace) .Replace(TokenNames.DbContextName, dbContextName) .Replace(TokenNames.EntitiesProject, string.Join(Environment.NewLine + "\t\t", entitiesNamespaces.Split(',').Select(v => $"using {v};"))) .Replace(TokenNames.DbSets, string.Join(Environment.NewLine, dbSets)); // create file File.WriteAllText($"{dbContextName}.gen.cs", template); }
public void Test03_Try_To_Load_Resource_That_Doesnt_Exist() { Assert.Null(ResourceReader.GetResourceContents("invalid resource")); }