private string UpdateFileData(IPropertyAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); // ----------- Creators ----------- StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains($"public static I{options.EntityName} Default()"); stringEditor.Next(line => line.Trim().Equals("};")); stringEditor.InsertLine($" {options.PropertyName} = {options.EntityName}TestValues.{options.PropertyName}Default,"); fileData = stringEditor.GetText(); stringEditor = new StringEditor(fileData); stringEditor.NextThatContains($"public static I{options.EntityName} Default2()"); stringEditor.Next(line => line.Trim().Equals("};")); stringEditor.InsertLine($" {options.PropertyName} = {options.EntityName}TestValues.{options.PropertyName}Default2,"); fileData = stringEditor.GetText(); // ----------- Asserts ----------- stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("AssertDefault("); stringEditor.Next(line => line.Trim().Equals("}")); stringEditor.InsertLine($" Assert.AreEqual({options.EntityName}TestValues.{options.PropertyName}Default, {options.EntityNameLower}.{options.PropertyName});"); fileData = stringEditor.GetText(); stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("AssertDefault2("); stringEditor.Next(line => line.Trim().Equals("}")); stringEditor.InsertLine($" Assert.AreEqual({options.EntityName}TestValues.{options.PropertyName}Default2, {options.EntityNameLower}.{options.PropertyName});"); fileData = stringEditor.GetText(); return(stringEditor.GetText()); }
private string UpdateFileData(IPropertyAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); // ----------- Asserts ----------- StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains($"public static I{options.EntityName}Update ForUpdate()"); stringEditor.Next(line => line.Trim().Equals("};")); stringEditor.InsertLine($" {options.PropertyName} = {options.EntityName}TestValues.{options.PropertyName}ForUpdate,"); fileData = stringEditor.GetText(); return(stringEditor.GetText()); }
private string AddProperty(string file, IPropertyAdditionOptions options) { StringEditor stringEditor = new StringEditor(file); FindStartingLineForNewProperty(file, options, stringEditor); if (!stringEditor.GetLine().Contains("}")) { stringEditor.Prev(); } if (ContainsProperty(file)) { stringEditor.InsertNewLine(); } if (!options.IsOptional) { stringEditor.InsertLine(" [Required]"); } if (options.PropertyType == PropertyTypes.String && options.PropertyTypeExtra != null) { stringEditor.InsertLine($" [StringLength({options.PropertyTypeExtra})]"); } stringEditor.InsertLine(BackendDtoPropertyLine.GetPropertyLine(options)); return(stringEditor.GetText()); }
private string UpdateFileData(IPropertyAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); // ----------- DbSet ----------- StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("UpdateEf" + options.EntityName); stringEditor.Next(line => line.Trim().Equals("}")); stringEditor.InsertLine($" ef{options.EntityName}.{options.PropertyName} = db{options.EntityName}.{options.PropertyName};"); fileData = stringEditor.GetText(); // ----------- DbSet ----------- stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("FromEf" + options.EntityName); stringEditor.Next(line => line.Trim().Equals("};")); stringEditor.InsertLine($" {options.PropertyName} = ef{options.EntityName}.{options.PropertyName},"); fileData = stringEditor.GetText(); // ----------- DbSet ----------- stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("ToEf" + options.EntityName); stringEditor.Next(line => line.Trim().Equals("};")); stringEditor.InsertLine($" {options.PropertyName} = db{options.EntityName}.{options.PropertyName},"); return(stringEditor.GetText()); }
private string UpdateFileData(IEntityAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); string usingStatement = $"{options.ProjectName}.Persistence.Modules.{options.Domain}.{options.EntityNamePlural}"; fileData = UsingStatements.Add(fileData, usingStatement); StringEditor stringEditor = new StringEditor(fileData); // ----------- DbSet ----------- stringEditor.NextThatContains("CustomInstantiate"); stringEditor.InsertLine(GetDbSetLine(options)); stringEditor.InsertNewLine(); // ----------- OnModelCreating ----------- stringEditor.NextThatContains("this.OnModelCreatingPartial(modelBuilder);"); stringEditor.InsertLine(GetEmptyModelBuilderEntityLine(options)); stringEditor.InsertNewLine(); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("constructor("); stringEditor.InsertLine($" {options.EntityNamePluralLowerFrom}: I{options.EntityNameFrom}[];"); stringEditor.InsertNewLine(); stringEditor.NextThatContains("private router: Router"); stringEditor.InsertLine($" private {options.EntityNamePluralLowerFrom}CrudService: {options.EntityNamePluralFrom}CrudService,"); stringEditor.NextThatContains("this.formBuilder.group({"); stringEditor.NextThatContains("});"); stringEditor.InsertLine($" {options.PropertyNameFrom.LowerFirstChar()}Id: new FormControl(null, [Validators.required]),"); stringEditor.MoveToStart(); stringEditor.NextThatContains("ngOnInit()"); stringEditor.NextThatStartsWith(" }"); stringEditor.InsertNewLine(); stringEditor.InsertLine($" this.{options.EntityNamePluralLowerFrom} = await this.{options.EntityNamePluralLowerFrom}CrudService.get{options.EntityNamePluralFrom}();"); return(stringEditor.GetText()); }
private string AddProperty(string file, IRelationSideAdditionOptions options, bool forInterface) { StringEditor stringEditor = new StringEditor(file); FindStartingLineForNewProperty(file, options, stringEditor); if (!stringEditor.GetLine().Contains("}")) { stringEditor.Prev(); } if (ContainsProperty(file)) { stringEditor.InsertNewLine(); } if (forInterface) { stringEditor.InsertLine($" {options.PropertyType} {options.PropertyName} {{ get; set; }}"); } else { stringEditor.InsertLine($" public {options.PropertyType} {options.PropertyName} {{ get; set; }}"); } return(stringEditor.GetText()); }
private string UpdateFileData(IEntityAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); fileData = UsingStatements.Add(fileData, $"{options.ProjectName}.Persistence.Modules.{options.Domain}.{options.EntityNamePlural}"); fileData = UsingStatements.Add(fileData, $"{options.ProjectName}.Persistence.Tests.Modules.{options.Domain}.{options.EntityNamePlural}"); // ----------- DbSet ----------- StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("persistenceDbContext.SaveChanges();"); if (options.HasRequestScope) { stringEditor.InsertLine($" persistenceDbContext.{options.EntityNamePlural}.Add(Db{options.EntityName}.ToEf{options.EntityName}(Db{options.EntityName}Test.DbDefault(), {options.EntityName}TestValues.{options.RequestScopeName}IdDbDefault));"); stringEditor.InsertLine($" persistenceDbContext.{options.EntityNamePlural}.Add(Db{options.EntityName}.ToEf{options.EntityName}(Db{options.EntityName}Test.DbDefault2(), {options.EntityName}TestValues.{options.RequestScopeName}IdDbDefault));"); } else { stringEditor.InsertLine($" persistenceDbContext.{options.EntityNamePlural}.Add(Db{options.EntityName}.ToEf{options.EntityName}(Db{options.EntityName}Test.DbDefault()));"); stringEditor.InsertLine($" persistenceDbContext.{options.EntityNamePlural}.Add(Db{options.EntityName}.ToEf{options.EntityName}(Db{options.EntityName}Test.DbDefault2()));"); } stringEditor.InsertNewLine(); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); // ----------- DbSet ----------- stringEditor.NextThatContains($"export class {options.EntityNameFrom}DetailPage"); stringEditor.Next(); stringEditor.InsertNewLine(); stringEditor.InsertLine($" public {options.EntityNamePluralLowerTo}TableDataSource = new MatTableDataSource<I{options.EntityNameTo}>([]);"); stringEditor.InsertLine($" public {options.EntityNamePluralLowerTo}GridColumns: string[] = ["); stringEditor.InsertLine($" 'name',"); stringEditor.InsertLine($" 'detail',"); stringEditor.InsertLine($" ];"); stringEditor.NextThatContains($"private async load{options.EntityNameFrom}("); stringEditor.NextThatContains(" }"); stringEditor.InsertNewLine(); stringEditor.InsertLine($" this.{options.EntityNamePluralLowerTo}TableDataSource.data = this.{options.EntityNameLowerFrom}.{options.PropertyNameTo.LowerFirstChar()};"); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); // ----------- DbSet ----------- if (fileData.Contains("</mat-tab-group>")) { stringEditor.NextThatContains("<mat-tab label=\"Stammdaten\">"); stringEditor.NextThatContains("</mat-tab>"); } else { stringEditor.NextThatStartsWith($"<div class=\"{options.EntityNameTo.ToKebab()}-detail-page\""); stringEditor.NextThatStartsWith($"</div>"); } stringEditor.InsertNewLine(); stringEditor.InsertLine(GetLine(options)); return(stringEditor.GetText()); }
private string AddProperty(string file, IPropertyAdditionOptions options, bool forInterface) { StringEditor stringEditor = new StringEditor(file); FindStartingLineForNewProperty(file, options, stringEditor); if (!stringEditor.GetLine().Contains("}")) { stringEditor.Prev(); } if (ContainsProperty(file)) { stringEditor.InsertNewLine(); } if (forInterface) { stringEditor.InsertLine(BackendDtoInterfacePropertyLine.GetPropertyLine(options)); } else { stringEditor.InsertLine(BackendDtoPropertyLine.GetPropertyLine(options)); } return(stringEditor.GetText()); }
private string AddServices(string fileData, IEntityAdditionOptions options, string projectFolder) { string contractNamespace = GetContractNamespace(options, projectFolder); fileData = UsingStatements.Add(fileData, contractNamespace); string projectNamespace = GetProjectNamespace(options, projectFolder); fileData = UsingStatements.Add(fileData, projectNamespace); // Insert into Startup-Method StringEditor stringEditor = new StringEditor(fileData); string addScopedStatement = GetAddScopedStatement(options.EntityNamePlural, projectFolder); stringEditor.NextThatContains($"void Startup{options.Domain}"); stringEditor.Next(); stringEditor.NextThatContains("}"); if (!stringEditor.GetLineAtOffset(-1).Trim().Equals("{")) { stringEditor.InsertNewLine(); } stringEditor.InsertLine($" // {options.EntityNamePlural}"); stringEditor.InsertLine(addScopedStatement); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); fileData = UsingStatements.Add(fileData, $"{options.ProjectName}.Contract.Persistence.Modules.{options.DomainFrom}.{options.EntityNamePluralFrom}"); fileData = UsingStatements.Add(fileData, $"{options.ProjectName}.Logic.Tests.Modules.{options.DomainFrom}.{options.EntityNamePluralFrom}"); // ----------- Repository Generation ----------- StringEditor stringEditor = new StringEditor(fileData); stringEditor.MoveToEnd(); stringEditor.Next(); stringEditor.PrevThatContains("}"); stringEditor.PrevThatContains("}"); stringEditor.InsertLine("\n" + $" private Mock<I{options.EntityNamePluralFrom}CrudRepository> Setup{options.EntityNamePluralFrom}RepositoryDefault()\n" + " {\n" + $" var {options.EntityNamePluralLowerFrom}CrudRepository = new Mock<I{options.EntityNamePluralFrom}CrudRepository>(MockBehavior.Strict);\n" + $" {options.EntityNamePluralLowerFrom}CrudRepository.Setup(repository => repository.Does{options.EntityNameFrom}Exist({options.EntityNameFrom}TestValues.IdDefault)).Returns(true);\n" + $" {options.EntityNamePluralLowerFrom}CrudRepository.Setup(repository => repository.Does{options.EntityNameFrom}Exist({options.EntityNameFrom}TestValues.IdDefault2)).Returns(true);\n" + $" {options.EntityNamePluralLowerFrom}CrudRepository.Setup(repository => repository.Does{options.EntityNameFrom}Exist({options.EntityNameFrom}TestValues.IdForCreate)).Returns(false);\n" + $" return {options.EntityNamePluralLowerFrom}CrudRepository;\n" + " }"); fileData = stringEditor.GetText(); // ----------- TestMethods ----------- stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("[TestMethod]"); while (stringEditor.GetLineNumber() < stringEditor.GetLineCount()) { stringEditor.Next(); if (stringEditor.GetLine().Contains("Create" + options.EntityNameTo) || stringEditor.GetLine().Contains("Update" + options.EntityNameTo)) { stringEditor.NextThatContains($"Mock<I{options.EntityNamePluralTo}CrudRepository>"); stringEditor.Next(line => !line.Contains("CrudRepository>") && line.Trim().Length > 0); stringEditor.InsertLine($" Mock<I{options.EntityNamePluralFrom}CrudRepository> {options.EntityNamePluralLowerFrom}CrudRepository = this.Setup{options.EntityNamePluralFrom}RepositoryDefault();"); stringEditor.NextThatContains($"{options.EntityNamePluralTo}CrudLogic {options.EntityNamePluralLowerTo}CrudLogic = new {options.EntityNamePluralTo}CrudLogic"); stringEditor.Next(line => !line.Contains("CrudRepository.Object")); stringEditor.InsertLine($" {options.EntityNamePluralLowerFrom}CrudRepository.Object,"); } else { stringEditor.NextThatContains($"{options.EntityNamePluralTo}CrudLogic {options.EntityNamePluralLowerTo}CrudLogic = new {options.EntityNamePluralTo}CrudLogic"); stringEditor.Next(line => !line.Contains("CrudRepository.Object")); stringEditor.InsertLine(" null,"); } stringEditor.NextThatContains("[TestMethod]"); } return(stringEditor.GetText()); }
private string UpdateFileData(IPropertyAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("this.formBuilder.group({"); stringEditor.NextThatContains("});"); stringEditor.InsertLine(FrontendFormBuilderPropertyLine.GetPropertyLine(options)); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains($" {options.EntityNamePluralTo}Module,"); stringEditor.Next(); stringEditor.InsertLine($" {options.EntityNamePluralFrom}Module,"); return(stringEditor.GetText()); }
private string GetFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("CONSTRAINT [PK_"); stringEditor.Next(line => !line.Contains("CONSTRAINT [FK_")); stringEditor.InsertLine(GetPropertyLine(options)); return(stringEditor.GetText()); }
private string UpdateFileData(IPropertyAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); // ----------- DbSet ----------- stringEditor.NextThatContains("<table mat-table"); stringEditor.NextThatContains("<ng-container matColumnDef=\"detail\">"); stringEditor.InsertLine(FrontendPageEntitiesPropertyLine.GetPropertyLine(options)); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains($"public static fromApi{options.EntityNameFrom}Detail"); stringEditor.NextThatContains("return {"); stringEditor.NextThatContains("};"); stringEditor.InsertLine($" {options.PropertyNameTo.LowerFirstChar()}: api{options.EntityNameFrom}Detail.{options.PropertyNameTo.LowerFirstChar()}.map(api{options.EntityNameTo} => {options.EntityNameTo}.fromApi{options.EntityNameTo}(api{options.EntityNameTo})),"); return(stringEditor.GetText()); }
private string AddGetStartupMethodCall(string fileData, IDomainAdditionOptions options) { StringEditor stringEditor = new StringEditor(fileData); // Insert using string startupMethodCall = GetStartupMethodCall(options.Domain); stringEditor.NextThatContains("void Startup(IServiceCollection services"); stringEditor.Next(); stringEditor.Next(line => line.CompareTo(startupMethodCall) > 0 || line.Contains("}")); stringEditor.InsertLine(startupMethodCall); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); fileData = UsingStatements.Add(fileData, $"{options.ProjectName}.Contract.Logic.Modules.{options.DomainFrom}.{options.EntityNamePluralFrom}"); fileData = UsingStatements.Add(fileData, $"{options.ProjectName}.Logic.Tests.Modules.{options.DomainFrom}.{options.EntityNamePluralFrom}"); // ----------- AssertDbDefault ----------- StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("AssertDefault("); stringEditor.Next(line => line.Trim().Equals("}")); stringEditor.InsertLine($" {options.EntityNameFrom}Test.AssertDefault({options.EntityNameLowerTo}Detail.{options.PropertyNameFrom});"); fileData = stringEditor.GetText(); stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("AssertDefault2("); stringEditor.Next(line => line.Trim().Equals("}")); stringEditor.InsertLine($" {options.EntityNameFrom}Test.AssertDefault2({options.EntityNameLowerTo}Detail.{options.PropertyNameFrom});"); fileData = stringEditor.GetText(); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); // ----------- DbSet ----------- StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("FromEf" + options.EntityNameTo); stringEditor.Next(line => line.Trim().Equals("};")); stringEditor.InsertLine($" {options.PropertyNameFrom} = Db{options.EntityNameFrom}.FromEf{options.EntityNameFrom}(ef{options.EntityNameTo}.{options.PropertyNameFrom}),"); return(stringEditor.GetText()); }
private string UpdateFileData(IEntityAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); // ----------- DbSet ----------- stringEditor.NextThatContains("const routes: Routes = ["); stringEditor.NextThatContains("];"); stringEditor.InsertLine(GetAppRoutingLine(options)); return(stringEditor.GetText()); }
private string UpdateFileData(IPropertyAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); // ----------- AssertDbDefault ----------- StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("AssertDbDefault("); stringEditor.Next(line => line.Trim().Equals("}")); stringEditor.InsertLine($" Assert.AreEqual({options.EntityName}TestValues.{options.PropertyName}DbDefault, db{options.EntityName}Detail.{options.PropertyName});"); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); // ----------- DbSet ----------- stringEditor.NextThatContains("<table mat-table"); stringEditor.NextThatContains("<ng-container matColumnDef=\"detail\">"); stringEditor.InsertLine(GetAppRoutingLine(options)); return(stringEditor.GetText()); }
private string UpdateFileData(IDomainAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); // ----------- DbSet ----------- stringEditor.NextThatContains("path: '**',"); stringEditor.Prev(); stringEditor.InsertLine(GetAppRoutingLine(options)); return(stringEditor.GetText()); }
private string UpdateFileData(IPropertyAdditionOptions options, string functionName, string variableName, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains($"public static " + functionName); stringEditor.NextThatContains("return {"); stringEditor.NextThatContains("};"); stringEditor.InsertLine($" {options.PropertyName.LowerFirstChar()}: {variableName}.{options.PropertyName.LowerFirstChar()},"); return(stringEditor.GetText()); }
private string UpdateFileData(IPropertyAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); StringEditor stringEditor = new StringEditor(fileData); // ----------- DbSet ----------- stringEditor.NextThatContains("GridColumns: string[]"); stringEditor.NextThatContains("'detail'"); stringEditor.InsertLine($" '{options.PropertyName.LowerFirstChar()}',"); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); // ----------- DbSet ----------- StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains($"public Ef{options.EntityNameFrom}()"); stringEditor.Next(line => line.Trim().Equals("}")); stringEditor.InsertLine($" this.{options.PropertyNameTo} = new HashSet<Ef{options.EntityNameTo}>();"); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); fileData = UsingStatements.Add(fileData, "System.Linq"); fileData = UsingStatements.Add(fileData, $"{options.ProjectName}.Contract.Persistence.Modules.{options.DomainTo}.{options.EntityNamePluralTo}"); fileData = UsingStatements.Add(fileData, $"{options.ProjectName}.Logic.Tests.Modules.{options.DomainTo}.{options.EntityNamePluralTo}"); // ----------- Creators ----------- StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains($"public static IDb{options.EntityNameFrom}Detail Default()"); stringEditor.Next(line => line.Trim().Equals("};")); stringEditor.InsertLine($" {options.PropertyNameTo} = new List<IDb{options.EntityNameTo}> " + "{" + $" Db{options.EntityNameTo}Test.Default() " + "},"); fileData = stringEditor.GetText(); stringEditor = new StringEditor(fileData); stringEditor.NextThatContains($"public static IDb{options.EntityNameFrom}Detail Default2()"); stringEditor.Next(line => line.Trim().Equals("};")); stringEditor.InsertLine($" {options.PropertyNameTo} = new List<IDb{options.EntityNameTo}> " + "{" + $" Db{options.EntityNameTo}Test.Default2() " + "},"); fileData = stringEditor.GetText(); // ----------- Asserts ----------- stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("AssertDefault("); stringEditor.Next(line => line.Trim().Equals("}")); stringEditor.InsertLine($" Db{options.EntityNameTo}Test.AssertDefault(db{options.EntityNameFrom}Detail.{options.PropertyNameTo}.ToArray()[0]);"); fileData = stringEditor.GetText(); stringEditor = new StringEditor(fileData); stringEditor.NextThatContains("AssertDefault2("); stringEditor.Next(line => line.Trim().Equals("}")); stringEditor.InsertLine($" Db{options.EntityNameTo}Test.AssertDefault2(db{options.EntityNameFrom}Detail.{options.PropertyNameTo}.ToArray()[0]);"); fileData = stringEditor.GetText(); return(stringEditor.GetText()); }
private string UpdateFileData(IRelationAdditionOptions options, string filePath) { string fileData = File.ReadAllText(filePath); // ----------- DbSet ----------- StringEditor stringEditor = new StringEditor(fileData); stringEditor.NextThatContains($"Get{options.EntityNameTo}Detail("); stringEditor.NextThatContains($"this.dbContext.{options.EntityNamePluralTo}"); stringEditor.Next(line => !line.Contains("Include(")); stringEditor.InsertLine($" .Include(ef{options.EntityNameTo} => ef{options.EntityNameTo}.{options.PropertyNameFrom})"); return(stringEditor.GetText()); }