public static void AddSeeders(string solutionDirectory, List <Entity> entities, string dbContextName, string projectBaseName) { foreach (var entity in entities) { var classPath = ClassPathHelper.DummySeederClassPath(solutionDirectory, $"{Utilities.GetSeederName(entity)}.cs", projectBaseName); if (!Directory.Exists(classPath.ClassDirectory)) { Directory.CreateDirectory(classPath.ClassDirectory); } if (File.Exists(classPath.FullClassPath)) { throw new FileAlreadyExistsException(classPath.FullClassPath); } using (FileStream fs = File.Create(classPath.FullClassPath)) { var data = SeederFunctions.GetEntitySeederFileText(classPath.ClassNamespace, entity, dbContextName, solutionDirectory, projectBaseName); fs.Write(Encoding.UTF8.GetBytes(data)); } } RegisterAllSeeders(solutionDirectory, entities, dbContextName, projectBaseName); }
public static void AddSeeders(string solutionDirectory, ApiTemplate template) { try { foreach (var entity in template.Entities) { var classPath = ClassPathHelper.SeederClassPath(solutionDirectory, $"{Utilities.GetSeederName(entity)}.cs"); if (!Directory.Exists(classPath.ClassDirectory)) { Directory.CreateDirectory(classPath.ClassDirectory); } if (File.Exists(classPath.FullClassPath)) { throw new FileAlreadyExistsException(classPath.FullClassPath); } using (FileStream fs = File.Create(classPath.FullClassPath)) { var data = SeederFunctions.GetEntitySeederFileText(classPath.ClassNamespace, entity, template); fs.Write(Encoding.UTF8.GetBytes(data)); } GlobalSingleton.AddCreatedFile(classPath.FullClassPath.Replace($"{solutionDirectory}{Path.DirectorySeparatorChar}", "")); } RegisterAllSeeders(solutionDirectory, template); } catch (FileAlreadyExistsException e) { WriteError(e.Message); throw; } catch (Exception e) { WriteError($"An unhandled exception occurred when running the API command.\nThe error details are: \n{e.Message}"); throw; } }
public static void AddSeeders(string srcDirectory, List <Entity> entities, string dbContextName, string projectBaseName) { try { foreach (var entity in entities) { var classPath = ClassPathHelper.SeederClassPath(srcDirectory, $"{Utilities.GetSeederName(entity)}.cs", projectBaseName); if (!Directory.Exists(classPath.ClassDirectory)) { Directory.CreateDirectory(classPath.ClassDirectory); } if (File.Exists(classPath.FullClassPath)) { throw new FileAlreadyExistsException(classPath.FullClassPath); } using (FileStream fs = File.Create(classPath.FullClassPath)) { var data = SeederFunctions.GetEntitySeederFileText(classPath.ClassNamespace, entity, dbContextName, srcDirectory, projectBaseName); fs.Write(Encoding.UTF8.GetBytes(data)); } } RegisterAllNewSeeders(srcDirectory, entities, dbContextName, projectBaseName); } catch (FileAlreadyExistsException e) { WriteError(e.Message); throw; } catch (Exception e) { WriteError($"An unhandled exception occurred when running the API command.\nThe error details are: \n{e.Message}"); throw; } }