//-------------------------------------------------------------------- // 此代码由T4模板自动生成 byzhouhang 20210918 // 生成时间 2022-03-03 15:28:32 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 //-------------------------------------------------------------------- using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.MediatR.Handlers; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Infra.EFCore; using MediatR; using Microsoft.AspNetCore.Mvc; namespace IRaCIS.Core.Application.Service { /// /// SystemAnonymizationService /// [ApiExplorerSettings(GroupName = "Image")] public class SystemAnonymizationService : BaseService, ISystemAnonymizationService { private readonly IMediator _mediator; private readonly IRepository systemAnonymizationRepository; public SystemAnonymizationService(IMediator mediator, IRepository systemAnonymizationRepository) { _mediator = mediator; this.systemAnonymizationRepository = systemAnonymizationRepository; } [HttpPost] public async Task> GetSystemAnonymizationList(SystemAnonymizationQuery querySystemAnonymization) { var systemAnonymizationQueryable = systemAnonymizationRepository .WhereIf(!string.IsNullOrEmpty(querySystemAnonymization.Group), t => t.Group.Contains(querySystemAnonymization.Group)) .WhereIf(!string.IsNullOrEmpty(querySystemAnonymization.Element), t => t.Element.Contains(querySystemAnonymization.Element)) .WhereIf(querySystemAnonymization.IsAdd != null, t => t.IsAdd == querySystemAnonymization.IsAdd) .WhereIf(!string.IsNullOrEmpty(querySystemAnonymization.ValueRepresentation), t => t.ValueRepresentation.Contains(querySystemAnonymization.ValueRepresentation)) .ProjectTo(_mapper.ConfigurationProvider); return await systemAnonymizationQueryable.ToPagedListAsync(querySystemAnonymization.PageIndex, querySystemAnonymization.PageSize, querySystemAnonymization.SortField, querySystemAnonymization.Asc); } public async Task AddOrUpdateSystemAnonymization(SystemAnonymizationAddOrEdit addOrEditSystemAnonymization) { var entity = await _repository.InsertOrUpdateAsync(addOrEditSystemAnonymization, true); await _mediator.Send(new AnonymizeCacheRequest()); return ResponseOutput.Ok(entity.Id.ToString()); } [HttpDelete("{systemAnonymizationId:guid}")] public async Task DeleteSystemAnonymization(Guid systemAnonymizationId) { var success = await systemAnonymizationRepository.BatchDeleteNoTrackingAsync(t => t.Id == systemAnonymizationId); return ResponseOutput.Result(success); } } }