修改文件类型基础代码
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
67a6a5f861
commit
f995187925
|
@ -1343,7 +1343,7 @@
|
||||||
<param name="_userInfo"></param>
|
<param name="_userInfo"></param>
|
||||||
<param name="_localizer"></param>
|
<param name="_localizer"></param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.SysFileTypeService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SysFileType},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
|
<member name="M:IRaCIS.Core.Application.Service.SysFileTypeService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SysFileType},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialFileType},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
|
||||||
<summary>
|
<summary>
|
||||||
系统文件类型
|
系统文件类型
|
||||||
</summary>
|
</summary>
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
using System;
|
using System;
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Reflection.Metadata;
|
||||||
namespace IRaCIS.Core.Application.ViewModel;
|
namespace IRaCIS.Core.Application.ViewModel;
|
||||||
|
|
||||||
public class TrialFileTypeView : TrialFileTypeAddOrEdit
|
public class TrialFileTypeView : TrialFileTypeAddOrEdit
|
||||||
|
@ -19,6 +21,18 @@ public class TrialFileTypeView : TrialFileTypeAddOrEdit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class TrialFileTypeSelectView
|
||||||
|
{
|
||||||
|
public Guid Id { get; set; }
|
||||||
|
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
public bool IsEnable { get; set; }
|
||||||
|
|
||||||
|
public bool IsSelfDefine { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public class TrialFileTypeAddOrEdit
|
public class TrialFileTypeAddOrEdit
|
||||||
{
|
{
|
||||||
public Guid? Id { get; set; }
|
public Guid? Id { get; set; }
|
||||||
|
@ -42,7 +56,7 @@ public class TrialFileTypeAddOrEdit
|
||||||
public Guid? SysFileTypeId { get; set; }
|
public Guid? SysFileTypeId { get; set; }
|
||||||
|
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class TrialFileTypeQuery : PageInput
|
public class TrialFileTypeQuery : PageInput
|
||||||
{
|
{
|
||||||
|
@ -62,11 +76,21 @@ public class TrialFileTypeQuery : PageInput
|
||||||
|
|
||||||
public int? SubIdentification { get; set; }
|
public int? SubIdentification { get; set; }
|
||||||
|
|
||||||
public Guid? SysFileTypeId { get; set; }
|
|
||||||
|
|
||||||
public Guid? TrialId { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
[NotDefault]
|
||||||
|
public Guid TrialId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class TrialFileTypeSelectQuery
|
||||||
|
{
|
||||||
|
[NotDefault]
|
||||||
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
public bool? IsEnable { get; set; }
|
||||||
|
|
||||||
|
public bool? IsSelfDefine { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ namespace IRaCIS.Core.Application.Service;
|
||||||
/// <param name="_localizer"></param>
|
/// <param name="_localizer"></param>
|
||||||
[ApiExplorerSettings(GroupName = "FileRecord")]
|
[ApiExplorerSettings(GroupName = "FileRecord")]
|
||||||
|
|
||||||
public class SysFileTypeService(IRepository<SysFileType> _sysFileTypeRepository,
|
public class SysFileTypeService(IRepository<SysFileType> _sysFileTypeRepository, IRepository<TrialFileType> _trialFileTypeRepository,
|
||||||
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ISysFileTypeService
|
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ISysFileTypeService
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -32,6 +32,12 @@ public class SysFileTypeService(IRepository<SysFileType> _sysFileTypeRepository,
|
||||||
{
|
{
|
||||||
|
|
||||||
var sysFileTypeQueryable = _sysFileTypeRepository
|
var sysFileTypeQueryable = _sysFileTypeRepository
|
||||||
|
.WhereIf(inQuery.ArchiveTypeEnum != null, t => t.ArchiveTypeEnum == inQuery.ArchiveTypeEnum)
|
||||||
|
.WhereIf(inQuery.IsConfirmRecord != null, t => t.IsConfirmRecord == inQuery.IsConfirmRecord)
|
||||||
|
.WhereIf(inQuery.SubIdentification != null, t => t.SubIdentification == inQuery.SubIdentification)
|
||||||
|
.WhereIf(inQuery.IsEnable != null, t => t.IsEnable == inQuery.IsEnable)
|
||||||
|
.WhereIf(inQuery.Name.IsNotNullOrEmpty(), t => t.Name.Contains(inQuery.Name))
|
||||||
|
.WhereIf(inQuery.NameCN.IsNotNullOrEmpty(), t => t.NameCN.Contains(inQuery.NameCN))
|
||||||
.ProjectTo<SysFileTypeView>(_mapper.ConfigurationProvider);
|
.ProjectTo<SysFileTypeView>(_mapper.ConfigurationProvider);
|
||||||
|
|
||||||
var pageList = await sysFileTypeQueryable.ToPagedListAsync(inQuery);
|
var pageList = await sysFileTypeQueryable.ToPagedListAsync(inQuery);
|
||||||
|
@ -43,8 +49,23 @@ public class SysFileTypeService(IRepository<SysFileType> _sysFileTypeRepository,
|
||||||
|
|
||||||
public async Task<IResponseOutput> AddOrUpdateSysFileType(SysFileTypeAddOrEdit addOrEditSysFileType)
|
public async Task<IResponseOutput> AddOrUpdateSysFileType(SysFileTypeAddOrEdit addOrEditSysFileType)
|
||||||
{
|
{
|
||||||
|
var verifyExp = new EntityVerifyExp<SysFileType>()
|
||||||
|
{
|
||||||
|
VerifyExp = u => u.IsEnable == addOrEditSysFileType.IsEnable && (u.Name == addOrEditSysFileType.Name || u.NameCN == addOrEditSysFileType.NameCN),
|
||||||
|
|
||||||
var entity = await _sysFileTypeRepository.InsertOrUpdateAsync(addOrEditSysFileType, true);
|
// "当前类型启用的文件类型名称重复"
|
||||||
|
VerifyMsg = _localizer["SysFileType_NameRepeat"],
|
||||||
|
|
||||||
|
IsVerify = addOrEditSysFileType.IsEnable == false
|
||||||
|
};
|
||||||
|
|
||||||
|
var entity = await _sysFileTypeRepository.InsertOrUpdateAsync(addOrEditSysFileType, true, verifyExp);
|
||||||
|
|
||||||
|
//启用的才进行更新
|
||||||
|
if (addOrEditSysFileType.Id != null && addOrEditSysFileType.IsEnable)
|
||||||
|
{
|
||||||
|
await _trialFileTypeRepository.BatchUpdateNoTrackingAsync(t => t.SysFileTypeId == addOrEditSysFileType.Id, u => new TrialFileType() { Name = addOrEditSysFileType.Name, NameCN = addOrEditSysFileType.NameCN, });
|
||||||
|
}
|
||||||
|
|
||||||
return ResponseOutput.Ok(entity.Id.ToString());
|
return ResponseOutput.Ok(entity.Id.ToString());
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,16 @@ public class TrialFileTypeService(IRepository<TrialFileType> _trialFileTypeRepos
|
||||||
{
|
{
|
||||||
|
|
||||||
var trialFileTypeQueryable = _trialFileTypeRepository
|
var trialFileTypeQueryable = _trialFileTypeRepository
|
||||||
|
.Where(t => t.TrialId == inQuery.TrialId)
|
||||||
|
|
||||||
|
.WhereIf(inQuery.ArchiveTypeEnum != null, t => t.ArchiveTypeEnum == inQuery.ArchiveTypeEnum)
|
||||||
|
.WhereIf(inQuery.IsConfirmRecord != null, t => t.IsConfirmRecord == inQuery.IsConfirmRecord)
|
||||||
|
.WhereIf(inQuery.SubIdentification != null, t => t.SubIdentification == inQuery.SubIdentification)
|
||||||
|
.WhereIf(inQuery.IsEnable != null, t => t.IsEnable == inQuery.IsEnable)
|
||||||
|
.WhereIf(inQuery.Name.IsNotNullOrEmpty(), t => t.Name.Contains(inQuery.Name))
|
||||||
|
.WhereIf(inQuery.NameCN.IsNotNullOrEmpty(), t => t.NameCN.Contains(inQuery.NameCN))
|
||||||
|
|
||||||
|
.WhereIf(inQuery.IsSelfDefine != null, t => t.IsSelfDefine == inQuery.IsSelfDefine)
|
||||||
.ProjectTo<TrialFileTypeView>(_mapper.ConfigurationProvider);
|
.ProjectTo<TrialFileTypeView>(_mapper.ConfigurationProvider);
|
||||||
|
|
||||||
var pageList = await trialFileTypeQueryable.ToPagedListAsync(inQuery);
|
var pageList = await trialFileTypeQueryable.ToPagedListAsync(inQuery);
|
||||||
|
@ -38,15 +48,42 @@ public class TrialFileTypeService(IRepository<TrialFileType> _trialFileTypeRepos
|
||||||
return pageList;
|
return pageList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<List<TrialFileTypeSelectView>> GetTrialFileTypeSelectList(TrialFileTypeSelectQuery inQuery)
|
||||||
|
{
|
||||||
|
var list = _trialFileTypeRepository
|
||||||
|
.Where(t => t.TrialId == inQuery.TrialId)
|
||||||
|
|
||||||
|
.WhereIf(inQuery.IsSelfDefine != null, t => t.IsSelfDefine == inQuery.IsSelfDefine)
|
||||||
|
.WhereIf(inQuery.IsEnable != null, t => t.IsEnable == inQuery.IsEnable)
|
||||||
|
.Select(t => new TrialFileTypeSelectView()
|
||||||
|
{
|
||||||
|
Id = t.Id,
|
||||||
|
IsEnable = t.IsEnable,
|
||||||
|
Name = _userInfo.IsEn_Us ? t.Name : t.NameCN,
|
||||||
|
IsSelfDefine = t.IsSelfDefine,
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
|
return list;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public async Task<IResponseOutput> AddOrUpdateTrialFileType(TrialFileTypeAddOrEdit addOrEditTrialFileType)
|
public async Task<IResponseOutput> AddOrUpdateTrialFileType(TrialFileTypeAddOrEdit addOrEditTrialFileType)
|
||||||
{
|
{
|
||||||
// 在此处拷贝automapper 映射
|
|
||||||
|
|
||||||
|
var verifyExp = new EntityVerifyExp<TrialFileType>()
|
||||||
|
{
|
||||||
|
VerifyExp = u => u.IsEnable == addOrEditTrialFileType.IsEnable && (u.Name == addOrEditTrialFileType.Name || u.NameCN == addOrEditTrialFileType.NameCN),
|
||||||
|
|
||||||
|
// "当前类型启用的文件类型名称重复"
|
||||||
|
VerifyMsg = _localizer["TrialFileType_NameRepeat"],
|
||||||
|
|
||||||
|
IsVerify = addOrEditTrialFileType.IsEnable == false
|
||||||
|
};
|
||||||
|
|
||||||
|
var entity = await _trialFileTypeRepository.InsertOrUpdateAsync(addOrEditTrialFileType, true, verifyExp);
|
||||||
|
|
||||||
var entity = await _trialFileTypeRepository.InsertOrUpdateAsync(addOrEditTrialFileType, true);
|
|
||||||
|
|
||||||
return ResponseOutput.Ok(entity.Id.ToString());
|
return ResponseOutput.Ok(entity.Id.ToString());
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue