89 lines
3.7 KiB
C#
89 lines
3.7 KiB
C#
|
|
//--------------------------------------------------------------------
|
|
// 此代码由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<HospitalGroup> _hospitalGroupRepository,
|
|
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IHospitalGroupService
|
|
{
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
public async Task<List<HospitalGroupView>> 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<HospitalGroupView>(_mapper.ConfigurationProvider);
|
|
|
|
var pageList = await hospitalGroupQueryable.SortToListAsync(inQuery);
|
|
|
|
return pageList;
|
|
}
|
|
|
|
|
|
[HttpPost]
|
|
public async Task<PageOutput<HospitalGroupView>> 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<HospitalGroupView>(_mapper.ConfigurationProvider);
|
|
|
|
var pageList = await hospitalGroupQueryable.ToPagedListAsync(inQuery);
|
|
|
|
return pageList;
|
|
}
|
|
|
|
|
|
|
|
public async Task<IResponseOutput> AddOrUpdateHospitalGroup(HospitalGroupAddOrEdit addOrEditHospitalGroup)
|
|
{
|
|
var verifyExp1 = new EntityVerifyExp<HospitalGroup>()
|
|
{
|
|
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<IResponseOutput> DeleteHospitalGroup(Guid hospitalGroupId)
|
|
{
|
|
var success = await _hospitalGroupRepository.DeleteFromQueryAsync(t => t.Id == hospitalGroupId, true);
|
|
return ResponseOutput.Ok();
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|