├── .gitignore ├── LICENSE ├── README.md └── src ├── CodeBuilder.Core ├── CodeBuilder.Core.csproj ├── CodeBuilder.Core.csproj.user ├── Designer │ ├── CategoryConsts.cs │ ├── ChangedPropertyConverter.cs │ ├── ChangedPropertyEditor.cs │ ├── CollectionConverter.cs │ ├── CollectionViewEditor.cs │ ├── ColumnOwnerConvert.cs │ ├── DisableViewEditor.cs │ ├── ForeignKeyEditor.cs │ ├── ForeignKeyEditorForm.Designer.cs │ ├── ForeignKeyEditorForm.cs │ ├── ForeignKeyEditorForm.resx │ ├── ForeignKeyViewEditor.cs │ ├── HostConvert.cs │ ├── IModeView.cs │ ├── IndexViewEditor.cs │ └── SubKeyViewEditor.cs ├── DynamicFunc │ ├── DefaultFuncProvider.cs │ ├── DynamicFuncAttribute.cs │ ├── DynamicFuncBuilder.cs │ ├── DynamicFuncHelper.cs │ ├── DynamicFuncInvokeException.cs │ └── IDynamicFuncProvider.cs ├── EventBus │ ├── DefaultEventBusHandler.cs │ └── IEventBusHandler.cs ├── ExtendPropertyAttribute.cs ├── FileTypeHelper.cs ├── Forms │ ├── ChangedFormBase.cs │ ├── DockFormBase.cs │ ├── DockFormBase.resx │ ├── FormBase.cs │ ├── FormBase.resx │ ├── FormCloseHandler.cs │ ├── IChangeManager.cs │ ├── IClosableDockManaged.cs │ ├── ICloseManager.cs │ ├── IContextMenuManager.cs │ ├── IMainMenuManager.cs │ ├── ISaveAsManager.cs │ └── IWindowSetManager.cs ├── HostingExtensions.cs ├── IConfigureSupported.cs ├── IDevHosting.cs ├── ILogQueue.cs ├── INotifyWindow.cs ├── IPlugin.cs ├── ISourceProvider.cs ├── ITemplateProvider.cs ├── IToolProvider.cs ├── Initializers │ ├── IProfileInitializer.cs │ ├── ISchemaInitializer.cs │ └── InitializerUnity.cs ├── LocalDynamicCache.cs ├── MainMenuKeys.cs ├── Processor.cs ├── Profile.cs ├── ProfileUnity.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── RegistryHelper.cs ├── RequiredCheckAttribute.cs ├── Resources │ ├── 2.gif │ ├── 4.gif │ ├── App.ico │ ├── column.png │ ├── column1.png │ ├── column2.png │ ├── index.png │ ├── item.png │ ├── pk.png │ ├── relation.png │ ├── table.png │ ├── unique.png │ └── 关系.png ├── SchemaUnity.cs ├── Source │ ├── ChangedProperty.cs │ ├── Column.cs │ ├── DataTypeManager.cs │ ├── DisGenerateAttribute.cs │ ├── HistoryStorage.cs │ ├── Host.cs │ ├── IField.cs │ ├── IIdentity.cs │ ├── IObject.cs │ ├── ISchemaRepository.cs │ ├── ISourceAssistant.cs │ ├── Index.cs │ ├── IndexColumn.cs │ ├── OpenSchemaFileException.cs │ ├── Reference.cs │ ├── SchemaBase.cs │ ├── SchemaExtensionAttribute.cs │ ├── SchemaInitializerAttribute.cs │ ├── SchemaRepository.cs │ ├── SchemaValidatorAttribute.cs │ ├── SourceAssistant.cs │ ├── SourceAssistantBase.cs │ ├── Table.cs │ └── TableSchemaProcessHandler.cs ├── SourceOption.cs ├── StaticUnity.cs ├── Template │ ├── CodeGenerateHandler.cs │ ├── GenerateResult.cs │ ├── GroupDefinition.cs │ ├── IPartitionOutputParser.cs │ ├── Parser.cs │ ├── PartitionDefinition.cs │ ├── PartitionLoop.cs │ ├── PartitionWriter.cs │ ├── ResourceWriter.cs │ ├── TemplateDefinition.cs │ ├── TemplateDirectory.cs │ ├── TemplateExtension.cs │ ├── TemplateFile.cs │ ├── TemplateParser.cs │ ├── TemplateStorage.cs │ └── TemplateValidation.cs ├── TemplateOption.cs ├── TemplateUnity.cs ├── ThreadHelper.cs ├── Tool │ ├── IBootstrapTool.cs │ ├── MultipleToolProviderBase.cs │ └── ToolShortcutHelper.cs ├── UICustomizedAttribute.cs ├── UnPersistentlyAttribute.cs ├── Util.cs ├── Validations │ ├── ISchemaValidator.cs │ ├── ValidateResult.cs │ └── ValidationUnity.cs ├── Variable │ ├── AssemblyReferenceManager.cs │ ├── BaseExtensionManager.cs │ ├── CompileException.cs │ ├── CompileHelper.cs │ ├── CompileManager.cs │ ├── CompileResult.cs │ ├── ICompileManager.cs │ ├── IProfileExtensionManager.cs │ ├── ISchemaExtensionManager.cs │ ├── ProfileExtensionManager.cs │ ├── PropertyMap.cs │ └── SchemaExtensionManager.cs ├── WebHelper.cs ├── app.config ├── frmProcessor.Designer.cs ├── frmProcessor.cs ├── frmProcessor.resx └── packages.config ├── CodeBuilder.Database ├── CodeBuilder.Database.csproj ├── ConfigForms.cs ├── DataLinkerDialog.cs ├── DbFuncProvider.cs ├── DbSourceStruct.cs ├── IConnectionConfig.cs ├── Oracle.DataAccess.Common.Configuration.Section.xsd ├── Oracle.ManagedDataAccess.Client.Configuration.Section.xsd ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Resources │ ├── database.png │ ├── table.png │ └── view.png ├── SourceProvider.cs ├── app.config ├── config │ └── datasources.cfg ├── frmConfigBase.Designer.cs ├── frmConfigBase.cs ├── frmConfigBase.resx ├── frmDamentConfig.Designer.cs ├── frmDamentConfig.cs ├── frmDamentConfig.resx ├── frmFirebirdConfig.Designer.cs ├── frmFirebirdConfig.cs ├── frmFirebirdConfig.resx ├── frmKingbaseConfig.Designer.cs ├── frmKingbaseConfig.cs ├── frmKingbaseConfig.resx ├── frmMsSqlConfig.Designer.cs ├── frmMsSqlConfig.cs ├── frmMsSqlConfig.resx ├── frmMySqlConfig.Designer.cs ├── frmMySqlConfig.cs ├── frmMySqlConfig.resx ├── frmOdbcConfig.Designer.cs ├── frmOdbcConfig.cs ├── frmOdbcConfig.resx ├── frmOracleConfig.Designer.cs ├── frmOracleConfig.cs ├── frmOracleConfig.resx ├── frmPostgresqlConfig.Designer.cs ├── frmPostgresqlConfig.cs ├── frmPostgresqlConfig.resx ├── frmSQLEditor.Designer.cs ├── frmSQLEditor.cs ├── frmSQLEditor.resx ├── frmSQLiteConfig.Designer.cs ├── frmSQLiteConfig.cs ├── frmSQLiteConfig.resx ├── frmShenTongConfig.Designer.cs ├── frmShenTongConfig.cs ├── frmShenTongConfig.resx ├── frmSourceEdit.Designer.cs ├── frmSourceEdit.cs ├── frmSourceEdit.resx ├── frmSourceMgr.Designer.cs ├── frmSourceMgr.cs ├── frmSourceMgr.resx ├── frmTableSelector.Designer.cs ├── frmTableSelector.cs ├── frmTableSelector.resx └── packages.config ├── CodeBuilder.DbSchema ├── CodeBuilder.DbSchema.csproj ├── PdmDefinition.cs ├── PdmParser.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Resources │ └── dbschema.png ├── SourceProvider.cs ├── app.config ├── frmTableSelector.Designer.cs ├── frmTableSelector.cs └── frmTableSelector.resx ├── CodeBuilder.ExportTool ├── CodeBuilder.ExportTool.csproj ├── ExcelExporter.cs ├── Exporter.cs ├── ExpressionHelper.cs ├── Properties │ └── AssemblyInfo.cs ├── WordExporter.cs ├── app.config ├── packages.config ├── template.docx └── template.xlsx ├── CodeBuilder.JsonTool ├── CodeBuilder.JsonTool.csproj ├── JsonFormatter.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── app.config ├── frmJsonFormatter.Designer.cs ├── frmJsonFormatter.cs ├── frmJsonFormatter.resx ├── frmMark.Designer.cs ├── frmMark.cs ├── frmMark.resx ├── frmWeburl.Designer.cs ├── frmWeburl.cs ├── frmWeburl.resx └── packages.config ├── CodeBuilder.NVelocity ├── CodeBuilder.NVelocity.csproj ├── Properties │ └── AssemblyInfo.cs ├── TemplateProvider.cs └── app.config ├── CodeBuilder.PDManer ├── CodeBuilder.PDManer.csproj ├── DbTypeManager.cs ├── OptionPanel.Designer.cs ├── OptionPanel.cs ├── OptionPanel.resx ├── PdmDefinition.cs ├── PdmParser.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Resources │ └── pdmaner.png ├── SourceGuide.cs ├── SourceProvider.cs ├── app.config ├── config │ └── pdman.cfg ├── frmTableSelector.Designer.cs ├── frmTableSelector.cs ├── frmTableSelector.resx └── packages.config ├── CodeBuilder.PdfTool ├── CodeBuilder.PdfTool.csproj ├── PdfConverter.cs ├── Properties │ └── AssemblyInfo.cs ├── app.config ├── frmToImg.Designer.cs ├── frmToImg.cs ├── frmToImg.resx └── packages.config ├── CodeBuilder.PowerDesigner ├── CodeBuilder.PowerDesigner.csproj ├── DBMSManager.cs ├── OptionPanel.Designer.cs ├── OptionPanel.cs ├── OptionPanel.resx ├── PdmDefinition.cs ├── PdmParser.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Resources │ └── powerdesigner.png ├── SourceProvider.cs ├── app.config ├── config │ └── pd.cfg ├── frmTableSelector.Designer.cs ├── frmTableSelector.cs ├── frmTableSelector.resx └── packages.config ├── CodeBuilder.Razor ├── AssemblyConfig.cs ├── CodeBuilder.Razor.csproj ├── OptionPanel.Designer.cs ├── OptionPanel.cs ├── OptionPanel.resx ├── Properties │ └── AssemblyInfo.cs ├── TemplateCompileException.cs ├── TemplateProvider.cs ├── app.config ├── frmOption.Designer.cs ├── frmOption.cs ├── frmOption.resx └── packages.config ├── CodeBuilder.RssReader ├── CodeBuilder.RssReader.csproj ├── CodeBuilder.RssReader.csproj.user ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── RssConfig.cs ├── RssFavoriteConfig.cs ├── RssReader.cs ├── app.config ├── config │ └── rss.cfg ├── frmAddFavorite.Designer.cs ├── frmAddFavorite.cs ├── frmAddFavorite.resx ├── frmAddRss.Designer.cs ├── frmAddRss.cs ├── frmAddRss.resx ├── frmRssReader.Designer.cs ├── frmRssReader.cs ├── frmRssReader.resx └── packages.config ├── CodeBuilder.Swagger ├── CodeBuilder.Swagger.csproj ├── Config.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Resources │ └── swagger.png ├── SourceProvider.cs ├── SwaggerParser.cs ├── app.config ├── frmOpenApi.Designer.cs ├── frmOpenApi.cs ├── frmOpenApi.resx └── packages.config ├── CodeBuilder.T4 ├── AssemblyConfig.cs ├── CodeBuilder.T4.csproj ├── CrossDomainTextWriter.cs ├── GuidDispatcher.cs ├── OptionPanel.Designer.cs ├── OptionPanel.cs ├── OptionPanel.resx ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── ProxyBuilder.cs ├── SingleAppDomainScope.cs ├── TemplateHost.cs ├── TemplateProvider.cs ├── TextTemplate.ico ├── app.config ├── frmOption.Designer.cs ├── frmOption.cs ├── frmOption.resx └── packages.config ├── CodeBuilder.Tools ├── CodeBuilder.Tools.csproj ├── DataTypeManageTool.cs ├── GeneralTools.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Tools │ ├── Base64Converter.Designer.cs │ ├── Base64Converter.cs │ ├── Base64Converter.resx │ ├── CodeDebugConfig.cs │ ├── CodeDebuger.Designer.cs │ ├── CodeDebuger.cs │ ├── CodeDebuger.resx │ ├── CollComparer.Designer.cs │ ├── CollComparer.cs │ ├── CollComparer.resx │ ├── FileComparer.Designer.cs │ ├── FileComparer.cs │ ├── FileComparer.resx │ ├── FileEncodeDetector.Designer.cs │ ├── FileEncodeDetector.cs │ ├── FileEncodeDetector.resx │ ├── GuidGenerator.Designer.cs │ ├── GuidGenerator.cs │ ├── GuidGenerator.resx │ ├── NamingConverter.Designer.cs │ ├── NamingConverter.cs │ ├── NamingConverter.resx │ ├── PythonCodeDebuger.Designer.cs │ ├── PythonCodeDebuger.cs │ ├── PythonCodeDebuger.resx │ ├── TextConvertConfig.cs │ ├── TextConverter.Designer.cs │ ├── TextConverter.cs │ ├── TextConverter.resx │ ├── UnicodeConverter.Designer.cs │ ├── UnicodeConverter.cs │ ├── UnicodeConverter.resx │ ├── UrlEncodeConverter.Designer.cs │ ├── UrlEncodeConverter.cs │ ├── UrlEncodeConverter.resx │ ├── frmConfigCodeDebugger.Designer.cs │ ├── frmConfigCodeDebugger.cs │ ├── frmConfigCodeDebugger.resx │ ├── frmConfigTextConverter.Designer.cs │ ├── frmConfigTextConverter.cs │ └── frmConfigTextConverter.resx ├── app.config ├── frmDataTypeManager.Designer.cs ├── frmDataTypeManager.cs ├── frmDataTypeManager.resx ├── frmNewDatabase.Designer.cs ├── frmNewDatabase.cs ├── frmNewDatabase.resx ├── frmTools.Designer.cs ├── frmTools.cs ├── frmTools.resx └── packages.config ├── CodeBuilder.sln ├── CodeBuilder ├── App.ico ├── CodeBuilder.csproj ├── CodeBuilder.csproj.user ├── CodeCategory.cs ├── CommResult.cs ├── Config.cs ├── Consts.cs ├── CustomMenuItem.cs ├── DSS.ico ├── DevHosting.cs ├── FieldCacheMenuItem.cs ├── IdentityHelper.cs ├── LoadMode.cs ├── OnlinePluginData.cs ├── OnlineTemplateData.cs ├── PlugInConfig.cs ├── Program.cs ├── ProjectTemplate.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Resources │ ├── add.png │ ├── add1.png │ ├── add2.png │ ├── add3.png │ ├── browse.png │ ├── build.png │ ├── buildl.png │ ├── category.png │ ├── check.png │ ├── clear.png │ ├── codefile.png │ ├── column.png │ ├── copy.png │ ├── cut.png │ ├── delete.png │ ├── down1.png │ ├── down_ok.png │ ├── down_ok1.png │ ├── edit.png │ ├── edit04.png │ ├── edit1.png │ ├── engine.png │ ├── export.png │ ├── extension.ico │ ├── file.png │ ├── fileR.png │ ├── fileT.png │ ├── find.png │ ├── fk.png │ ├── fx.png │ ├── guide.png │ ├── gzh.jpg │ ├── help.png │ ├── info.png │ ├── insert.png │ ├── logo.png │ ├── open.png │ ├── open1.png │ ├── open1l.png │ ├── options.png │ ├── output.ico │ ├── paste.png │ ├── pk.png │ ├── plugin.png │ ├── profile.ico │ ├── project.png │ ├── property.ico │ ├── qq.jpg │ ├── redo.png │ ├── refresh.png │ ├── replace.png │ ├── resource.ico │ ├── rss.ico │ ├── save.png │ ├── save1.png │ ├── save1l.png │ ├── saveas.png │ ├── share.png │ ├── shop.png │ ├── table.png │ ├── template.ico │ ├── undo.png │ ├── up1.png │ ├── update.png │ ├── update1.png │ ├── view.png │ ├── wx.jpg │ └── 公众号.png ├── SourceAssistant.cs ├── TemplateHelper.cs ├── TemplateLoadException.cs ├── TipPanel.Designer.cs ├── TipPanel.cs ├── TipPanel.resx ├── TitlePanel.cs ├── VersionHelper.cs ├── WindowSetManager.cs ├── app.config ├── app.manifest ├── appsettings.json ├── config │ ├── app.cfg │ ├── assemblies.cfg │ ├── datasources.cfg │ ├── datatypes.cfg │ ├── pd.cfg │ ├── pdman.cfg │ ├── plugin.cfg │ ├── prebuild.cfg │ ├── profile.cfg │ └── update.cfg ├── db │ └── northwind.db3 ├── frmAbout.Designer.cs ├── frmAbout.cs ├── frmAbout.resx ├── frmAssemblyOption.Designer.cs ├── frmAssemblyOption.cs ├── frmAssemblyOption.resx ├── frmDonate.Designer.cs ├── frmDonate.cs ├── frmDonate.resx ├── frmEditor.Designer.cs ├── frmEditor.cs ├── frmEditor.resx ├── frmExtension.Designer.cs ├── frmExtension.cs ├── frmExtension.resx ├── frmFindAndReplace.Designer.cs ├── frmFindAndReplace.cs ├── frmFindAndReplace.resx ├── frmGuide.Designer.cs ├── frmGuide.cs ├── frmGuide.resx ├── frmLogin.Designer.cs ├── frmLogin.cs ├── frmLogin.resx ├── frmMain.Designer.cs ├── frmMain.cs ├── frmMain.resx ├── frmNewCode.Designer.cs ├── frmNewCode.cs ├── frmNewCode.resx ├── frmOption.Designer.cs ├── frmOption.cs ├── frmOption.resx ├── frmOutput.Designer.cs ├── frmOutput.cs ├── frmOutput.resx ├── frmPluginShop.Designer.cs ├── frmPluginShop.cs ├── frmPluginShop.resx ├── frmPreBuild.Designer.cs ├── frmPreBuild.cs ├── frmPreBuild.resx ├── frmProfile.Designer.cs ├── frmProfile.cs ├── frmProfile.resx ├── frmProperty.Designer.cs ├── frmProperty.cs ├── frmProperty.resx ├── frmQuestionnaire.Designer.cs ├── frmQuestionnaire.cs ├── frmQuestionnaire.resx ├── frmResource.Designer.cs ├── frmResource.cs ├── frmResource.resx ├── frmShowValidation.Designer.cs ├── frmShowValidation.cs ├── frmShowValidation.resx ├── frmStart.Designer.cs ├── frmStart.cs ├── frmStart.resx ├── frmTable.Designer.cs ├── frmTable.cs ├── frmTable.resx ├── frmTableCustomize.Designer.cs ├── frmTableCustomize.cs ├── frmTableCustomize.resx ├── frmTemplate.Designer.cs ├── frmTemplate.cs ├── frmTemplate.resx ├── frmTemplateCommit.Designer.cs ├── frmTemplateCommit.cs ├── frmTemplateCommit.resx ├── frmTemplateCopy.Designer.cs ├── frmTemplateCopy.cs ├── frmTemplateCopy.resx ├── frmTemplateEditor.Designer.cs ├── frmTemplateEditor.cs ├── frmTemplateEditor.resx ├── frmTemplateShop.Designer.cs ├── frmTemplateShop.cs ├── frmTemplateShop.resx ├── frmTemplateShopConfig.Designer.cs ├── frmTemplateShopConfig.cs ├── frmTemplateShopConfig.resx ├── frmTip.Designer.cs ├── frmTip.cs ├── frmTip.resx ├── packages.config ├── syntaxs │ ├── ANTLR.xshd │ ├── ActionScript.xshd │ ├── Ada.xshd │ ├── Assembly.xshd │ ├── AutoHotkey.xshd │ ├── Batch.xshd │ ├── Boo.xshd │ ├── C#.xshd │ ├── C++.xshd │ ├── C.xshd │ ├── CSS.xshd │ ├── Ceylon.xshd │ ├── ChucK.xshd │ ├── Clojure.xshd │ ├── Cocoa.xshd │ ├── CoffeeScript.xshd │ ├── Cool.xshd │ ├── D.xshd │ ├── Dart.xshd │ ├── Delphi.xshd │ ├── Eiffel.xshd │ ├── Elixir.xshd │ ├── Erlang.xshd │ ├── F#.xshd │ ├── Falcon.xshd │ ├── Fantom.xshd │ ├── Fortran95.xshd │ ├── Go.xshd │ ├── Goovy.xshd │ ├── Gui4Cli.xshd │ ├── HTML.xshd │ ├── Haskell.xshd │ ├── Haxe.xshd │ ├── ILYC.xshd │ ├── INI.xshd │ ├── Icon.xshd │ ├── Io.xshd │ ├── JSON.xshd │ ├── Java.xshd │ ├── JavaScript.xshd │ ├── Julia.xshd │ ├── Just BASIC.xshd │ ├── KiXtart.xshd │ ├── Kotlin.xshd │ ├── Lean.xshd │ ├── Lisp.xshd │ ├── Lua.xshd │ ├── Nemerle.xshd │ ├── Nim.xshd │ ├── OCaml.xshd │ ├── Objective-C.xshd │ ├── PHP.xshd │ ├── ParaSail.xshd │ ├── Pascal.xshd │ ├── Pike.xshd │ ├── PowerShell.xshd │ ├── Prolog.xshd │ ├── PureScript.xshd │ ├── Python.xshd │ ├── R.xshd │ ├── Registry.xshd │ ├── Resource.xshd │ ├── Rexx.xshd │ ├── Rust.xshd │ ├── SQF.xshd │ ├── SQL.xshd │ ├── Scala.xshd │ ├── Scheme.xshd │ ├── Solidity.xshd │ ├── Spike.xshd │ ├── Swift.xshd │ ├── TCL.xshd │ ├── Thrift.xshd │ ├── TypeScript.xshd │ ├── VBNET.xshd │ ├── VBScript.xshd │ ├── VHDL.xshd │ ├── VS Solution.xshd │ ├── Vala.xshd │ ├── Verilog.xshd │ ├── Volt.xshd │ ├── X10.xshd │ ├── XC.xshd │ ├── XML.xshd │ └── Xtend.xshd └── version.xml └── lib ├── FastColoredTextBox.dll ├── Fireasy.CodeCompiler.VisualBasic.dll ├── Fireasy.Common.dll ├── Fireasy.Composition.dll ├── Fireasy.Configuration.dll ├── Fireasy.Data.Abstractions.dll ├── Fireasy.Data.Configuration.dll ├── Fireasy.Data.Odbc.dll ├── Fireasy.Data.OleDb.dll ├── Fireasy.Data.dll ├── Fireasy.Windows.Forms.Editors.dll ├── Fireasy.Windows.Forms.TreeList.dll ├── Fireasy.Windows.Forms.dll ├── ICSharpCode.TextEditor.dll ├── Kdbndp.dll ├── Mono.Security.dll ├── NVelocity.dll ├── RazorEngine.dll ├── System.Web.Razor.dll └── WeifenLuo.WinFormsUI.Docking.dll /.gitignore: -------------------------------------------------------------------------------- 1 | # Build and Release Folders 2 | bin-debug/ 3 | bin-release/ 4 | packages/ 5 | [Oo]bj/ 6 | [Bb]in/ 7 | 8 | # Other files and folders 9 | .settings/ 10 | .vs 11 | 12 | # Executables 13 | *.swf 14 | *.air 15 | *.ipa 16 | *.apk 17 | 18 | # Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties` 19 | # should NOT be excluded as they contain compiler settings and other important 20 | # information for Eclipse / Flash Builder. 21 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/CodeBuilder.Core.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ProjectFiles 5 | 6 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Designer/CategoryConsts.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Designer 11 | { 12 | public class CategoryConsts 13 | { 14 | public const string Attribute = "Attribute"; 15 | public const string Auxiliary = "Auxiliary"; 16 | public const string Extension = "Extension"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Designer/ChangedPropertyConverter.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.Collections; 11 | using System.ComponentModel; 12 | using System.Globalization; 13 | 14 | namespace CodeBuilder.Core.Designer 15 | { 16 | internal class ChangedPropertyConverter : System.ComponentModel.CollectionConverter 17 | { 18 | public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) 19 | { 20 | if (value is ICollection collection) 21 | { 22 | return $"({collection.Count} Changes)"; 23 | } 24 | 25 | return base.ConvertTo(context, culture, value, destinationType); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Designer/CollectionConverter.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using Fireasy.Common.Extensions; 10 | using System; 11 | using System.Collections; 12 | using System.ComponentModel; 13 | using System.Globalization; 14 | 15 | namespace CodeBuilder.Core.Designer 16 | { 17 | public class CollectionConverter : System.ComponentModel.CollectionConverter 18 | { 19 | public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) 20 | { 21 | if (value is ICollection collection) 22 | { 23 | var name = value.GetType().GetEnumerableElementType().Name; 24 | return $"({collection.Count} {name.ToPlural()})"; 25 | } 26 | 27 | return base.ConvertTo(context, culture, value, destinationType); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Designer/ColumnOwnerConvert.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Source; 10 | using System; 11 | using System.ComponentModel; 12 | using System.Globalization; 13 | 14 | namespace CodeBuilder.Core.Designer 15 | { 16 | public class ColumnOwnerConvert : TypeConverter 17 | { 18 | public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) 19 | { 20 | if (value is Table table) 21 | { 22 | return $"(Table: {table._Name})"; 23 | } 24 | 25 | return base.ConvertTo(context, culture, value, destinationType); 26 | } 27 | 28 | public override bool GetPropertiesSupported(ITypeDescriptorContext context) => false; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Designer/DisableViewEditor.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.ComponentModel; 11 | using System.Drawing.Design; 12 | 13 | namespace CodeBuilder.Core.Designer 14 | { 15 | public class DisableViewEditor : UITypeEditor 16 | { 17 | public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) 18 | { 19 | return value; 20 | } 21 | 22 | public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) 23 | { 24 | return UITypeEditorEditStyle.None; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Designer/HostConvert.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Source; 10 | using System; 11 | using System.ComponentModel; 12 | using System.Globalization; 13 | 14 | namespace CodeBuilder.Core.Designer 15 | { 16 | public class HostConvert : TypeConverter 17 | { 18 | public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) 19 | { 20 | if (value is Host) 21 | { 22 | return "(Host)"; 23 | } 24 | 25 | return base.ConvertTo(context, culture, value, destinationType); 26 | } 27 | 28 | public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes) 29 | { 30 | var properties = TypeDescriptor.GetProperties(value.GetType()); 31 | return new PropertyDescriptorCollection(new PropertyDescriptor[] { properties[nameof(Host.Tables)] }); 32 | } 33 | 34 | public override bool GetPropertiesSupported(ITypeDescriptorContext context) => true; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Designer/IModeView.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Designer 11 | { 12 | public interface IModeView 13 | { 14 | string GetDisplayName(string view); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/DynamicFunc/DefaultFuncProvider.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.ComponentModel.Composition; 10 | using System.IO; 11 | 12 | namespace CodeBuilder.Core.DynamicFunc 13 | { 14 | [Export(typeof(IDynamicFuncProvider))] 15 | public class DefaultFuncProvider : IDynamicFuncProvider 16 | { 17 | private IDevHosting _hosting; 18 | 19 | public string Name { get; set; } = "默认函数集"; 20 | 21 | public void Initialize(IDevHosting hosting) 22 | { 23 | _hosting = hosting; 24 | } 25 | 26 | [DynamicFunc("读取文本文件", Description = "方法 dynamic ReadStrings(string fileName) \r\n示例 (List)Hosting.Funcs.ReadStrings(\"demo.text\");")] 27 | public dynamic ReadStrings(string fileName) 28 | { 29 | var filePath = Path.Combine(Directory.GetCurrentDirectory(), fileName); 30 | if (!File.Exists(filePath)) 31 | { 32 | throw new FileNotFoundException(filePath); 33 | } 34 | 35 | return File.ReadAllLines(filePath); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/DynamicFunc/DynamicFuncAttribute.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core.DynamicFunc 12 | { 13 | [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] 14 | public class DynamicFuncAttribute : Attribute 15 | { 16 | public DynamicFuncAttribute(string name) 17 | { 18 | Name = name; 19 | } 20 | 21 | public string Name { get; } 22 | 23 | public string Description { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/DynamicFunc/DynamicFuncHelper.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using Fireasy.Common.Extensions; 10 | using System; 11 | using System.Collections.Generic; 12 | using System.Linq; 13 | using System.Reflection; 14 | 15 | namespace CodeBuilder.Core.DynamicFunc 16 | { 17 | public class DynamicFuncHelper 18 | { 19 | /// 20 | /// 获取方法定义。 21 | /// 22 | /// 23 | /// 24 | public static IEnumerable GetMethodDescriptors(IDynamicFuncProvider provider) 25 | { 26 | return GetMethodDescriptors(provider.GetType()); 27 | } 28 | 29 | /// 30 | /// 获取方法定义。 31 | /// 32 | /// 33 | /// 34 | public static IEnumerable GetMethodDescriptors(Type providerType) 35 | { 36 | var methods = providerType.GetMethods(BindingFlags.Public | BindingFlags.Instance).Where(s => s.IsDefined()); 37 | 38 | foreach (var method in methods) 39 | { 40 | yield return method.GetCustomAttribute(); 41 | } 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/DynamicFunc/DynamicFuncInvokeException.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core.DynamicFunc 12 | { 13 | public class DynamicFuncInvokeException : Exception 14 | { 15 | public DynamicFuncInvokeException(string message, Exception exception) 16 | : base (message, exception) 17 | { } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/DynamicFunc/IDynamicFuncProvider.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | namespace CodeBuilder.Core.DynamicFunc 10 | { 11 | /// 12 | /// 动态函数提供者。 13 | /// 14 | public interface IDynamicFuncProvider : IPlugin 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/EventBus/DefaultEventBusHandler.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using Fireasy.Common.DependencyInjection; 10 | using System; 11 | using System.Collections.Generic; 12 | 13 | namespace CodeBuilder.Core.EventBus 14 | { 15 | public class DefaultEventBusHandler : IEventBusHandler, ISingletonService 16 | { 17 | private Dictionary>> _subscribers = new Dictionary>>(); 18 | 19 | public void Publish(string name, object data = null) 20 | { 21 | if (_subscribers.TryGetValue(name, out var actions)) 22 | { 23 | foreach (var kvp in actions) 24 | { 25 | kvp.Value(data); 26 | } 27 | } 28 | } 29 | 30 | public string Subscribe(string name, Action action) 31 | { 32 | if (!_subscribers.TryGetValue(name, out var actions)) 33 | { 34 | actions = new Dictionary>(); 35 | _subscribers.Add(name, actions); 36 | } 37 | 38 | var id = Guid.NewGuid().ToString(); 39 | actions.Add(id, action); 40 | 41 | return id; 42 | } 43 | 44 | public void UnSubscribe(string name, string id) 45 | { 46 | if (_subscribers.TryGetValue(name, out var actions)) 47 | { 48 | if (actions.ContainsKey(id)) 49 | { 50 | actions.Remove(id); 51 | } 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/EventBus/IEventBusHandler.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core.EventBus 12 | { 13 | /// 14 | /// 事件总线处理器。 15 | /// 16 | public interface IEventBusHandler 17 | { 18 | /// 19 | /// 发布事件消息。 20 | /// 21 | /// 订阅名称。 22 | /// 23 | void Publish(string name, object data = null); 24 | 25 | /// 26 | /// 订阅事件消息。 27 | /// 28 | /// 订阅名称。 29 | /// 订阅者。 30 | /// 31 | string Subscribe(string name, Action action); 32 | 33 | /// 34 | /// 注销订阅者。 35 | /// 36 | /// 订阅名称。 37 | /// 事件id。 38 | void UnSubscribe(string name, string id); 39 | } 40 | } -------------------------------------------------------------------------------- /src/CodeBuilder.Core/ExtendPropertyAttribute.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core 12 | { 13 | /// 14 | /// 表示扩展属性。 15 | /// 16 | [AttributeUsage(AttributeTargets.Property)] 17 | public class ExtendPropertyAttribute : Attribute 18 | { 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Forms/ChangedFormBase.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Forms 11 | { 12 | public class ChangedFormBase : DockFormBase, IChangeManager 13 | { 14 | public virtual bool IsChanged { get; set; } 15 | 16 | public virtual bool SaveChanges(bool notify) 17 | { 18 | return false; 19 | } 20 | 21 | protected virtual void ProcessChanged(bool changed) 22 | { 23 | IsChanged = changed; 24 | if (changed && !Text.EndsWith("*")) 25 | { 26 | Text = Text + " *"; 27 | } 28 | if (!changed && Text.EndsWith("*")) 29 | { 30 | Text = Text.Replace(" *", string.Empty); 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Forms/FormBase.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Windows.Forms; 10 | 11 | namespace CodeBuilder.Core.Forms 12 | { 13 | public class FormBase : Form 14 | { 15 | private void InitializeComponent() 16 | { 17 | this.SuspendLayout(); 18 | // 19 | // FormBase 20 | // 21 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; 22 | this.ClientSize = new System.Drawing.Size(284, 261); 23 | this.Font = new System.Drawing.Font("Microsoft YaHei UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 24 | this.Name = "FormBase"; 25 | this.ResumeLayout(false); 26 | 27 | } 28 | 29 | public FormBase() 30 | { 31 | InitializeComponent(); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Forms/IChangeManager.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Forms 11 | { 12 | public interface IChangeManager 13 | { 14 | /// 15 | /// 获取是否更改。 16 | /// 17 | bool IsChanged { get; } 18 | 19 | /// 20 | /// 保存。 21 | /// 22 | bool SaveChanges(bool notify = true); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Forms/IClosableDockManaged.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Forms 11 | { 12 | /// 13 | /// 表示可受 Dock 管理关闭。 14 | /// 15 | internal interface IClosableDockManaged 16 | { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Forms/ICloseManager.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Forms 11 | { 12 | /// 13 | /// 表示可关闭的窗体。 14 | /// 15 | public interface ICloseManager 16 | { 17 | void Close(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Forms/IContextMenuManager.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Collections.Generic; 10 | using System.Windows.Forms; 11 | 12 | namespace CodeBuilder.Core.Forms 13 | { 14 | /// 15 | /// 上下文菜单管理接口。 16 | /// 17 | public interface IContextMenuManager 18 | { 19 | /// 20 | /// 获取上下文菜单荐。 21 | /// 22 | /// 23 | IEnumerable GetContextMenuItems(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Forms/IMainMenuManager.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Collections.Generic; 10 | using System.Windows.Forms; 11 | 12 | namespace CodeBuilder.Core.Forms 13 | { 14 | /// 15 | /// 主菜单管理接口。 16 | /// 17 | public interface IMainMenuManager 18 | { 19 | /// 20 | /// 获取菜单条上的名称。 21 | /// 22 | string MenuText { get; } 23 | 24 | /// 25 | /// 获取插入点的Key。 26 | /// 27 | string InsertedMainMenuKey { get; } 28 | 29 | /// 30 | /// 获取显示方式。 31 | /// 32 | DisplayStyle DisplayStyle { get; } 33 | 34 | /// 35 | /// 获取菜单项。 36 | /// 37 | /// 38 | IEnumerable GetMenuItems(); 39 | } 40 | 41 | public enum DisplayStyle 42 | { 43 | Actived, 44 | Added 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Forms/ISaveAsManager.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Forms 11 | { 12 | public interface ISaveAsManager 13 | { 14 | void SaveAs(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Forms/IWindowSetManager.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Forms 11 | { 12 | /// 13 | /// 提供对窗体集的管理。 14 | /// 15 | public interface IWindowSetManager 16 | { 17 | /// 18 | /// 获取窗体的标志。 19 | /// 20 | /// 窗体名称。 21 | /// 22 | int? GetFlag(string name); 23 | 24 | /// 25 | /// 设置窗体的标记。 26 | /// 27 | /// 窗体名称。 28 | /// 29 | void SetFlag(string name, int flag); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/HostingExtensions.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Linq; 10 | using System.Windows.Forms; 11 | using WeifenLuo.WinFormsUI.Docking; 12 | 13 | namespace CodeBuilder.Core 14 | { 15 | public static class HostingExtensions 16 | { 17 | public static TForm FindForm(this IDevHosting hosting) where TForm : Form 18 | { 19 | if (hosting == null || hosting.DockContainer == null) 20 | { 21 | return default; 22 | } 23 | 24 | var dockMgr = (DockPanel)hosting.DockContainer; 25 | var form = dockMgr.Contents.OfType().FirstOrDefault(); 26 | return form as TForm; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/IConfigureSupported.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.Windows.Forms; 11 | 12 | namespace CodeBuilder.Core 13 | { 14 | public interface IConfigureSupported : IPlugin 15 | { 16 | /// 17 | /// 获取配置面板。 18 | /// 19 | /// 20 | UserControl GetOptionPanel(); 21 | } 22 | 23 | public interface IConfigurableControl 24 | { 25 | /// 26 | /// 保存。 27 | /// 28 | /// 29 | bool SaveChanges(); 30 | 31 | /// 32 | /// 33 | /// 34 | bool IsChanged { get; } 35 | 36 | /// 37 | /// 关闭 38 | /// 39 | void Close(); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/ILogQueue.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core 11 | { 12 | public interface ILogQueue 13 | { 14 | void Push(int type, string msg); 15 | } 16 | 17 | public interface ILogQueueSupported 18 | { 19 | ILogQueue GetQueue(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/INotifyWindow.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core 11 | { 12 | public interface INotifyWindow 13 | { 14 | void ShowOnNotifyIcon(); 15 | 16 | void RestoreWindow(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/IPlugin.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core 11 | { 12 | /// 13 | /// 插件定义。 14 | /// 15 | public interface IPlugin 16 | { 17 | /// 18 | /// 获取插件的名称。 19 | /// 20 | string Name { get; } 21 | 22 | /// 23 | /// 初始化。 24 | /// 25 | /// 开发环境。 26 | void Initialize(IDevHosting hosting); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/ITemplateProvider.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Source; 10 | using CodeBuilder.Core.Template; 11 | using System.Collections.Generic; 12 | using System.Threading; 13 | using System.Threading.Tasks; 14 | using System.Windows.Forms; 15 | 16 | namespace CodeBuilder.Core 17 | { 18 | /// 19 | /// 模板提供者插件。 20 | /// 21 | public interface ITemplateProvider : IPlugin 22 | { 23 | /// 24 | /// 获取插件工作目录。 25 | /// 26 | string WorkDir { get; } 27 | 28 | /// 29 | /// 生成代码文件。 30 | /// 31 | /// 模板选项。 32 | /// 所选定的数据表。 33 | /// 代码生成进度通知。 34 | /// 35 | /// 36 | Task GenerateFilesAsync(TemplateOption option, List tables, CodeGenerateHandler handler, CancellationToken cancellationToken = default); 37 | 38 | /// 39 | /// 获取所有模板定义。 40 | /// 41 | /// 42 | List GetTemplates(); 43 | 44 | /// 45 | /// 获取模板定义存储信息。 46 | /// 47 | /// 48 | /// 49 | TemplateStorage GetStorage(TemplateDefinition definition); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Initializers/IProfileInitializer.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Template; 10 | 11 | namespace CodeBuilder.Core.Initializers 12 | { 13 | /// 14 | /// 提供对变量进行初始化的接口。 15 | /// 16 | public interface IProfileInitializer 17 | { 18 | void Initialize(dynamic profile, TemplateDefinition template); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Initializers/ISchemaInitializer.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Initializers 11 | { 12 | /// 13 | /// 提供对架构信息进行初始化的接口。 14 | /// 15 | public interface ISchemaInitializer 16 | { 17 | void Initialize(dynamic profile, dynamic schema); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/LocalDynamicCache.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Initializers; 10 | using CodeBuilder.Core.Template; 11 | using CodeBuilder.Core.Validations; 12 | using System; 13 | using System.Collections.Generic; 14 | 15 | namespace CodeBuilder.Core 16 | { 17 | /// 18 | /// 本地动态缓存。 19 | /// 20 | public static class LocalDynamicCache 21 | { 22 | internal static Dictionary> SchemaInitializerCache { get; private set; } = new Dictionary>(); 23 | internal static List ProfileCache { get; private set; } = new List(); 24 | internal static List PartitionOutputParsers { get; private set; } = new List(); 25 | internal static Dictionary> SchemaValidatorCache { get; private set; } = new Dictionary>(); 26 | 27 | /// 28 | /// 清理所有缓存。 29 | /// 30 | public static void ClearAll() 31 | { 32 | SchemaInitializerCache.Clear(); 33 | ProfileCache.Clear(); 34 | PartitionOutputParsers.Clear(); 35 | SchemaValidatorCache.Clear(); 36 | StaticUnity.DynamicAssemblies.Clear(); 37 | } 38 | 39 | /// 40 | /// 清理 缓存。 41 | /// 42 | public static void ClearPartitionOutputParsers() 43 | { 44 | PartitionOutputParsers.Clear(); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/MainMenuKeys.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core 11 | { 12 | public class MainMenuKeys 13 | { 14 | public readonly static string File = "File"; 15 | public readonly static string Source = "Source"; 16 | public readonly static string Template = "Template"; 17 | public readonly static string Tool = "Tool"; 18 | public readonly static string Window = "Window"; 19 | public readonly static string Help = "Help"; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Profile.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core 12 | { 13 | /// 14 | /// 变量。 15 | /// 16 | public class Profile : MarshalByRefObject, IProfileInfo 17 | { 18 | private string _fileName; 19 | 20 | string IProfileInfo.FileName { get => _fileName; set => _fileName = value; } 21 | } 22 | 23 | public interface IProfileInfo 24 | { 25 | string FileName { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.Core")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CodeBuilder.Core")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("d1666cf9-864f-4ffc-885b-51785073d6b1")] 14 | [assembly: AssemblyVersion("3.4.3.1")] 15 | [assembly: AssemblyFileVersion("3.4.3.1")] -------------------------------------------------------------------------------- /src/CodeBuilder.Core/RegistryHelper.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using Microsoft.Win32; 10 | using System.Linq; 11 | 12 | namespace CodeBuilder.Core 13 | { 14 | public class RegistryHelper 15 | { 16 | public static T GetValue(string key) 17 | { 18 | var regKey = OpenSubKey(); 19 | if (!regKey.GetValueNames().Contains(key)) 20 | { 21 | return default(T); 22 | } 23 | 24 | return (T)regKey.GetValue(key); 25 | } 26 | 27 | public static void SetValue(string key, T value, RegistryValueKind kind = RegistryValueKind.String) 28 | { 29 | var regKey = OpenSubKey(); 30 | regKey.SetValue(key, value, kind); 31 | } 32 | 33 | public static bool ContainsKey(string key) 34 | { 35 | var regKey = OpenSubKey(); 36 | return regKey.GetValueNames().Contains(key); 37 | } 38 | 39 | private static RegistryKey OpenSubKey() 40 | { 41 | var regPath = "Software\\Fireasy\\CodeBuilder"; 42 | var regKey = Registry.CurrentUser.OpenSubKey(regPath, true); 43 | if (regKey == null) 44 | { 45 | regKey = Registry.CurrentUser.CreateSubKey(regPath, true); 46 | } 47 | 48 | return regKey; 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/RequiredCheckAttribute.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core 12 | { 13 | /// 14 | /// 打上此特性后会进行必填项验证。 15 | /// 16 | [AttributeUsage(AttributeTargets.Property)] 17 | public class RequiredCheckAttribute : Attribute 18 | { 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/2.gif -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/4.gif -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/App.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/App.ico -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/column.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/column.png -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/column1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/column1.png -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/column2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/column2.png -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/index.png -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/item.png -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/pk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/pk.png -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/relation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/relation.png -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/table.png -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/unique.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/unique.png -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Resources/关系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Core/Resources/关系.png -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/ChangedProperty.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Source 11 | { 12 | public class ChangedProperty 13 | { 14 | public ChangedProperty(string name, object oldValue, object newValue) 15 | { 16 | Name = name; 17 | OldValue = oldValue; 18 | NewValue = newValue; 19 | } 20 | 21 | public string Name { get; set; } 22 | 23 | public object OldValue { get; set; } 24 | 25 | public object NewValue { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/DisGenerateAttribute.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core.Source 12 | { 13 | /// 14 | /// 标记不允许生成。 15 | /// 16 | public class DisGenerateAttribute : Attribute 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/Host.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Collections.Generic; 10 | using System.ComponentModel; 11 | using System.Drawing.Design; 12 | 13 | namespace CodeBuilder.Core.Source 14 | { 15 | /// 16 | /// 提供对数据表的宿主。 17 | /// 18 | public sealed class Host 19 | { 20 | public Host() 21 | { 22 | Tables = new HashSet
(); 23 | } 24 | 25 | /// 26 | /// 获取数据表集合。 27 | /// 28 | [TypeConverter(typeof(Designer.CollectionConverter))] 29 | [Editor(typeof(Designer.DisableViewEditor), typeof(UITypeEditor))] 30 | public HashSet
Tables { get; private set; } 31 | 32 | [Description("数据库类型名称。")] 33 | public string DbType { get; set; } 34 | 35 | /// 36 | /// 将数据表附加到集合中。 37 | /// 38 | /// 39 | public void Attach(Table table) 40 | { 41 | if (Tables.Add(table)) 42 | { 43 | table.Host = this; 44 | } 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/IField.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core 11 | { 12 | public interface IField 13 | { 14 | string Name { get; set; } 15 | 16 | string Description { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/IIdentity.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Source 11 | { 12 | public interface IIdentity 13 | { 14 | string _Name { get; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/IObject.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Collections.Generic; 10 | 11 | namespace CodeBuilder.Core 12 | { 13 | public interface IObject 14 | { 15 | string Name { get; set; } 16 | 17 | string Description { get; set; } 18 | 19 | List Fields { get; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/ISchemaRepository.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Collections.Generic; 10 | 11 | namespace CodeBuilder.Core.Source 12 | { 13 | public interface ISchemaRepository 14 | { 15 | /// 16 | /// 保存架构文件。 17 | /// 18 | /// 19 | /// 20 | void SaveSchemaFile(string fileName, IEnumerable
tables); 21 | 22 | /// 23 | /// 保存关系文件。 24 | /// 25 | /// 26 | /// 27 | void SaveRelationFile(string fileName, IEnumerable
tables); 28 | 29 | /// 30 | /// 读取架构文件。 31 | /// 32 | /// 33 | /// 34 | List
ReadFile(string fileName); 35 | 36 | /// 37 | /// 读取关系文件。 38 | /// 39 | /// 40 | /// 41 | void ReadRelationFile(string fileName, IEnumerable
tables); 42 | } 43 | } -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/ISourceAssistant.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using Fireasy.Windows.Forms; 10 | using System.Collections.Generic; 11 | using System.Threading; 12 | using System.Threading.Tasks; 13 | 14 | namespace CodeBuilder.Core.Source 15 | { 16 | /// 17 | /// 数据源助手。 18 | /// 19 | public interface ISourceAssistant 20 | { 21 | string Name { get; } 22 | 23 | bool PreHandle(IEnumerable
tables); 24 | 25 | Task HandleAsync(IEnumerable
tables, CancellationToken calcelToken); 26 | 27 | void PostHandle(SourceAssistantPostHandleContext context); 28 | } 29 | 30 | public class SourceAssistantPostHandleContext 31 | { 32 | public SourceAssistantPostHandleContext(TreeList treeList) 33 | { 34 | TreeList = treeList; 35 | } 36 | 37 | public TreeList TreeList { get; set; } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/IndexColumn.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | namespace CodeBuilder.Core.Source 13 | { 14 | /// 15 | /// 索引字段 16 | /// 17 | public class IndexColumn 18 | { 19 | public IndexColumn(Column column) 20 | { 21 | Name = column.Name; 22 | } 23 | 24 | public IndexColumn() { } 25 | 26 | /// 27 | /// 名称。 28 | /// 29 | [Description("名称。")] 30 | public string Name { get; private set; } 31 | 32 | /// 33 | /// 排序,ASC或DESC。 34 | /// 35 | [Description("排序,ASC或DESC。")] 36 | public string SortOrder { get; set; } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/OpenSchemaFileException.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core.Source 12 | { 13 | public class OpenSchemaFileException : Exception 14 | { 15 | public OpenSchemaFileException(string version, string message, Exception exp) 16 | : base (message, exp) 17 | { 18 | Version = version; 19 | } 20 | 21 | public OpenSchemaFileException(string message, Exception exp) 22 | : base(message, exp) 23 | { 24 | } 25 | 26 | public string Version { get; set; } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/SchemaBase.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.ComponentModel; 11 | 12 | namespace CodeBuilder.Core.Source 13 | { 14 | public interface _IIdentity 15 | { 16 | string _ID { get; set; } 17 | } 18 | 19 | public abstract class SchemaBase : _IIdentity 20 | { 21 | protected SchemaBase() 22 | { 23 | _ID = Guid.NewGuid().ToString(); 24 | } 25 | 26 | /// 27 | /// 获取或设置唯一标识。 28 | /// 29 | [Browsable(false)] 30 | public string _ID { get; set; } 31 | 32 | public override bool Equals(object obj) 33 | { 34 | return ((SchemaBase)obj)._ID == _ID; 35 | } 36 | 37 | public override int GetHashCode() 38 | { 39 | return _ID.GetHashCode(); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/SchemaExtensionAttribute.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core.Source 12 | { 13 | /// 14 | /// 提供对架构的扩展类。 15 | /// 16 | [AttributeUsage(AttributeTargets.Class)] 17 | public class SchemaExtensionAttribute : Attribute 18 | { 19 | public SchemaExtensionAttribute(Type schemaType) 20 | { 21 | SchemaType = schemaType; 22 | } 23 | 24 | /// 25 | /// 获取或设置提供扩展的架构类型。 26 | /// 27 | public Type SchemaType { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/SchemaInitializerAttribute.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core.Source 12 | { 13 | /// 14 | /// 提供对架构初始化的类。 15 | /// 16 | [AttributeUsage(AttributeTargets.Class)] 17 | public class SchemaInitializerAttribute : Attribute 18 | { 19 | public SchemaInitializerAttribute(Type schemaType) 20 | { 21 | SchemaType = schemaType; 22 | } 23 | 24 | /// 25 | /// 获取或设置提供初始化的架构类型。 26 | /// 27 | public Type SchemaType { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/SchemaValidatorAttribute.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core.Source 12 | { 13 | /// 14 | /// 提供架构验证的类。 15 | /// 16 | [AttributeUsage(AttributeTargets.Class)] 17 | public class SchemaValidatorAttribute : Attribute 18 | { 19 | public SchemaValidatorAttribute(Type schemaType) 20 | { 21 | SchemaType = schemaType; 22 | } 23 | 24 | /// 25 | /// 获取或设置提供验证的架构类型。 26 | /// 27 | public Type SchemaType { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Source/TableSchemaProcessHandler.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core 11 | { 12 | /// 13 | /// 数据表处理的通知委托。 14 | /// 15 | /// 当前处理的表对象。 16 | /// 当前的进度百分比。 17 | public delegate void TableSchemaProcessHandler(string current, int percentage); 18 | } 19 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/SourceOption.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Collections.Generic; 10 | 11 | namespace CodeBuilder.Core 12 | { 13 | /// 14 | /// 数据源选项。 15 | /// 16 | public class SourceOption 17 | { 18 | /// 19 | /// 获取或设置是否读取视图。 20 | /// 21 | public bool View { get; set; } 22 | 23 | /// 24 | /// 获取或设置是否跳过获取架构。 25 | /// 26 | public bool SkipSchema { get; set; } 27 | 28 | /// 29 | /// 获取或设置是否为追加方式。 30 | /// 31 | public bool Append { get; set; } 32 | 33 | /// 34 | /// 获取或设置是否为同步方式。 35 | /// 36 | public bool Synchronize { get; set; } 37 | 38 | /// 39 | /// 获取或设置选中的数据表名称。 40 | /// 41 | public List Selected { get; set; } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/StaticUnity.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Collections.Generic; 10 | using System.Text; 11 | 12 | namespace CodeBuilder.Core 13 | { 14 | /// 15 | /// 静态辅助类。 16 | /// 17 | public class StaticUnity 18 | { 19 | public static List DynamicAssemblies { get; set; } = new List(); 20 | 21 | public static Encoding Encoding { get; set; } = Encoding.Default; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Template/CodeGenerateHandler.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Template 11 | { 12 | /// 13 | /// 代码生成的通知委托。 14 | /// 15 | /// 当前生成的内容。 16 | /// 当前的进度百分比。 17 | public delegate void CodeGenerateHandler(string current, int percentage); 18 | } 19 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Template/GenerateResult.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Collections.Generic; 10 | 11 | namespace CodeBuilder.Core.Template 12 | { 13 | /// 14 | /// 生成结果。 15 | /// 16 | public class GenerateResult 17 | { 18 | /// 19 | /// 获取或设置是否有错误。 20 | /// 21 | public bool HasError { get; set; } 22 | 23 | public List Partitions { get; set; } = new List(); 24 | } 25 | 26 | public class GeneratePartitionResult 27 | { 28 | /// 29 | /// 30 | /// 31 | /// 部件。 32 | /// 生成的内容。 33 | public GeneratePartitionResult(PartitionDefinition part, string content) 34 | { 35 | Partition = part; 36 | Content = content; 37 | WriteToDisk = !string.IsNullOrEmpty(part.FilePath); 38 | } 39 | 40 | /// 41 | /// 获取生成的内容。 42 | /// 43 | public string Content { get; private set; } 44 | 45 | /// 46 | /// 获取生成的部件。 47 | /// 48 | public PartitionDefinition Partition { get; private set; } 49 | 50 | /// 51 | /// 获取是否写入到磁盘。 52 | /// 53 | public bool WriteToDisk { get; private set; } 54 | 55 | /// 56 | /// 清空内容。 57 | /// 58 | public void Clear() 59 | { 60 | Content = null; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Template/GroupDefinition.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Collections.Generic; 10 | 11 | namespace CodeBuilder.Core.Template 12 | { 13 | /// 14 | /// 组的定义。 15 | /// 16 | public class GroupDefinition 17 | { 18 | public GroupDefinition() 19 | { 20 | Groups = new List(); 21 | Partitions = new List(); 22 | } 23 | 24 | /// 25 | /// 获取或设置组的名称。 26 | /// 27 | public string Name { get; set; } 28 | 29 | /// 30 | /// 获取或设置颜色。 31 | /// 32 | public string Color { get; set; } 33 | 34 | /// 35 | /// 获取子级分组集合。 36 | /// 37 | public List Groups { get; private set; } 38 | 39 | /// 40 | /// 获取部件集合。 41 | /// 42 | public List Partitions { get; private set; } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Template/IPartitionOutputParser.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Template 11 | { 12 | /// 13 | /// 部件输出路径的解析器。 14 | /// 15 | public interface IPartitionOutputParser 16 | { 17 | void Parse(OutputParseContext context); 18 | } 19 | 20 | public class OutputParseContext 21 | { 22 | public OutputParseContext(string output, dynamic schema, dynamic profile) 23 | { 24 | Schema = schema; 25 | Profile = profile; 26 | Result = output; 27 | } 28 | 29 | public dynamic Schema { get; } 30 | 31 | public dynamic Profile { get; } 32 | 33 | public string Result { get; set; } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Template/PartitionDefinition.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | using Newtonsoft.Json; 11 | using System.IO; 12 | 13 | namespace CodeBuilder.Core.Template 14 | { 15 | /// 16 | /// 部件定义。 17 | /// 18 | public class PartitionDefinition 19 | { 20 | /// 21 | /// 获取或设置部件名称。 22 | /// 23 | public string Name { get; set; } 24 | 25 | /// 26 | /// 获取或设置模板文件名称。 27 | /// 28 | public string FileName { get; set; } 29 | 30 | /// 31 | /// 获取或设置模板文件路径。 32 | /// 33 | [JsonIgnore] 34 | public string FilePath { get; set; } 35 | 36 | /// 37 | /// 获取或设置输出定义。 38 | /// 39 | public string Output { get; set; } 40 | 41 | /// 42 | /// 获取或设置循环的类别。 43 | /// 44 | public PartitionLoop Loop { get; set; } 45 | 46 | /// 47 | /// 获取或设置语法。 48 | /// 49 | public string Syntax { get; set; } 50 | 51 | /// 52 | /// 获取或设置颜色。 53 | /// 54 | public string Color { get; set; } 55 | 56 | /// 57 | /// 获取模板文件的内容。 58 | /// 59 | [JsonIgnore] 60 | public virtual string Content 61 | { 62 | get 63 | { 64 | return File.ReadAllText(FilePath); 65 | } 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Template/PartitionLoop.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Template 11 | { 12 | /// 13 | /// 部件循环的类别。 14 | /// 15 | public enum PartitionLoop 16 | { 17 | /// 18 | /// 非循环。 19 | /// 20 | None, 21 | /// 22 | /// 循环所有数据表。 23 | /// 24 | Tables, 25 | /// 26 | /// 循环所有关系。 27 | /// 28 | References 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Template/ResourceWriter.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.IO; 10 | 11 | namespace CodeBuilder.Core.Template 12 | { 13 | /// 14 | /// 资源写入器。 15 | /// 16 | public static class ResourceWriter 17 | { 18 | /// 19 | /// 将模板定义中的资源输出到指定的目录下。 20 | /// 21 | /// 模板定义。 22 | /// 变量对象。 23 | /// 输出路径。 24 | public static void Write(TemplateDefinition template, Profile profile, string output) 25 | { 26 | if (template.Resources.Count == 0) 27 | { 28 | return; 29 | } 30 | 31 | var paser = new Parser(); 32 | 33 | var path = Path.Combine(template.ConfigFileName.Substring(0, template.ConfigFileName.LastIndexOf(".")), "Resources"); 34 | foreach (var res in template.Resources) 35 | { 36 | var source = Path.Combine(path, res); 37 | var res1 = Parser.PreParse(null, profile, res); 38 | var desc = paser.Parse(null, profile, Path.Combine(output, res1)); 39 | var descDir = new FileInfo(desc).DirectoryName; 40 | if (!Directory.Exists(descDir)) 41 | { 42 | Directory.CreateDirectory(descDir); 43 | } 44 | 45 | File.Copy(source, desc, true); 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Template/TemplateDirectory.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Collections.Generic; 10 | 11 | namespace CodeBuilder.Core.Template 12 | { 13 | /// 14 | /// 模板目录。 15 | /// 16 | public class TemplateDirectory 17 | { 18 | public TemplateDirectory(string name) 19 | { 20 | Name = name; 21 | Directories = new List(); 22 | Files = new List(); 23 | } 24 | 25 | /// 26 | /// 获取或设置目录名称。 27 | /// 28 | public string Name { get; set; } 29 | 30 | /// 31 | /// 获取或设置颜色。 32 | /// 33 | public string Color { get; set; } 34 | 35 | /// 36 | /// 获取子目录列表。 37 | /// 38 | public List Directories { get; private set; } 39 | 40 | /// 41 | /// 获取文件列表。 42 | /// 43 | public List Files { get; private set; } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Template/TemplateExtension.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.Collections.Generic; 11 | 12 | namespace CodeBuilder.Core.Template 13 | { 14 | /// 15 | /// 模板扩展。 16 | /// 17 | public class TemplateExtension 18 | { 19 | /// 20 | /// 使用基础的扩展文件。 21 | /// 22 | public bool UseBase { get; set; } = true; 23 | 24 | /// 25 | /// 获取或设置公共扩展文件列表。 26 | /// 27 | public List Common { get; set; } 28 | 29 | /// 30 | /// 获取或设置架构扩展文件列表。 31 | /// 32 | public List Schema { get; set; } 33 | 34 | /// 35 | /// 获取或设置变量扩展文件列表。 36 | /// 37 | public List Profile { get; set; } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/TemplateOption.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Template; 10 | using System.Collections.Generic; 11 | 12 | namespace CodeBuilder.Core 13 | { 14 | /// 15 | /// 生成代码时的模板选项。 16 | /// 17 | public class TemplateOption 18 | { 19 | /// 20 | /// 获取或设置模板定义。 21 | /// 22 | public TemplateDefinition Template { get; set; } 23 | 24 | /// 25 | /// 获取或设置要生成的部件。 26 | /// 27 | public List Partitions { get; set; } 28 | 29 | /// 30 | /// 获取或设置输出目录。 31 | /// 32 | public string OutputDirectory { get; set; } 33 | 34 | /// 35 | /// 获取动态程序集路径。 36 | /// 37 | public List DynamicAssemblies { get; } = new List(); 38 | 39 | /// 40 | /// 获取或设置变量实例。 41 | /// 42 | public Profile Profile { get; set; } 43 | 44 | /// 45 | /// 获取或设置是否输出到磁盘。 46 | /// 47 | public bool WriteToDisk { get; set; } 48 | 49 | /// 50 | /// 获取或设置文件存在时是否跳过。 51 | /// 52 | public bool SkipWhenFileExists { get; set; } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/ThreadHelper.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.Threading; 11 | 12 | namespace CodeBuilder.Core 13 | { 14 | public static class ThreadHelper 15 | { 16 | public static void Start(Action action) 17 | { 18 | var thread = new Thread(new ThreadStart(action)); 19 | thread.IsBackground = true; 20 | thread.Start(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Tool/IBootstrapTool.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Tool 11 | { 12 | /// 13 | /// 引导性工具。 14 | /// 15 | public interface IBootstrapTool 16 | { 17 | /// 18 | /// 运行工具。 19 | /// 20 | void Run(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Tool/MultipleToolProviderBase.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.Collections.Generic; 11 | using System.Windows.Forms; 12 | 13 | namespace CodeBuilder.Core.Tool 14 | { 15 | public abstract class MultipleToolProviderBase : IMultipleToolProvider 16 | { 17 | protected IDevHosting _hosting; 18 | 19 | public virtual IEnumerable SubItems { get; } = new List(); 20 | 21 | public abstract string Name { get; } 22 | 23 | public abstract Form Execute(string name, params object[] arguments); 24 | 25 | public Form Execute(params object[] arguments) 26 | { 27 | throw new NotImplementedException(); 28 | } 29 | 30 | public void Initialize(IDevHosting hosting) 31 | { 32 | _hosting = hosting; 33 | 34 | OnInitialize(hosting); 35 | } 36 | 37 | protected virtual void OnInitialize(IDevHosting hosting) 38 | { 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Tool/ToolShortcutHelper.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using Fireasy.Common.Extensions; 10 | using System; 11 | using System.IO; 12 | using System.Windows.Forms; 13 | 14 | namespace CodeBuilder.Core.Tool 15 | { 16 | public class ToolShortcutHelper 17 | { 18 | public static void Create(IDevHosting hosting, string toolName) 19 | { 20 | try 21 | { 22 | var desk = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop); 23 | var linkFile = Path.Combine(desk, toolName + ".lnk"); 24 | var shell = new IWshRuntimeLibrary.WshShell(); 25 | IWshRuntimeLibrary.IWshShortcut shortcut = shell.CreateShortcut(linkFile); 26 | shortcut.TargetPath = Application.ExecutablePath; 27 | shortcut.WorkingDirectory = hosting.WorkPath; 28 | shortcut.Arguments = "-tool:" + toolName; 29 | shortcut.Save(); 30 | 31 | hosting.ShowInfo("已添加桌面快捷方式!"); 32 | } 33 | catch (Exception exp) 34 | { 35 | hosting.ShowError("桌面快捷方式添加失败!\n" + exp.Output()); 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/UICustomizedAttribute.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core 12 | { 13 | /// 14 | /// 表示可定制化。 15 | /// 16 | public class UICustomizedAttribute : Attribute 17 | { 18 | public UICustomizedAttribute(string name, int width) 19 | { 20 | Name = name; 21 | Width = width; 22 | } 23 | 24 | /// 25 | /// 获取或设置显示的名称。 26 | /// 27 | public string Name { get; set; } 28 | 29 | /// 30 | /// 获取或设置显示的宽度。 31 | /// 32 | public int Width { get; set; } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/UnPersistentlyAttribute.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core 12 | { 13 | /// 14 | /// 表示不被持久化。打上此特性后,属性不会被保存到本地文件中。 15 | /// 16 | [AttributeUsage(AttributeTargets.Property)] 17 | public class UnPersistentlyAttribute : Attribute 18 | { 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Validations/ISchemaValidator.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Core.Validations 11 | { 12 | /// 13 | /// 架构验证器。 14 | /// 15 | public interface ISchemaValidator 16 | { 17 | ValidateResult Validate(dynamic schema); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Variable/BaseExtensionManager.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using Fireasy.Common.Extensions; 10 | using System; 11 | using System.ComponentModel; 12 | using System.Linq; 13 | using System.Reflection; 14 | 15 | namespace CodeBuilder.Core.Variable 16 | { 17 | public class BaseExtensionManager 18 | { 19 | /// 20 | /// 初始化对象的默认值。 21 | /// 22 | /// 23 | /// 24 | /// 25 | protected static T InitializeDefaultValue(T obj, Type _wrapType) 26 | { 27 | if (obj == null) 28 | { 29 | return default; 30 | } 31 | 32 | var map = _wrapType.GetProperties(BindingFlags.Public | BindingFlags.Instance) 33 | .Where(s => s.CanWrite) 34 | .Select(s => new { Property = s, DefaultValue = s.GetCustomAttributes().FirstOrDefault() }) 35 | .Where(s => s.DefaultValue != null) 36 | .ToArray(); 37 | 38 | foreach (var item in map) 39 | { 40 | item.Property.SetValue(obj, item.DefaultValue.Value.To(item.Property.PropertyType)); 41 | } 42 | 43 | return obj; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Variable/CompileException.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder.Core.Variable 12 | { 13 | public class CompileException : Exception 14 | { 15 | public CompileException(string message, Exception exception) 16 | : base(message, exception) 17 | { 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Variable/ICompileManager.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Template; 10 | using System.Collections.Generic; 11 | 12 | namespace CodeBuilder.Core.Variable 13 | { 14 | public interface ICompileManager 15 | { 16 | CompileResult Common { get; } 17 | 18 | CompileResult Profile { get; } 19 | 20 | CompileResult Schema { get; } 21 | 22 | CompileResult ProfileWrap { get; } 23 | 24 | Dictionary SchemaWrap { get; } 25 | 26 | void Compile(TemplateDefinition definition, bool forceBuild = true); 27 | 28 | void ClearExpiredFiles(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Variable/IProfileExtensionManager.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Template; 10 | using System; 11 | using System.Collections.Generic; 12 | 13 | namespace CodeBuilder.Core.Variable 14 | { 15 | public interface IProfileExtensionManager 16 | { 17 | /// 18 | /// 编译生成一个变量。 19 | /// 20 | /// 模板定义。 21 | Profile Build(TemplateDefinition definition); 22 | 23 | /// 24 | /// 获取变量的包装类。 25 | /// 26 | /// 模板定义。 27 | /// 28 | Type GetWrapType(); 29 | 30 | /// 31 | /// 获取变量的所有属性映射。 32 | /// 33 | /// 模板定义。 34 | /// 35 | List GetPropertyMaps(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/Variable/ISchemaExtensionManager.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Template; 10 | using System; 11 | using System.Collections.Generic; 12 | 13 | namespace CodeBuilder.Core.Variable 14 | { 15 | public interface ISchemaExtensionManager 16 | { 17 | /// 18 | /// 初始化模板。 19 | /// 20 | /// 模板定义。 21 | void Initialize(TemplateDefinition definition); 22 | 23 | /// 24 | /// 构造一个代理对象。 25 | /// 26 | /// 27 | /// 构造器参数。 28 | /// 29 | T Build(params object[] arguments); 30 | 31 | /// 32 | /// 获取包装过的类型。 33 | /// 34 | /// 35 | /// 36 | Type GetWrapType(); 37 | 38 | /// 39 | /// 获取变量的所有属性映射。 40 | /// 41 | /// 42 | /// 43 | List GetPropertyMaps(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/WebHelper.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.IO; 11 | using System.Security.Cryptography; 12 | using System.Text; 13 | 14 | namespace CodeBuilder.Core 15 | { 16 | public static class WebHelper 17 | { 18 | public static readonly string HomeUrl = "http://www.fireasy.cn"; 19 | 20 | public static string GetRedirectUrl(IDevHosting hosting, string url) 21 | { 22 | return hosting.IsAuthorized ? $"{HomeUrl}/user/accept?token={Uri.EscapeDataString(Encrypt(hosting.GetConfig("AccessToken")?.ToString()))}&redirect={Uri.EscapeDataString(url)}" : $"{HomeUrl}{url}"; 23 | } 24 | 25 | public static string Encrypt(string str) 26 | { 27 | var key = new byte[] { 78, 5, 66, 34, 121, 34, 89, 41, 67, 90, 33, 45, 121, 15, 63, 93 }; 28 | var iv = new byte[] { 171, 52, 46, 54, 71, 56, 45, 51, 6, 6, 76, 23, 76, 32, 87, 74 }; 29 | using (var aes = Aes.Create()) 30 | using (var trans = aes.CreateEncryptor(key, iv)) 31 | using (var stream = new MemoryStream()) 32 | { 33 | var cryptStream = new CryptoStream(stream, trans, CryptoStreamMode.Write); 34 | var buffer = Encoding.UTF8.GetBytes(str); 35 | cryptStream.Write(buffer, 0, buffer.Length); 36 | cryptStream.FlushFinalBlock(); 37 | 38 | return Convert.ToBase64String(stream.ToArray()); 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/CodeBuilder.Core/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/CodeBuilder.Database/DbSourceStruct.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder.Database 11 | { 12 | public class DbSourceStruct 13 | { 14 | public string Name { get; set; } 15 | 16 | public string Type { get; set; } 17 | 18 | public string ConnectionString { get; set; } 19 | 20 | public override bool Equals(object obj) 21 | { 22 | if (obj is DbSourceStruct str) 23 | { 24 | return Type == str.Type && ConnectionString == str.ConnectionString; 25 | } 26 | 27 | return false; 28 | } 29 | 30 | public override string ToString() 31 | { 32 | return "(" + Type + "): " + ConnectionString; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/CodeBuilder.Database/IConnectionConfig.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.Windows.Forms; 11 | 12 | namespace CodeBuilder.Database 13 | { 14 | public interface IConnectionConfig 15 | { 16 | string ConnectionString { get; set; } 17 | 18 | DialogResult ShowDialog(IntPtr handle); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/CodeBuilder.Database/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.Database")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("Fireasy")] 8 | [assembly: AssemblyProduct("CodeBuilder.Database")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("fd7b6b4d-7701-48f5-aea0-1850c3c779c1")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.Database/Resources/database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Database/Resources/database.png -------------------------------------------------------------------------------- /src/CodeBuilder.Database/Resources/table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Database/Resources/table.png -------------------------------------------------------------------------------- /src/CodeBuilder.Database/Resources/view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Database/Resources/view.png -------------------------------------------------------------------------------- /src/CodeBuilder.Database/config/datasources.cfg: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "Name": "northwind", 4 | "Type": "SQLite", 5 | "ConnectionString": "Data source=|datadirectory|db\\Northwind.db3;Pooling=True" 6 | } 7 | ] -------------------------------------------------------------------------------- /src/CodeBuilder.Database/frmSQLiteConfig.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using Fireasy.Data; 11 | using Fireasy.Data.Provider; 12 | using System.Windows.Forms; 13 | 14 | namespace CodeBuilder.Database 15 | { 16 | public partial class frmSQLiteConfig : frmConfigBase 17 | { 18 | public frmSQLiteConfig(IDevHosting hosting) 19 | { 20 | InitializeComponent(); 21 | _hosting = hosting; 22 | } 23 | 24 | protected override void ParseConnectionStr(ConnectionProperties properties) 25 | { 26 | if (!string.IsNullOrWhiteSpace(ConnectionString)) 27 | { 28 | txtFile.Text = properties.TryGetValue("data source"); 29 | } 30 | } 31 | 32 | protected override string BuildConnectionStr() 33 | { 34 | return $"data source={txtFile.Text};pooling=True"; 35 | } 36 | 37 | private void btnBrowse_Click(object sender, System.EventArgs e) 38 | { 39 | using (var dialog = new OpenFileDialog()) 40 | { 41 | dialog.Filter = "SQLite DB|*.db3|所有文件|*.*"; 42 | dialog.FileName = txtFile.Text; 43 | 44 | if (dialog.ShowDialog() == DialogResult.OK) 45 | { 46 | txtFile.Text = dialog.FileName; 47 | } 48 | } 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/CodeBuilder.DbSchema/PdmDefinition.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Source; 10 | using System.Collections.Generic; 11 | 12 | namespace CodeBuilder.DbSchema 13 | { 14 | public class PdmAbstract 15 | { 16 | public string Name { get; set; } 17 | } 18 | 19 | public class PdmDefinition 20 | { 21 | public List Schemas { get; set; } = new List(); 22 | } 23 | 24 | public class PdmSchema : PdmAbstract 25 | { 26 | public List Tables { get; set; } = new List(); 27 | } 28 | 29 | public class PdmTable : Table 30 | { 31 | public PdmTable() 32 | : base() 33 | { 34 | } 35 | 36 | public PdmTable(bool isView) 37 | : base(isView) 38 | { 39 | } 40 | 41 | public string Uri { get; set; } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/CodeBuilder.DbSchema/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.DbSchema")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CodeBuilder.DbSchema")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("0bd62480-3dab-4234-8cb9-759b63e2028c")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.DbSchema/Resources/dbschema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.DbSchema/Resources/dbschema.png -------------------------------------------------------------------------------- /src/CodeBuilder.DbSchema/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/CodeBuilder.ExportTool/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.ExportTool")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CodeBuilder.ExportTool")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("4b80c0cb-2f9b-4ef7-ac3f-6fddfd849580")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.ExportTool/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/CodeBuilder.ExportTool/template.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.ExportTool/template.docx -------------------------------------------------------------------------------- /src/CodeBuilder.ExportTool/template.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.ExportTool/template.xlsx -------------------------------------------------------------------------------- /src/CodeBuilder.JsonTool/JsonFormatter.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using System.ComponentModel.Composition; 11 | using System.Windows.Forms; 12 | using WeifenLuo.WinFormsUI.Docking; 13 | 14 | namespace CodeBuilder.JsonTool 15 | { 16 | [Export(typeof(IToolProvider))] 17 | public class JsonFormatter : IToolProvider 18 | { 19 | private IDevHosting _hosting; 20 | 21 | public string Name 22 | { 23 | get { return "JSON格式化"; } 24 | } 25 | 26 | public void Initialize(IDevHosting hosting) 27 | { 28 | _hosting = hosting; 29 | } 30 | 31 | public Form Execute(params object[] arguments) 32 | { 33 | var form = new frmJsonFormatter(_hosting); 34 | if (_hosting.DockContainer != null) 35 | { 36 | form.Show((DockPanel)_hosting.DockContainer, DockState.Document); 37 | } 38 | else 39 | { 40 | form.Show(); 41 | } 42 | 43 | return form; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/CodeBuilder.JsonTool/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.JsonTool")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CodeBuilder.JsonTool")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("5bb6f06b-e752-426c-b1e5-5fc6f487d241")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.JsonTool/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/CodeBuilder.JsonTool/frmMark.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Forms; 10 | using System; 11 | using System.Drawing; 12 | using System.Windows.Forms; 13 | 14 | namespace CodeBuilder.JsonTool 15 | { 16 | public partial class frmMark : FormBase 17 | { 18 | public frmMark() 19 | { 20 | InitializeComponent(); 21 | } 22 | 23 | public string MarkText 24 | { 25 | get { return textBox1.Text; } 26 | set { textBox1.Text = value; } 27 | } 28 | 29 | public bool ClearMarks => chkClear.Checked; 30 | 31 | public Color? MarkColor { get; set; } 32 | 33 | private void button1_Click(object sender, EventArgs e) 34 | { 35 | if (cboColor.SelectedIndex > -1) 36 | { 37 | MarkColor = Color.FromName(cboColor.SelectedItem.ToString()); 38 | } 39 | 40 | DialogResult = DialogResult.OK; 41 | } 42 | 43 | private void cboColor_DrawItem(object sender, DrawItemEventArgs e) 44 | { 45 | if (e.Index == -1) 46 | { 47 | return; 48 | } 49 | 50 | var colorName = cboColor.Items[e.Index].ToString(); 51 | var color = Color.FromName(colorName); 52 | e.Graphics.FillRectangle(new SolidBrush(color), e.Bounds); 53 | e.Graphics.DrawString(colorName, cboColor.Font, SystemBrushes.WindowText, e.Bounds, new StringFormat { LineAlignment = StringAlignment.Center }); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/CodeBuilder.JsonTool/frmWeburl.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Forms; 10 | using System; 11 | using System.Windows.Forms; 12 | 13 | namespace CodeBuilder.JsonTool 14 | { 15 | public partial class frmWeburl : FormBase 16 | { 17 | public frmWeburl() 18 | { 19 | InitializeComponent(); 20 | } 21 | 22 | public string Weburl 23 | { 24 | get { return textBox1.Text; } 25 | set { textBox1.Text = value; } 26 | } 27 | 28 | private void button1_Click(object sender, EventArgs e) 29 | { 30 | DialogResult = DialogResult.OK; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/CodeBuilder.JsonTool/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /src/CodeBuilder.NVelocity/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.NVelocity")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CodeBuilder.NVelocity")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("b8962e8e-7a5d-497a-9fd4-1639ec15a1fa")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.NVelocity/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/CodeBuilder.PDManer/PdmParser.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using Newtonsoft.Json; 10 | using System.IO; 11 | using System.Linq; 12 | 13 | namespace CodeBuilder.PDManer 14 | { 15 | public class PdmParser 16 | { 17 | public static PdmDefinition Parse(string fileName) 18 | { 19 | var content = File.ReadAllText(fileName); 20 | var definition = JsonConvert.DeserializeObject(content); 21 | if (definition.ViewGroups.Count > 0) 22 | { 23 | foreach (var view in definition.ViewGroups) 24 | { 25 | view.Entities = view.RefEntities.Select(s => definition.Entities.FirstOrDefault(t => t.Id == s)).ToList(); 26 | } 27 | } 28 | 29 | return definition; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/CodeBuilder.PDManer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.PDManer")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CodeBuilder.PDManer")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("47d3a0e7-e738-458c-8b32-ec2284689d87")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.PDManer/Resources/pdmaner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.PDManer/Resources/pdmaner.png -------------------------------------------------------------------------------- /src/CodeBuilder.PDManer/SourceGuide.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 5 | // (c) Copyright Fireasy. All rights reserved. 6 | // 7 | // ----------------------------------------------------------------------- 8 | using CodeBuilder.Core.Source; 9 | using Fireasy.Common.Extensions; 10 | using System.Collections.Generic; 11 | using System.Drawing; 12 | using System.Windows.Forms; 13 | 14 | namespace CodeBuilder.PDManer 15 | { 16 | public class SourceGuide : ISourceGuide 17 | { 18 | private Dictionary _controls = new Dictionary(); 19 | private string[] _titles = new[] { "PDManer - 选择文件", "PDManer - 选择数据表" }; 20 | 21 | Image ISourceGuide.Image => Properties.Resources.pdmaner; 22 | 23 | string ISourceGuide.Description => "读取使用 PDManer 工具设计的数据库模型。"; 24 | 25 | void ISourceGuide.Reset() 26 | { 27 | _controls.ForEach(s => s.Value.Dispose()); 28 | _controls.Clear(); 29 | } 30 | 31 | (string Title, bool HasNext, Control Control) ISourceGuide.Show(int step, params object[] arguments) 32 | { 33 | if (!_controls.TryGetValue(step, out var control)) 34 | { 35 | switch (step) 36 | { 37 | case 1: 38 | control = new Guide_SelectFile(); 39 | break; 40 | } 41 | 42 | _controls.Add(step, control); 43 | } 44 | 45 | return (_titles[step - 1], step < 3, control); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/CodeBuilder.PDManer/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/CodeBuilder.PDManer/config/pdman.cfg: -------------------------------------------------------------------------------- 1 | { 2 | "string": "String", 3 | "double": "Decimal", 4 | "int": "Int32", 5 | "date": "DateTime", 6 | "bytes": "Binary", 7 | "largeText": "String" 8 | } -------------------------------------------------------------------------------- /src/CodeBuilder.PDManer/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /src/CodeBuilder.PdfTool/PdfConverter.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using System.ComponentModel.Composition; 11 | using System.Windows.Forms; 12 | using WeifenLuo.WinFormsUI.Docking; 13 | 14 | namespace CodeBuilder.PdfTool 15 | { 16 | [Export(typeof(IToolProvider))] 17 | public class PdfConverter : IToolProvider 18 | { 19 | private IDevHosting _hosting; 20 | 21 | public string Name => "PDF转换器"; 22 | 23 | public Form Execute(params object[] arguments) 24 | { 25 | var form = new frmToImg(_hosting); 26 | if (_hosting.DockContainer != null) 27 | { 28 | form.Show((DockPanel)_hosting.DockContainer, DockState.Document); 29 | } 30 | else 31 | { 32 | form.Show(); 33 | } 34 | 35 | return form; 36 | } 37 | 38 | public void Initialize(IDevHosting hosting) 39 | { 40 | _hosting = hosting; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/CodeBuilder.PdfTool/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.PdfTool")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CodeBuilder.PdfTool")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("6bb4bf3b-17c6-415d-a36f-f91158790f3f")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.PdfTool/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/CodeBuilder.PdfTool/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/CodeBuilder.PowerDesigner/PdmDefinition.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Source; 10 | using System.Collections.Generic; 11 | 12 | namespace CodeBuilder.PowerDesigner 13 | { 14 | public class PdmAbstract 15 | { 16 | public string Id { get; set; } 17 | 18 | public string Name { get; set; } 19 | } 20 | 21 | public class PdmDefinition 22 | { 23 | public List Diagrams { get; set; } = new List(); 24 | 25 | public List Packages { get; set; } = new List(); 26 | } 27 | 28 | public class PdmPackage : PdmAbstract 29 | { 30 | public PdmPackage Parent { get; set; } 31 | 32 | public List Diagrams { get; set; } = new List(); 33 | 34 | public List Packages { get; set; } = new List(); 35 | } 36 | 37 | public class PdmDiagram : PdmAbstract 38 | { 39 | public PdmPackage Parent { get; set; } 40 | 41 | public List Tables { get; set; } = new List(); 42 | } 43 | 44 | public class PdmTable : Table 45 | { 46 | public string Id { get; set; } 47 | 48 | public string Uri { get; set; } 49 | 50 | public PdmDiagram Parent { get; set; } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/CodeBuilder.PowerDesigner/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.PowerDesigner")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CodeBuilder.PowerDesigner")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("0bd62480-3dab-4234-8cb9-759b63e2028c")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.PowerDesigner/Resources/powerdesigner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.PowerDesigner/Resources/powerdesigner.png -------------------------------------------------------------------------------- /src/CodeBuilder.PowerDesigner/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/CodeBuilder.PowerDesigner/config/pd.cfg: -------------------------------------------------------------------------------- 1 | { 2 | "MYSQL": "MySql", 3 | "MSSQLSRV": "SqlServer", 4 | "ORA": "Oracle", 5 | "PGSQL": "PostgreSql", 6 | "SYASA": "SqlAnywhere", 7 | "DB2": "DB2", 8 | "InterBase": "Interbase", 9 | "Access": "Access", 10 | "Hive": "Hive", 11 | "Ingres": "Ingres", 12 | "INFORMIX": "Informix", 13 | "Teradata": "Teradata" 14 | } -------------------------------------------------------------------------------- /src/CodeBuilder.PowerDesigner/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /src/CodeBuilder.Razor/OptionPanel.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using System.Windows.Forms; 11 | 12 | namespace CodeBuilder.Razor 13 | { 14 | public partial class OptionPanel : UserControl 15 | { 16 | private readonly IDevHosting _hosting; 17 | 18 | public OptionPanel(IDevHosting hosting) 19 | { 20 | InitializeComponent(); 21 | _hosting = hosting; 22 | } 23 | 24 | private void button1_Click(object sender, System.EventArgs e) 25 | { 26 | using (var frm = new frmOption(_hosting)) 27 | { 28 | if (frm.ShowDialog() == DialogResult.OK) 29 | { 30 | } 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/CodeBuilder.Razor/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.Razor")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CodeBuilder.Razor")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("476f19e4-69b0-407d-b2ec-3c323017942e")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.Razor/TemplateCompileException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace CodeBuilder.Razor 4 | { 5 | public class TemplateCompileException : Exception 6 | { 7 | public TemplateCompileException(string message, Exception innerException) : 8 | base(message, innerException) 9 | { 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/CodeBuilder.Razor/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 |
5 |
6 |
7 | 8 | CodeBuilder.Razor.AA, CodeBuilder.Razor 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 | -------------------------------------------------------------------------------- /src/CodeBuilder.Razor/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /src/CodeBuilder.RssReader/CodeBuilder.RssReader.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ProjectFiles 5 | 6 | -------------------------------------------------------------------------------- /src/CodeBuilder.RssReader/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.RssReader")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CodeBuilder.RssReader")] 9 | [assembly: AssemblyCopyright("Copyright © 2023")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("733baf59-43a4-4623-abfc-e0ad722a8ec0")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.RssReader/RssReader.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using CodeBuilder.Core.Forms; 11 | using CodeBuilder.Core.Tool; 12 | using Fireasy.Common.Extensions; 13 | using System.ComponentModel.Composition; 14 | using System.Windows.Forms; 15 | using WeifenLuo.WinFormsUI.Docking; 16 | 17 | namespace CodeBuilder.RssReader 18 | { 19 | [Export(typeof(IToolProvider))] 20 | public class RssReader : IToolProvider, IBootstrapTool 21 | { 22 | private IDevHosting _hosting; 23 | 24 | public string Name => "RSS订阅器"; 25 | 26 | public void Initialize(IDevHosting hosting) 27 | { 28 | _hosting = hosting; 29 | } 30 | 31 | public Form Execute(params object[] arguments) 32 | { 33 | var form = new frmRssReader(_hosting); 34 | if (_hosting.DockContainer != null) 35 | { 36 | form.Show((DockPanel)_hosting.DockContainer, DockState.Document); 37 | } 38 | else 39 | { 40 | form.Show(); 41 | } 42 | 43 | return form; 44 | } 45 | 46 | public void Run() 47 | { 48 | var windowSetManager = _hosting.ServiceProvider.TryGetService(); 49 | if (windowSetManager.GetFlag("RssReader") != 0) 50 | { 51 | new frmRssReader(_hosting).Show((DockPanel)_hosting.DockContainer, DockState.DockRight); 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/CodeBuilder.RssReader/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/CodeBuilder.RssReader/config/rss.cfg: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "Name": "编程", 4 | "Items": [ 5 | { 6 | "Name": "博客园", 7 | "Url": "https://feed.cnblogs.com/blog/sitehome/rss", 8 | "Checked": true 9 | }, 10 | { 11 | "Name": "博客园-artech", 12 | "Url": "https://feed.cnblogs.com/blog/u/22886/rss", 13 | "Checked": true 14 | }, 15 | { 16 | "Name": "博客园-fireasy", 17 | "Url": "https://feed.cnblogs.com/blog/u/83563/rss", 18 | "Checked": true 19 | } 20 | ] 21 | } 22 | ] -------------------------------------------------------------------------------- /src/CodeBuilder.RssReader/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/CodeBuilder.Swagger/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.Swagger")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CodeBuilder.Swagger")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("7e357171-0544-469c-9bb6-eca2dab6faba")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.Swagger/Resources/swagger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.Swagger/Resources/swagger.png -------------------------------------------------------------------------------- /src/CodeBuilder.Swagger/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/CodeBuilder.Swagger/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/CodeBuilder.T4/CrossDomainTextWriter.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.IO; 11 | using System.Reflection; 12 | 13 | namespace CodeBuilder.T4 14 | { 15 | [Serializable] 16 | public sealed class CrossDomainTextWriter : MarshalByRefObject 17 | { 18 | private CrossDomainTextWriter _remoteTracer; 19 | 20 | public CrossDomainTextWriter() 21 | { 22 | } 23 | 24 | public CrossDomainTextWriter(AppDomain domain, TextWriter writer) 25 | { 26 | _remoteTracer = domain.CreateInstanceFrom(Assembly.GetExecutingAssembly().Location, typeof(CrossDomainTextWriter).FullName).Unwrap() as CrossDomainTextWriter; 27 | if (_remoteTracer != null) 28 | { 29 | _remoteTracer.StartListening(this, writer); 30 | } 31 | } 32 | 33 | public void StartListening(CrossDomainTextWriter farTracer, TextWriter writer) 34 | { 35 | _remoteTracer = farTracer; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/CodeBuilder.T4/GuidDispatcher.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.Collections.Generic; 11 | 12 | namespace CodeBuilder.T4 13 | { 14 | [Serializable] 15 | public class GuidDispatcher : MarshalByRefObject 16 | { 17 | private readonly Dictionary _dict = new Dictionary(); 18 | 19 | public Guid this[string key] 20 | { 21 | get 22 | { 23 | if (!_dict.TryGetValue(key, out Guid guid)) 24 | { 25 | guid = Guid.NewGuid(); 26 | _dict.Add(key, guid); 27 | } 28 | 29 | return guid; 30 | } 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/CodeBuilder.T4/OptionPanel.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using System.Windows.Forms; 11 | 12 | namespace CodeBuilder.T4 13 | { 14 | public partial class OptionPanel : UserControl 15 | { 16 | private readonly IDevHosting _hosting; 17 | 18 | public OptionPanel(IDevHosting hosting) 19 | { 20 | InitializeComponent(); 21 | _hosting = hosting; 22 | } 23 | 24 | private void button1_Click(object sender, System.EventArgs e) 25 | { 26 | using (var frm = new frmOption(_hosting)) 27 | { 28 | if (frm.ShowDialog() == DialogResult.OK) 29 | { 30 | } 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/CodeBuilder.T4/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.T4")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("Fireasy")] 8 | [assembly: AssemblyProduct("CodeBuilder.T4")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("3f1ae6b9-6e42-4e75-bafa-067673925e74")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.T4/SingleAppDomainScope.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using Fireasy.Common.Threading; 10 | using System; 11 | 12 | namespace CodeBuilder.T4 13 | { 14 | public class SingleAppDomainScope : Scope 15 | { 16 | private AppDomain _domain; 17 | 18 | public AppDomain AppDomain 19 | { 20 | get 21 | { 22 | return _domain ?? (_domain = AppDomain.CreateDomain("Generation App Domain")); 23 | } 24 | } 25 | 26 | protected override bool Dispose(bool disposing) 27 | { 28 | if (_domain != null) 29 | { 30 | AppDomain.Unload(_domain); 31 | } 32 | 33 | return base.Dispose(disposing); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/CodeBuilder.T4/TextTemplate.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder.T4/TextTemplate.ico -------------------------------------------------------------------------------- /src/CodeBuilder.T4/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/CodeBuilder.Tools/DataTypeManageTool.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using System.ComponentModel.Composition; 11 | using System.Windows.Forms; 12 | using WeifenLuo.WinFormsUI.Docking; 13 | 14 | namespace CodeBuilder.Tools 15 | { 16 | [Export(typeof(IToolProvider))] 17 | public class DataTypeManageTool : IToolProvider 18 | { 19 | private IDevHosting _hosting; 20 | 21 | public string Name => "数据类型编辑器"; 22 | 23 | public void Initialize(IDevHosting hosting) 24 | { 25 | _hosting = hosting; 26 | } 27 | 28 | public Form Execute(params object[] arguments) 29 | { 30 | var form = new frmDataTypeManager(_hosting); 31 | if (arguments?.Length == 1 && arguments[0]?.ToString() == "Dialog") 32 | { 33 | form.ShowDialog(_hosting.MainWindow); 34 | } 35 | else if (_hosting.DockContainer != null) 36 | { 37 | form.Show((DockPanel)_hosting.DockContainer, DockState.Document); 38 | } 39 | else 40 | { 41 | form.Show(); 42 | } 43 | 44 | return form; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/CodeBuilder.Tools/GeneralTools.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 5 | // (c) Copyright Fireasy. All rights reserved. 6 | // 7 | // ----------------------------------------------------------------------- 8 | using CodeBuilder.Core; 9 | using System.ComponentModel.Composition; 10 | using System.Windows.Forms; 11 | using WeifenLuo.WinFormsUI.Docking; 12 | 13 | namespace CodeBuilder.Tools 14 | { 15 | [Export(typeof(IToolProvider))] 16 | public class GeneralTools : IToolProvider 17 | { 18 | private IDevHosting _hosting; 19 | 20 | public string Name => "常用工具合集"; 21 | 22 | public void Initialize(IDevHosting hosting) 23 | { 24 | _hosting = hosting; 25 | } 26 | 27 | public Form Execute(params object[] arguments) 28 | { 29 | var form = new frmTools(_hosting); 30 | if (_hosting.DockContainer != null) 31 | { 32 | form.Show((DockPanel)_hosting.DockContainer, DockState.Document); 33 | } 34 | else 35 | { 36 | form.Show(); 37 | } 38 | 39 | return form; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/CodeBuilder.Tools/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder.Tools")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("Fireasy")] 8 | [assembly: AssemblyProduct("CodeBuilder.Tools")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("595c1180-c831-4f78-8a3a-5c975a8a46a4")] 14 | [assembly: AssemblyVersion("3.4.3.0")] 15 | [assembly: AssemblyFileVersion("3.4.3.0")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder.Tools/Tools/Base64Converter.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using System; 11 | using System.Text; 12 | using System.Windows.Forms; 13 | 14 | namespace CodeBuilder.Tools.Tools 15 | { 16 | public partial class Base64Converter : UserControl, IDevHostingAccessor 17 | { 18 | public Base64Converter() 19 | { 20 | InitializeComponent(); 21 | } 22 | 23 | public IDevHosting Hosting { get; set; } 24 | 25 | private void button1_Click(object sender, EventArgs e) 26 | { 27 | try 28 | { 29 | txtEnc.Text = Convert.ToBase64String(Encoding.UTF8.GetBytes(txtSource.Text)); 30 | } 31 | catch (Exception) 32 | { 33 | Hosting.ShowError("无法转换!"); 34 | } 35 | } 36 | 37 | private void button2_Click(object sender, EventArgs e) 38 | { 39 | try 40 | { 41 | txtSource.Text = Encoding.UTF8.GetString(Convert.FromBase64String(txtEnc.Text)); 42 | } 43 | catch (Exception) 44 | { 45 | Hosting.ShowError("无法转换!"); 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/CodeBuilder.Tools/Tools/CodeDebugConfig.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using Newtonsoft.Json; 11 | using System.Collections.Generic; 12 | using System.IO; 13 | 14 | namespace CodeBuilder.Tools.Tools 15 | { 16 | public static class CodeDebugConfig 17 | { 18 | public static IEnumerable GlobalAssemblies => new List { "System.Core.dll", "System.dll", "Microsoft.CSharp.dll", "Fireasy.Common.dll", "Newtonsoft.Json.dll" }; 19 | 20 | public static List LoadConfig(IDevHosting devHosting) 21 | { 22 | var fileName = Path.Combine(devHosting.WorkPath, "config", "codedebugger.cfg"); 23 | if (!File.Exists(fileName)) 24 | { 25 | return new List(); 26 | } 27 | 28 | var json = File.ReadAllText(fileName); 29 | return JsonConvert.DeserializeObject>(json); 30 | } 31 | 32 | public static void SaveConfig(IDevHosting devHosting, List list) 33 | { 34 | var fileName = Path.Combine(devHosting.WorkPath, "config", "codedebugger.cfg"); 35 | 36 | var json = JsonConvert.SerializeObject(list); 37 | File.WriteAllText(fileName, json); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/CodeBuilder.Tools/Tools/UrlEncodeConverter.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using System; 11 | using System.Text; 12 | using System.Windows.Forms; 13 | 14 | namespace CodeBuilder.Tools.Tools 15 | { 16 | public partial class UrlEncodeConverter : UserControl, IDevHostingAccessor 17 | { 18 | public UrlEncodeConverter() 19 | { 20 | InitializeComponent(); 21 | } 22 | 23 | public IDevHosting Hosting { get; set; } 24 | 25 | private void button1_Click(object sender, EventArgs e) 26 | { 27 | try 28 | { 29 | txtEnc.Text = Uri.EscapeDataString(txtSource.Text); 30 | } 31 | catch (Exception) 32 | { 33 | Hosting.ShowError("无法转换!"); 34 | } 35 | } 36 | 37 | private void button2_Click(object sender, EventArgs e) 38 | { 39 | try 40 | { 41 | txtSource.Text = Uri.UnescapeDataString(txtEnc.Text); 42 | } 43 | catch (Exception) 44 | { 45 | Hosting.ShowError("无法转换!"); 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/CodeBuilder.Tools/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/CodeBuilder.Tools/frmNewDatabase.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using CodeBuilder.Core.Forms; 11 | using System; 12 | 13 | namespace CodeBuilder.Tools 14 | { 15 | public partial class frmNewDatabase : FormBase 16 | { 17 | private readonly IDevHosting _hosting; 18 | 19 | public frmNewDatabase(IDevHosting hosting) 20 | { 21 | InitializeComponent(); 22 | _hosting = hosting; 23 | } 24 | 25 | public Func CheckFunc { get; set; } 26 | 27 | public string Database => textBox1.Text; 28 | 29 | private void btnOk_Click(object sender, System.EventArgs e) 30 | { 31 | if (string.IsNullOrWhiteSpace(textBox1.Text)) 32 | { 33 | errorProvider1.SetError(textBox1, "不能为空"); 34 | return; 35 | } 36 | if (CheckFunc(textBox1.Text)) 37 | { 38 | _hosting.ShowWarn("数据库标识已经存在,请重新输入。"); 39 | return; 40 | } 41 | 42 | DialogResult = System.Windows.Forms.DialogResult.OK; 43 | Close(); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/CodeBuilder.Tools/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/CodeBuilder/App.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/App.ico -------------------------------------------------------------------------------- /src/CodeBuilder/CodeBuilder.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ProjectFiles 5 | 6 | 7 | false 8 | 9 | -------------------------------------------------------------------------------- /src/CodeBuilder/CodeCategory.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder 11 | { 12 | public enum CodeCategory 13 | { 14 | None, 15 | TemplateFile, 16 | TemplateDefnition, 17 | CommonExtension, 18 | ProfileExtension, 19 | SchemaExtension, 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/CodeBuilder/CommResult.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder 11 | { 12 | public class CommResult 13 | { 14 | public bool Succeed { get; set; } 15 | 16 | public string Message { get; set; } 17 | 18 | public T Data { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/CodeBuilder/Consts.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using System.Drawing; 11 | 12 | namespace CodeBuilder 13 | { 14 | internal static class Consts 15 | { 16 | public static readonly string ApiUrl = WebHelper.HomeUrl + "/api"; 17 | 18 | public static readonly string PluginServerUrl = ApiUrl + "/codebuilder/plugins"; 19 | 20 | public static readonly string TemplateServerUrl = ApiUrl + "/codebuilder/templates"; 21 | 22 | public static readonly Color AddedColor = Color.FromArgb(236, 255, 236); 23 | public static readonly Color AddedColor1 = Color.FromArgb(68, 200, 68); 24 | 25 | public static readonly Color ModifiedColor = Color.FromArgb(236, 236, 255); 26 | public static readonly Color ModifiedColor1 = Color.FromArgb(90, 90, 245); 27 | 28 | public static readonly Color RemovedColor = Color.FromArgb(255, 236, 236); 29 | public static readonly Color RemovedColor1 = Color.FromArgb(236, 68, 68); 30 | 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/CodeBuilder/CustomMenuItem.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Forms; 10 | using System.Windows.Forms; 11 | 12 | namespace CodeBuilder 13 | { 14 | public class CustomMenuItem : ToolStripMenuItem 15 | { 16 | public CustomMenuItem(string text) 17 | : base(text) 18 | { 19 | } 20 | 21 | public DisplayStyle DisplayStyle { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/CodeBuilder/DSS.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/DSS.ico -------------------------------------------------------------------------------- /src/CodeBuilder/LoadMode.cs: -------------------------------------------------------------------------------- 1 | namespace CodeBuilder 2 | { 3 | public enum LoadMode 4 | { 5 | Default, 6 | Append, 7 | Synchronize 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/CodeBuilder/ProjectTemplate.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace CodeBuilder 11 | { 12 | public class ProjectTemplate 13 | { 14 | public string Name { get; set; } 15 | 16 | public string Syntax { get; set; } 17 | 18 | public string FileName { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/CodeBuilder/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | [assembly: AssemblyTitle("CodeBuilder")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("Fireasy.cn")] 8 | [assembly: AssemblyProduct("CodeBuilder")] 9 | [assembly: AssemblyCopyright("Copyright © Fireasy 2025")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("e109f1e6-dce8-4493-ac2e-842f9a4f58bb")] 14 | [assembly: AssemblyVersion("3.4.3.2")] 15 | [assembly: AssemblyFileVersion("3.4.3.2")] 16 | -------------------------------------------------------------------------------- /src/CodeBuilder/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace CodeBuilder.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/CodeBuilder/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/add.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/add1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/add1.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/add2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/add2.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/add3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/add3.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/browse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/browse.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/build.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/buildl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/buildl.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/category.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/category.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/check.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/clear.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/codefile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/codefile.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/column.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/column.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/copy.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/cut.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/delete.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/down1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/down1.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/down_ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/down_ok.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/down_ok1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/down_ok1.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/edit.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/edit04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/edit04.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/edit1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/edit1.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/engine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/engine.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/export.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/extension.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/extension.ico -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/file.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/fileR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/fileR.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/fileT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/fileT.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/find.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/fk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/fk.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/fx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/fx.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/guide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/guide.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/gzh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/gzh.jpg -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/help.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/info.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/insert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/insert.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/logo.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/open.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/open1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/open1.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/open1l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/open1l.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/options.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/output.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/output.ico -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/paste.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/pk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/pk.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/plugin.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/profile.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/profile.ico -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/project.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/property.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/property.ico -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/qq.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/qq.jpg -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/redo.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/refresh.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/replace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/replace.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/resource.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/resource.ico -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/rss.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/rss.ico -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/save.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/save1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/save1.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/save1l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/save1l.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/saveas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/saveas.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/share.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/shop.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/table.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/template.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/template.ico -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/undo.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/up1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/up1.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/update.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/update1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/update1.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/view.png -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/wx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/wx.jpg -------------------------------------------------------------------------------- /src/CodeBuilder/Resources/公众号.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/Resources/公众号.png -------------------------------------------------------------------------------- /src/CodeBuilder/TemplateLoadException.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | 11 | namespace CodeBuilder 12 | { 13 | internal class TemplateLoadException : Exception 14 | { 15 | public TemplateLoadException(string message, Exception innerException) 16 | : base(message, innerException) 17 | { 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/CodeBuilder/TipPanel.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace CodeBuilder 2 | { 3 | partial class TipPanel 4 | { 5 | /// 6 | /// 必需的设计器变量。 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// 清理所有正在使用的资源。 12 | /// 13 | /// 如果应释放托管资源,为 true;否则为 false。 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region 组件设计器生成的代码 24 | 25 | /// 26 | /// 设计器支持所需的方法 - 不要修改 27 | /// 使用代码编辑器修改此方法的内容。 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.SuspendLayout(); 32 | // 33 | // TipPanel 34 | // 35 | this.BackgroundImage = global::CodeBuilder.Properties.Resources.help; 36 | this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; 37 | this.Cursor = System.Windows.Forms.Cursors.Hand; 38 | this.Name = "TipPanel"; 39 | this.Size = new System.Drawing.Size(24, 24); 40 | this.Click += new System.EventHandler(this.tipPanel_Click); 41 | this.ResumeLayout(false); 42 | 43 | } 44 | 45 | #endregion 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/CodeBuilder/TipPanel.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.Windows.Forms; 11 | 12 | namespace CodeBuilder 13 | { 14 | public partial class TipPanel : UserControl 15 | { 16 | public TipPanel() 17 | { 18 | InitializeComponent(); 19 | } 20 | 21 | public string Title { get; set; } 22 | 23 | public string Message { get; set; } 24 | 25 | private void tipPanel_Click(object sender, EventArgs e) 26 | { 27 | frmTip.Show(Parent, this, Title, Message); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/CodeBuilder/TitlePanel.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System.Windows.Forms; 10 | using System.Drawing.Drawing2D; 11 | using System.Drawing; 12 | 13 | namespace CodeBuilder 14 | { 15 | public class TitlePanel : Panel 16 | { 17 | private string _title; 18 | 19 | public string Title 20 | { 21 | get { return _title; } 22 | set 23 | { 24 | _title = value; 25 | Invalidate(); 26 | } 27 | } 28 | 29 | protected override void OnPaint(PaintEventArgs e) 30 | { 31 | base.OnPaint(e); 32 | 33 | var rect = new Rectangle(0, 0, Width, 30); 34 | using (var brush = new LinearGradientBrush(rect, Color.FromArgb(44, 128, 190), SystemColors.ButtonFace, 0f)) 35 | { 36 | e.Graphics.FillRectangle(brush, rect); 37 | } 38 | 39 | rect.X += 10; 40 | e.Graphics.DrawString(Title, new Font("微软雅黑", 12, FontStyle.Bold), Brushes.White, rect, new StringFormat { LineAlignment = StringAlignment.Center }); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/CodeBuilder/VersionHelper.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using System; 10 | using System.Diagnostics; 11 | 12 | namespace CodeBuilder 13 | { 14 | public static class VersionHelper 15 | { 16 | /// 17 | /// 比较版本。 18 | /// 19 | /// 本地文件。 20 | /// 目标版本。 21 | /// 22 | public static int CompareVersion(string sourceFileName, string target) 23 | { 24 | var version = FileVersionInfo.GetVersionInfo(sourceFileName); 25 | return CompareVersion(version, target); 26 | } 27 | 28 | /// 29 | /// 比较版本。 30 | /// 31 | /// 本地文件的版本。 32 | /// 目标版本。 33 | /// 34 | public static int CompareVersion(FileVersionInfo source, string target) 35 | { 36 | return new Version(target).CompareTo(new Version(source.FileMajorPart, source.FileMinorPart, source.FileBuildPart, source.ProductPrivatePart)); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/CodeBuilder/WindowSetManager.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Forms; 10 | using Fireasy.Common.DependencyInjection; 11 | using System.Linq; 12 | 13 | namespace CodeBuilder 14 | { 15 | public class WindowSetManager : IWindowSetManager, ISingletonService 16 | { 17 | public int? GetFlag(string name) 18 | { 19 | if (Config.Instance.WindowSets.TryGetValue(name, out var flag)) 20 | { 21 | return flag; 22 | } 23 | 24 | return null; 25 | } 26 | 27 | public void SetFlag(string name, int flag) 28 | { 29 | if (Config.Instance.WindowSets.TryGetValue(name, out var flag1) && flag1 == flag) 30 | { 31 | return; 32 | } 33 | 34 | Config.Instance.WindowSets[name] = flag; 35 | Config.Instance.Save(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/CodeBuilder/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "fireasy": { 3 | "imports": { 4 | "settings": { 5 | "codebuilder": { 6 | "pattern": "CodeBuilder*.dll" 7 | } 8 | } 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /src/CodeBuilder/config/app.cfg: -------------------------------------------------------------------------------- 1 | { 2 | "TemplateProvider": "VS T4 Template", 3 | "TemplateFileName": "fireasy-mvc-service-full-core3.1", 4 | "OutputDirectory": "C:\\Users\\faib\\Desktop\\新建文件夹", 5 | "Encoding": "utf-8", 6 | "Profile": null, 7 | "CheckUpdate": false, 8 | "Source_View": false, 9 | "SkipWhenFileExists": false, 10 | "PluginServerUrl": "http://fireasy.cn/api/codebuilder/plugins", 11 | "PluginStoragePath": "C:\\Users\\faib\\AppData\\Local\\codebuilder_plugins", 12 | "TemplateServerUrl": "http://www.fireasy.cn/api/codebuilder/templates", 13 | "Columns": [] 14 | } -------------------------------------------------------------------------------- /src/CodeBuilder/config/assemblies.cfg: -------------------------------------------------------------------------------- 1 | { 2 | "Common": "", 3 | "Profile": "System.Core.dll;Microsoft.CSharp.dll;System.dll;System.Drawing.dll;System.Windows.Forms.dll;CodeBuilder.Core.dll;Fireasy.Common.dll", 4 | "Schema": "System.Core.dll;System.Data.dll;Microsoft.CSharp.dll;System.dll;System.Drawing.dll;System.Windows.Forms.dll;CodeBuilder.Core.dll;Fireasy.Common.dll" 5 | } -------------------------------------------------------------------------------- /src/CodeBuilder/config/datasources.cfg: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "Name": "northwind", 4 | "Type": "SQLite", 5 | "ConnectionString": "Data source=|datadirectory|db\\Northwind.db3;Pooling=True" 6 | }, 7 | { 8 | "Name": "northwind", 9 | "Type": "MySql", 10 | "ConnectionString": "data source=localhost;database=northwind;user id=root;password=faib;pooling=false;charset=utf8" 11 | } 12 | ] -------------------------------------------------------------------------------- /src/CodeBuilder/config/pdman.cfg: -------------------------------------------------------------------------------- 1 | { 2 | "string": "String", 3 | "double": "Decimal", 4 | "int": "Int32", 5 | "date": "DateTime", 6 | "bytes": "Binary", 7 | "largeText": "String" 8 | } -------------------------------------------------------------------------------- /src/CodeBuilder/config/plugin.cfg: -------------------------------------------------------------------------------- 1 | {"Installing":[],"Removed":[]} -------------------------------------------------------------------------------- /src/CodeBuilder/config/prebuild.cfg: -------------------------------------------------------------------------------- 1 | {"T4.class-csharp":"类","T4.fireasy-mvc-service":"服务类接口,服务类实现,实体类,实体类_扩展,实体关系,上下文类,控制器类,列表视图,编辑视图,Dto类,QueryDto类","T4.freesql":"实体类,仓储类","T4.fireasy-base":"实体类,实体类_扩展,实体关系,上下文类","NVelocity.class":"类","Razor.class":"类","T4.abp-efcore-full":"WebApi项目文件,Startup,Program,Controller,Application项目文件,AppService,AutoMapperProfile,Contracts项目文件,IAppService,Domain项目文件,Entity,SaveModel,Repository,DomainService,DbContext,ModelCreatingExtensions,Shared项目文件,Dto,SaveDto,QueryDto,解决方案","T4.abp-efcore-full-net6":"WebApi项目文件,Startup,Program,Controller,Module,Application项目文件,AppService,AutoMapperProfile,Module,Contracts项目文件,IAppService,Module,Domain项目文件,Entity,SaveModel,Repository,DbContext,ModelCreatingExtensions,Module,Shared项目文件,Dto,SaveDto,QueryDto,解决方案","T4.fireasy-mvc-service-full-core22":"Web项目文件,Startup,Program,Controller,Index视图,Edit视图,Application项目文件,AppService,AutoMapperProfile,Contracts项目文件,IAppService,Domain项目文件,Entity,Entity扩展,DbContext,Shared项目文件,Dto,SaveDto,QueryDto,解决方案","T4.fireasy-mvc-service-full-core3.1":"Web项目文件,Startup,Program,Controller,Index视图,Edit视图,Application项目文件,AppService,AutoMapperProfile,Contracts项目文件,IAppService,Domain项目文件,Entity,Entity扩展,DbContext,Shared项目文件,Dto,SaveDto,QueryDto,解决方案"} -------------------------------------------------------------------------------- /src/CodeBuilder/config/profile.cfg: -------------------------------------------------------------------------------- 1 | { 2 | "Namespace": "Fireasy.Tests", 3 | "ProjectCode": "Test", 4 | "ProjectName": "测试系统", 5 | "CompanyName": "Fireasy", 6 | "Author": "Huangxd", 7 | "TableRegex": "TB_|TS_", 8 | "ColumnRegex": "" 9 | } -------------------------------------------------------------------------------- /src/CodeBuilder/config/update.cfg: -------------------------------------------------------------------------------- 1 | { 2 | Version: 999, 3 | Server: "http://www.fireasy.cn/codebuilder/update?version={Version}" 4 | } -------------------------------------------------------------------------------- /src/CodeBuilder/db/northwind.db3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/CodeBuilder/db/northwind.db3 -------------------------------------------------------------------------------- /src/CodeBuilder/frmDonate.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using CodeBuilder.Core.Forms; 11 | 12 | namespace CodeBuilder 13 | { 14 | public partial class frmDonate : FormBase 15 | { 16 | public frmDonate() 17 | { 18 | InitializeComponent(); 19 | Icon = Util.GetIcon(); 20 | } 21 | 22 | private void panel1_Click(object sender, System.EventArgs e) 23 | { 24 | Close(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/CodeBuilder/frmProperty.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Forms; 10 | using System; 11 | using System.Windows.Forms; 12 | 13 | namespace CodeBuilder 14 | { 15 | public partial class frmProperty : DockFormBase 16 | { 17 | private readonly DevHosting _hosting; 18 | 19 | public frmProperty(DevHosting hosting) 20 | { 21 | InitializeComponent(); 22 | Icon = Properties.Resources.property; 23 | _hosting = hosting; 24 | _hosting.ViewInPropGridAct = obj => 25 | { 26 | this.Invoke(new Action(() => 27 | { 28 | propertyGrid1.SelectedObject = obj; 29 | })); 30 | }; 31 | } 32 | 33 | protected override void OnClosed(EventArgs e) 34 | { 35 | base.OnClosed(e); 36 | _hosting.ViewInPropGridAct = null; 37 | } 38 | public void SelectProperty(string propertyName) 39 | { 40 | if (propertyGrid1.SelectedObject == null || propertyGrid1.SelectedGridItem == null) 41 | { 42 | return; 43 | } 44 | 45 | propertyGrid1.Focus(); 46 | 47 | foreach (GridItem gridItem in propertyGrid1.SelectedGridItem.Parent.GridItems) 48 | { 49 | if (gridItem.Label == propertyName) 50 | { 51 | propertyGrid1.SelectedGridItem = gridItem; 52 | break; 53 | } 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/CodeBuilder/frmQuestionnaire.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using CodeBuilder.Core.Forms; 11 | 12 | namespace CodeBuilder 13 | { 14 | public partial class frmQuestionnaire : FormBase 15 | { 16 | public frmQuestionnaire() 17 | { 18 | InitializeComponent(); 19 | Icon = Util.GetIcon(); 20 | } 21 | 22 | private void panel1_Click(object sender, System.EventArgs e) 23 | { 24 | Close(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/CodeBuilder/frmTemplateShopConfig.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core; 10 | using CodeBuilder.Core.Forms; 11 | using System; 12 | using System.Windows.Forms; 13 | 14 | namespace CodeBuilder 15 | { 16 | public partial class frmTemplateShopConfig : FormBase 17 | { 18 | public frmTemplateShopConfig() 19 | { 20 | InitializeComponent(); 21 | } 22 | 23 | private void frmTemplateShopConfig_Load(object sender, EventArgs e) 24 | { 25 | //txtServer.Text = Config.Instance.TemplateServerUrl; 26 | } 27 | 28 | private void btnClose_Click(object sender, EventArgs e) 29 | { 30 | Close(); 31 | } 32 | 33 | private void btnOk_Click(object sender, EventArgs e) 34 | { 35 | //Config.Instance.TemplateServerUrl = txtServer.Text; 36 | //Config.Instance.Save(); 37 | 38 | DialogResult = DialogResult.OK; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/CodeBuilder/frmTip.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 6 | // (c) Copyright Fireasy. All rights reserved. 7 | // 8 | // ----------------------------------------------------------------------- 9 | using CodeBuilder.Core.Forms; 10 | using System; 11 | using System.Drawing; 12 | using System.Windows.Forms; 13 | 14 | namespace CodeBuilder 15 | { 16 | public partial class frmTip : FormBase 17 | { 18 | public frmTip() 19 | { 20 | InitializeComponent(); 21 | } 22 | 23 | public static void Show(Control parent, Control control, string title, string message) 24 | { 25 | var frm = new frmTip(); 26 | 27 | var p = parent.PointToScreen(control.Location); 28 | if (p.Y + control.Height > Screen.PrimaryScreen.Bounds.Height) 29 | { 30 | p.Y -= frm.Height; 31 | } 32 | else 33 | { 34 | p.Y += control.Height; 35 | } 36 | 37 | frm.label1.Text = title; 38 | frm.textBox1.Text = message; 39 | frm.Location = p; 40 | frm.Show(); 41 | } 42 | 43 | private void frmTip_Load(object sender, EventArgs e) 44 | { 45 | 46 | } 47 | 48 | private void frmTip_Deactivate(object sender, EventArgs e) 49 | { 50 | Close(); 51 | } 52 | 53 | private void frmTip_Paint(object sender, PaintEventArgs e) 54 | { 55 | var rect = new Rectangle(0, 0, Width - 1, Height - 1); 56 | e.Graphics.DrawRectangle(Pens.Gray, rect); 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/CodeBuilder/version.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 43 4 | http://www.fireasy.cn/auto_update/codebuilder.xml 5 | 6 | 7 | CodeBuilder.exe 8 | 2022/4/23 9 | -------------------------------------------------------------------------------- /src/lib/FastColoredTextBox.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/FastColoredTextBox.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.CodeCompiler.VisualBasic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.CodeCompiler.VisualBasic.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.Common.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.Composition.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.Composition.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.Configuration.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.Data.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.Data.Abstractions.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.Data.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.Data.Configuration.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.Data.Odbc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.Data.Odbc.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.Data.OleDb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.Data.OleDb.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.Data.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.Data.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.Windows.Forms.Editors.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.Windows.Forms.Editors.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.Windows.Forms.TreeList.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.Windows.Forms.TreeList.dll -------------------------------------------------------------------------------- /src/lib/Fireasy.Windows.Forms.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Fireasy.Windows.Forms.dll -------------------------------------------------------------------------------- /src/lib/ICSharpCode.TextEditor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/ICSharpCode.TextEditor.dll -------------------------------------------------------------------------------- /src/lib/Kdbndp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Kdbndp.dll -------------------------------------------------------------------------------- /src/lib/Mono.Security.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/Mono.Security.dll -------------------------------------------------------------------------------- /src/lib/NVelocity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/NVelocity.dll -------------------------------------------------------------------------------- /src/lib/RazorEngine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/RazorEngine.dll -------------------------------------------------------------------------------- /src/lib/System.Web.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/System.Web.Razor.dll -------------------------------------------------------------------------------- /src/lib/WeifenLuo.WinFormsUI.Docking.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faib920/codebuilder/43ea94b9b8d24237ed0e4c95fdb964f0de433eee/src/lib/WeifenLuo.WinFormsUI.Docking.dll --------------------------------------------------------------------------------