//-------------------------------------------------------------------- // 此代码由liquid模板自动生成 byzhouhang 20240909 // 生成时间 2025-08-18 03:23:01Z // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 //-------------------------------------------------------------------- using IRaCIS.Core.Domain.Models; using Microsoft.AspNetCore.Mvc; using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Infrastructure.Extention; using System.Threading.Tasks; using IRaCIS.Core.Infra.EFCore; using IRaCIS.Application.Contracts; namespace IRaCIS.Core.Application.Service; [ApiExplorerSettings(GroupName = "Test")] public class HospitalGroupService(IRepository _hospitalGroupRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IHospitalGroupService { [HttpPost] public async Task> GetHospitalGroupList(HospitalGroupQuery inQuery) { var hospitalGroupQueryable = _hospitalGroupRepository .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Code), t => t.Code.Contains(inQuery.Code)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Name), t => t.Name.Contains(inQuery.Name)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Affiliation), t => t.Affiliation.Contains(inQuery.Affiliation)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.ContactPhone), t => t.ContactPhone.Contains(inQuery.ContactPhone)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.ContactName), t => t.ContactName.Contains(inQuery.ContactName)) .ProjectTo(_mapper.ConfigurationProvider); var pageList = await hospitalGroupQueryable.SortToListAsync(inQuery); return pageList; } [HttpPost] public async Task> GetHospitalGroupPageList(HospitalGroupQuery inQuery) { var hospitalGroupQueryable = _hospitalGroupRepository .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Code), t => t.Code.Contains(inQuery.Code)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Name), t => t.Name.Contains(inQuery.Name)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Affiliation), t => t.Affiliation.Contains(inQuery.Affiliation)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.ContactPhone), t => t.ContactPhone.Contains(inQuery.ContactPhone)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.ContactName), t => t.ContactName.Contains(inQuery.ContactName)) .ProjectTo(_mapper.ConfigurationProvider); var pageList = await hospitalGroupQueryable.ToPagedListAsync(inQuery); return pageList; } public async Task AddOrUpdateHospitalGroup(HospitalGroupAddOrEdit addOrEditHospitalGroup) { var verifyExp1 = new EntityVerifyExp() { VerifyExp = u => u.Code == addOrEditHospitalGroup.Code, VerifyMsg = _localizer["HospitalGroup_DuplicateCode"] }; var entity = await _hospitalGroupRepository.InsertOrUpdateAsync(addOrEditHospitalGroup, true, verifyExp1); return ResponseOutput.Ok(entity.Id.ToString()); } [HttpDelete("{hospitalGroupId:guid}")] public async Task DeleteHospitalGroup(Guid hospitalGroupId) { var success = await _hospitalGroupRepository.DeleteFromQueryAsync(t => t.Id == hospitalGroupId, true); return ResponseOutput.Ok(); } }