diff --git a/IRaCIS.Core.Application/Service/Common/DTO/InternationalizationViewModel.cs b/IRaCIS.Core.Application/Service/Common/DTO/InternationalizationViewModel.cs new file mode 100644 index 000000000..0dd077abc --- /dev/null +++ b/IRaCIS.Core.Application/Service/Common/DTO/InternationalizationViewModel.cs @@ -0,0 +1,53 @@ +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2023-06-01 13:38:20 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +//-------------------------------------------------------------------- +using System; +using IRaCIS.Core.Domain.Share; +using System.Collections.Generic; +namespace IRaCIS.Core.Application.ViewModel +{ + /// InternationalizationView 列表视图模型 + public class InternationalizationView + { + public Guid Id { get; set; } + public int ShowOrder { get; set; } + public Guid CreateUserId { get; set; } + public DateTime CreateTime { get; set; } + public DateTime UpdateTime { get; set; } + public Guid UpdateUserId { get; set; } + public int State { get; set; } + public string FolderPath { get; set; } + public string Code { get; set; } + public string Value { get; set; } + public string ValueCN { get; set; } + } + + ///InternationalizationQuery 列表查询参数模型 + public class InternationalizationQuery:PageInput + { + + public string? FolderPath { get; set; } + public string? Code { get; set; } + public string? Value { get; set; } + + public string? ValueCN { get; set; } + + } + + /// InternationalizationAddOrEdit 列表查询参数模型 + public class InternationalizationAddOrEdit + { + public Guid? Id { get; set; } + public int State { get; set; } + public string FolderPath { get; set; } + public string Code { get; set; } + public string Value { get; set; } + public string ValueCN { get; set; } + } + + +} + + diff --git a/IRaCIS.Core.Application/Service/Common/Interface/IInternationalizationService.cs b/IRaCIS.Core.Application/Service/Common/Interface/IInternationalizationService.cs new file mode 100644 index 000000000..2646db602 --- /dev/null +++ b/IRaCIS.Core.Application/Service/Common/Interface/IInternationalizationService.cs @@ -0,0 +1,24 @@ +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2023-06-01 13:38:06 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +//-------------------------------------------------------------------- + +using IRaCIS.Core.Application.ViewModel; +namespace IRaCIS.Core.Application.Interfaces +{ + /// + /// IInternationalizationService + /// + public interface IInternationalizationService + { + + Task> GetInternationalizationList(InternationalizationQuery inQuery); + + Task AddOrUpdateInternationalization(InternationalizationAddOrEdit addOrEditInternationalization); + + Task DeleteInternationalization(Guid internationalizationId); + + + } +} diff --git a/IRaCIS.Core.Application/Service/Common/InternationalizationService.cs b/IRaCIS.Core.Application/Service/Common/InternationalizationService.cs new file mode 100644 index 000000000..ac7a40970 --- /dev/null +++ b/IRaCIS.Core.Application/Service/Common/InternationalizationService.cs @@ -0,0 +1,71 @@ +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2023-06-01 13:42:25 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +//-------------------------------------------------------------------- + +using IRaCIS.Core.Domain.Models; +using Microsoft.AspNetCore.Mvc; +using IRaCIS.Core.Application.Interfaces; +using IRaCIS.Core.Application.ViewModel; +namespace IRaCIS.Core.Application.Service +{ + /// + /// InternationalizationService + /// + [ApiExplorerSettings(GroupName = "Common")] + public class InternationalizationService : BaseService, IInternationalizationService + { + + private readonly IRepository _internationalizationRepository; + + public InternationalizationService(IRepository internationalizationRepository) + { + _internationalizationRepository = internationalizationRepository; + } + + public async Task> GetInternationalizationList(InternationalizationQuery inQuery) + { + + var internationalizationQueryable =_internationalizationRepository + .WhereIf(inQuery.FolderPath!=null,t=>t.FolderPath.Contains(inQuery.FolderPath)) + .WhereIf(inQuery.Code != null, t => t.FolderPath.Contains(inQuery.Code)) + .WhereIf(inQuery.Value != null, t => t.FolderPath.Contains(inQuery.Value)) + .WhereIf(inQuery.ValueCN != null, t => t.FolderPath.Contains(inQuery.ValueCN)) + .ProjectTo(_mapper.ConfigurationProvider); + + var pageList = await internationalizationQueryable + .ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? "Id" : inQuery.SortField, + inQuery.Asc); + + return pageList; + } + + + public async Task AddOrUpdateInternationalization(InternationalizationAddOrEdit addOrEditInternationalization) + { + var verifyExp1 = new EntityVerifyExp() + { + VerifyExp = t => t.Code == addOrEditInternationalization.Code && t.InternationalizationType == addOrEditInternationalization.InternationalizationType, + + VerifyMsg = $"该类型已有{addOrEditInternationalization.Code}名称的国际化标识", + IsVerify = true + }; + + var entity = await _internationalizationRepository.InsertOrUpdateAsync(addOrEditInternationalization, true,verifyExp1); + + return ResponseOutput.Ok(entity.Id.ToString()); + + } + + + [HttpDelete("{internationalizationId:guid}")] + public async Task DeleteInternationalization(Guid internationalizationId) + { + var success = await _internationalizationRepository.DeleteFromQueryAsync(t => t.Id == internationalizationId, true); + return ResponseOutput.Ok(); + } + + + } +} diff --git a/IRaCIS.Core.Application/Service/Common/_MapConfig.cs b/IRaCIS.Core.Application/Service/Common/_MapConfig.cs index 142c56b3b..5a1d95f24 100644 --- a/IRaCIS.Core.Application/Service/Common/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Common/_MapConfig.cs @@ -54,7 +54,10 @@ namespace IRaCIS.Core.Application.Service CreateMap().ReverseMap(); - + CreateMap(); + CreateMap().ReverseMap(); + + } } diff --git a/IRaCIS.Core.Domain/Common/Internationalization.cs b/IRaCIS.Core.Domain/Common/Internationalization.cs new file mode 100644 index 000000000..bd6311a9d --- /dev/null +++ b/IRaCIS.Core.Domain/Common/Internationalization.cs @@ -0,0 +1,48 @@ + +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2023-06-01 13:37:10 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using System; +using IRaCIS.Core.Domain.Share; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +namespace IRaCIS.Core.Domain.Models +{ + /// + ///Internationalization + /// + [Table("Internationalization")] + public class Internationalization : Entity, IAuditUpdate, IAuditAdd + { + public int ShowOrder { get; set; } + + + public Guid CreateUserId { get; set; } + + + public DateTime CreateTime { get; set; } + + + public DateTime UpdateTime { get; set; } + + + public Guid UpdateUserId { get; set; } + + + public int State { get; set; } + + + public string FolderPath { get; set; } + + public string Code { get; set; } + + public string Value { get; set; } + + public string ValueCN { get; set; } + + public int InternationalizationType { get; set; } + + } + +} diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index 089e70cbb..d2328cc9b 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -696,6 +696,9 @@ namespace IRaCIS.Core.Infra.EFCore public virtual DbSet TrialEmailNoticeUser { get; set; } + public virtual DbSet Internationalization { get; set; } + + } public class MySequentialGuidValueGenerator : ValueGenerator diff --git a/IRaCIS.Core.Test/DbHelper.ttinclude b/IRaCIS.Core.Test/DbHelper.ttinclude index 798e5963d..7bc4c52eb 100644 --- a/IRaCIS.Core.Test/DbHelper.ttinclude +++ b/IRaCIS.Core.Test/DbHelper.ttinclude @@ -4,7 +4,7 @@ public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_New_Tet;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true"; public static readonly string DbDatabase = "IRaCIS_New_Tet"; //ַ,ƴ - public static readonly string TableName = "UserWLTemplate"; + public static readonly string TableName = "Internationalization"; //ļ service Ƿҳ } #> diff --git a/IRaCIS.Core.Test/TT_Template/IRaCIS .Core.IServiceAsync.tt b/IRaCIS.Core.Test/TT_Template/IRaCIS .Core.IServiceAsync.tt index 9f0639f40..c47056fd8 100644 --- a/IRaCIS.Core.Test/TT_Template/IRaCIS .Core.IServiceAsync.tt +++ b/IRaCIS.Core.Test/TT_Template/IRaCIS .Core.IServiceAsync.tt @@ -18,7 +18,7 @@ //在这里设置 isPage 是否生成分页的还是不分页 <# - var isPage=false; + var isPage=true; #> <# diff --git a/IRaCIS.Core.Test/TT_Template/IRaCIS .Core.ServiceAsync.tt b/IRaCIS.Core.Test/TT_Template/IRaCIS .Core.ServiceAsync.tt index 77388dbd7..fa5c367b7 100644 --- a/IRaCIS.Core.Test/TT_Template/IRaCIS .Core.ServiceAsync.tt +++ b/IRaCIS.Core.Test/TT_Template/IRaCIS .Core.ServiceAsync.tt @@ -20,7 +20,7 @@ //在这里设置 isPage 是否生成分页的还是不分页 <# - var isPage=false; + var isPage=true; #> <# @@ -73,9 +73,9 @@ namespace IRaCIS.Core.Application.Service _<#=char.ToLower(tableName[0]) + tableName.Substring(1)#>Repository .ProjectTo<<#=tableName#>View>(_mapper.ConfigurationProvider); - var pageList= await <#=char.ToLower(tableName[0]) + tableName.Substring(1)#>Queryable. - .ToPagedListAsync(query<#=tableName#>.PageIndex, query<#=tableName#>.PageSize, string.IsNullOrWhiteSpace(query<#=tableName#>.SortField) ? "Id" : query<#=tableName#>.SortField, - hospitalSearchModel.Asc); + var pageList= await <#=char.ToLower(tableName[0]) + tableName.Substring(1)#>Queryable + .ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? "Id" : inQuery.SortField, + inQuery.Asc); return pageList; }