private void GenerateDataLayer(Table table, string dalNameSpace, string businessNameSpace) { var class_name = GetClassName(table); var dalRepository = PeasyConstants.GetRepositoryTemplate(dalNameSpace, businessNameSpace, class_name); var dalRepositoryfilePath = $"{_dataLayerProjectPath}/Repository/{class_name}Repository.cs"; SaveFileThenAddToProject(dalRepositoryfilePath, dalRepository, _dalProject); }
private async Task GenerateBusinessLogic(Table table, string projectName, string nameSpace) { var class_name = GetClassName(table); DTECore.Settings.Postfix += " : DomainBase"; var model_code = await DTECore.CreateModelAsync(table.DataBaseName, table.TableName); var businessDomainfilePath = $"{_businessProjectPath}/Domain/{class_name}.cs"; var businessDataProxyfilePath = $"{_businessProjectPath}/DataProxy/I{class_name}DataProxy.cs"; var businessServicefilePath = $"{_businessProjectPath}/Service/{class_name}Service.cs"; var model_domain = PeasyConstants.GetDomainTemplate(nameSpace, model_code); var dataProxy = PeasyConstants.GetDataProxyTemplate(nameSpace, projectName, class_name); var service = PeasyConstants.GetServiceTemplate(nameSpace, class_name); SaveFileThenAddToProject(businessDomainfilePath, model_domain, _businessProject); SaveFileThenAddToProject(businessDataProxyfilePath, dataProxy, _businessProject); SaveFileThenAddToProject(businessServicefilePath, service, _businessProject); }
public async Task GeneratePeasyArchAsync() { var businessProjectName = Path.GetFileNameWithoutExtension(_businessProjectPath); var dataLayerProjectName = Path.GetFileNameWithoutExtension(_dataLayerProjectPath); var businessNameSpace = GetNameSpace(businessProjectName, _businessProjectPath); var dataLayerNameSpace = GetNameSpace(dataLayerProjectName, _dataLayerProjectPath); SaveFileThenAddToProject(_businessProjectPath + "/Domain/DomainBase.cs", PeasyConstants.GetDomainBaseTemplate(businessNameSpace), _businessProject); SaveFileThenAddToProject(_businessProjectPath + $"/DataProxy/I{_projectName}DataProxy.cs", PeasyConstants.GetDataProxyBaseTemplate(businessNameSpace, _projectName), _businessProject); SaveFileThenAddToProject(_businessProjectPath + $"/Service/{_projectName}SeviceBase.cs", PeasyConstants.GetServiceBaseTemplate(businessNameSpace, _projectName), _businessProject); SaveFileThenAddToProject(_dataLayerProjectPath + "/Repository/RepositoryBase.cs", PeasyConstants.GetRepositoryBaseTemplate(dataLayerNameSpace, businessNameSpace, _projectName), _dalProject); foreach (var table in Tables) { await GenerateBusinessLogic(table, _projectName, businessNameSpace); GenerateDataLayer(table, dataLayerNameSpace, businessNameSpace); } }