void Generate(Table tb, bool isToFile = false) { //生成domain.cs string domainCs = CodeMaker.MakeDomainCs(tb, mySetting); //生成domain.designer.cs string domainDesignerCs = CodeMaker.MakeDomainDesignerCs(tb, mySetting); //生成IReposity string ireposityCs = CodeMaker.MakeIReposityCs(tb, mySetting); //生成Reposity.cs string reposityCs = CodeMaker.MakeReposityCs(tb, mySetting); //生成Reposity.designer.cs string reposityDesignerCs = CodeMaker.MakeReposityDesignerCs(tb, mySetting); if (!isToFile) { domainCodeFastColoredTextBox.Text = domainCs; fastColoredTextBox1.Text = domainDesignerCs; if (mySetting.IsAggregateRoot) { fastColoredTextBox2.Text = ireposityCs; fastColoredTextBox3.Text = reposityCs; fastColoredTextBox4.Text = reposityDesignerCs; } else { //不是聚合根不必要生成仓储类 fastColoredTextBox2.Text = ""; fastColoredTextBox3.Text = ""; fastColoredTextBox4.Text = ""; } } else { //先修改项目文件 UpdateCsprojFile(mySetting.DominFolderPath, Path.Combine(mySetting.DomainDir, tb.ClassName + ".cs"), Path.Combine(mySetting.DomainDir, tb.ClassName + ".designer.cs")); WriteToFile(Path.Combine(Path.GetDirectoryName(mySetting.DominFolderPath), mySetting.DomainDir), tb.ClassName + ".cs", domainCs, mySetting.IsReWroteCsFile); WriteToFile(Path.Combine(Path.GetDirectoryName(mySetting.DominFolderPath), mySetting.DomainDir), tb.ClassName + ".designer.cs", domainDesignerCs, true); if (mySetting.IsAggregateRoot) { //聚合根才要生成仓储类 //修改项目文件 UpdateCsprojFile(mySetting.IReposityFolderPath, Path.Combine(mySetting.IReposityDir, "I" + tb.ClassName + "Repository.cs"), null); UpdateCsprojFile(mySetting.ReposityFolderPath, Path.Combine(mySetting.ReposityDir, tb.ClassName + "Repository.cs"), Path.Combine(mySetting.ReposityDir, tb.ClassName + "Repository.designer.cs")); WriteToFile(Path.Combine(Path.GetDirectoryName(mySetting.IReposityFolderPath), mySetting.IReposityDir), "I" + tb.ClassName + "Repository.cs", ireposityCs, mySetting.IsReWroteCsFile); WriteToFile(Path.Combine(Path.GetDirectoryName(mySetting.ReposityFolderPath), mySetting.ReposityDir), tb.ClassName + "Repository.cs", reposityCs, mySetting.IsReWroteCsFile); WriteToFile(Path.Combine(Path.GetDirectoryName(mySetting.ReposityFolderPath), mySetting.ReposityDir), tb.ClassName + "Repository.designer.cs", reposityDesignerCs, true); } } }