Weben_CMS专用代码生成器/Code/Generate/Domain/IRepository_Generate.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/Generate/EntityFrameworkCore/EfCoreRepository_Generate.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/GenerateCode_WeiBen_CMS.csproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/MainForm.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/Templete/AppService/AppService模板.txt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/Templete/Domain/IRepository模板.txt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/Templete/EntityFrameworkCore/EfCoreRepository模板.txt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Generate/Domain/IRepository_Generate.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@  using GenerateCode_WeiBen_WMS.Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace GenerateCode_GEBrilliantFactory { /// <summary> /// çææ¥è¯¢å®ä½ç±» /// </summary> public class IRepository_Generate : BaseGenerate { public static string CreateText(GenerateCodeParam param) { var str = TextHelper.ReadText(@"Templete\Domain\IRepository模æ¿.txt"); CommonReplace(ref str); CommonHelper.CommonReplaceStr(param, ref str); return str; } } } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Generate/EntityFrameworkCore/EfCoreRepository_Generate.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@  using GenerateCode_WeiBen_WMS.Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace GenerateCode_GEBrilliantFactory { /// <summary> /// çææ¥è¯¢å®ä½ç±» /// </summary> public class EfCoreRepository_Generate : BaseGenerate { public static string CreateText(GenerateCodeParam param) { var str = TextHelper.ReadText(@"Templete\EntityFrameworkCore\EfCoreRepository模æ¿.txt"); CommonReplace(ref str); CommonHelper.CommonReplaceStr(param, ref str); return str; } } } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/GenerateCode_WeiBen_CMS.csproj
@@ -110,6 +110,8 @@ <Compile Include="Generate\AppService\IAppService_Generate.cs" /> <Compile Include="Generate\BaseGenerate.cs" /> <Compile Include="Generate\Controller\Controller_Generate.cs" /> <Compile Include="Generate\Domain\IRepository_Generate.cs" /> <Compile Include="Generate\EntityFrameworkCore\EfCoreRepository_Generate.cs" /> <Compile Include="Generate\Entity\ImportModel_Generate.cs" /> <Compile Include="Generate\Entity\ExportModel_Generate.cs" /> <Compile Include="Generate\Entity\Dto_Generate.cs" /> @@ -201,6 +203,12 @@ <Content Include="Templete\Controller模æ¿.txt"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <Content Include="Templete\Domain\IRepository模æ¿.txt"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <Content Include="Templete\EntityFrameworkCore\EfCoreRepository模æ¿.txt"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <Content Include="Templete\Entity\AddModel模æ¿.txt"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/MainForm.cs
@@ -245,6 +245,27 @@ #endregion #region Domain //11ãçæ IRepository æä»¶ var iRepositoryPath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Domain\" + tb_EntityName.Text.Trim(); ; str_generate = IRepository_Generate.CreateText(param); tf = TextHelper.Export2File_V2(iRepositoryPath, $"I{param.EntityName}Repository.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); #endregion #region EntityFrameworkCore //12ãçæ EfCoreRepository æä»¶ var efCoreRepositoryPath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".EntityFrameworkCore\Repositories"; str_generate = EfCoreRepository_Generate.CreateText(param); tf = TextHelper.Export2File_V2(efCoreRepositoryPath, $"EfCore{param.EntityName}Repository.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); #endregion ////çæ OutputModel æä»¶ //str_generate = OutputModel_Generate.CreateQueryModelLText(modulelogo, chinaComment, columnList, entityName); Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/AppService/AppServiceÄ£°å.txt
@@ -2,8 +2,8 @@ using CMS.Plugin.$NameSpacePath$.Application.Contracts.Services; using CMS.Plugin.$NameSpacePath$.Domain.Shared; using CMS.Plugin.$NameSpacePath$.Domain.Shared.Util; using CMS.Plugin.$NameSpacePath$.Domain.Shared.$EntityInstanceName$s; using CMS.Plugin.$NameSpacePath$.Domain.$EntityInstanceName$s; using CMS.Plugin.$NameSpacePath$.Domain.Shared.$EntityName$; using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$; using CmsQueryExtensions.Extension; using System.Linq.Expressions; using Volo.Abp; Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Domain/IRepositoryÄ£°å.txt
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,53 @@ using CmsQueryExtensions.Extension; using System.Linq.Expressions; using Volo.Abp.Domain.Repositories; namespace CMS.Plugin.$NameSpacePath$.Domain.$EntityName$; /// <summary> /// $ChinaComment$ä»å¨ /// </summary> public interface I$EntityName$Repository : IBasicRepository<$EntityName$, Guid> { /// <summary> /// æç §åç§°æ¥æ¾$ChinaComment$ /// </summary> /// <param name="name"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<$EntityName$> FindByNameAsync(string name, CancellationToken cancellationToken = default); /// <summary> /// éªè¯åç§°æ¯å¦åå¨$ChinaComment$ /// </summary> /// <param name="name"></param> /// <param name="id"></param> /// <returns></returns> Task<bool> NameExistAsync(string name, Guid? id = null); /// <summary> /// è·åæå¤§æåº$ChinaComment$ /// </summary> /// <returns></returns> Task<int> GetMaxSortAsync(); /// <summary> /// è·åå页å表$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="sorting"></param> /// <param name="maxResultCount"></param> /// <param name="skipCount"></param> /// <param name="includeDetails"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<List<$EntityName$>> GetListAsync(FunReturnResultModel<Expression<Func<$EntityName$, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default); /// <summary> /// è·åæ»æ°$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<$EntityName$, bool>>> whereConditions, CancellationToken cancellationToken = default); } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/EntityFrameworkCore/EfCoreRepositoryÄ£°å.txt
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,113 @@ using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$; using CMS.Plugin.$NameSpacePath$.EntityFrameworkCore.Extensions; using CmsQueryExtensions.Extension; using Microsoft.EntityFrameworkCore; using System.Linq.Dynamic.Core; using System.Linq.Expressions; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; namespace CMS.Plugin.$NameSpacePath$.EntityFrameworkCore.Repositories; /// <summary> /// $ChinaComment$ä»å¨å®ç° /// </summary> public class EfCore$EntityName$Repository : EfCoreRepository<ICMSPluginDbContext, $EntityName$, Guid>, I$EntityName$Repository { /// <summary> /// Initializes a new instance of the <see cref="EfCore$EntityName$Repository"/> class. /// </summary> /// <param name="dbContextProvider">The database context provider.</param> public EfCore$EntityName$Repository(IDbContextProvider<ICMSPluginDbContext> dbContextProvider) : base(dbContextProvider) { } /// <summary> /// æç §åç§°æ¥æ¾$ChinaComment$ /// </summary> /// <param name="name"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task<$EntityName$> FindByNameAsync(string name, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .IncludeDetails() .Where(x => !x.IsDeleted) .OrderBy(t => t.Sort) .FirstOrDefaultAsync(t => t.MaterialCode == name, GetCancellationToken(cancellationToken)); } /// <summary> /// éªè¯åç§°æ¯å¦åå¨$ChinaComment$ /// </summary> /// <param name="materialCode"></param> /// <param name="id"></param> /// <returns></returns> public async Task<bool> NameExistAsync(string materialCode, Guid? id = null) { return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.MaterialCode == materialCode); } /// <summary> /// è·åæå¤§æåº$ChinaComment$ /// </summary> /// <returns></returns> public async Task<int> GetMaxSortAsync() { var hasAny = await (await GetQueryableAsync()) .Where(x => !x.IsDeleted).AnyAsync(); if (!hasAny) { return 1; } var sort = await (await GetQueryableAsync()) .Where(x => !x.IsDeleted).MaxAsync(x => x.Sort); return sort + 1; } /// <summary> /// è·åå页å表$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="sorting"></param> /// <param name="maxResultCount"></param> /// <param name="skipCount"></param> /// <param name="includeDetails"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<List<$EntityName$>> GetListAsync(FunReturnResultModel<Expression<Func<$EntityName$, bool>>> whereConditions, string sorting = null, int maxResultCount = int.MaxValue, int skipCount = 0, bool includeDetails = false, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .IncludeDetails(includeDetails) .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) .OrderBy(sorting.IsNullOrEmpty() ? nameof($EntityName$.Sort) : sorting) .PageBy(skipCount, maxResultCount) .ToListAsync(GetCancellationToken(cancellationToken)); } /// <summary> /// è·åæ»æ°$ChinaComment$ /// </summary> /// <param name="whereConditions"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<$EntityName$, bool>>> whereConditions, CancellationToken cancellationToken = default) { return await (await GetQueryableAsync()) .WhereIf(whereConditions != null, whereConditions.data) .Where(x => !x.IsDeleted) .CountAsync(cancellationToken: GetCancellationToken(cancellationToken)); } /// <inheritdoc /> public override async Task<IQueryable<$EntityName$>> WithDetailsAsync() { return (await GetQueryableAsync()) .Where(x => !x.IsDeleted).IncludeDetails(); } }