using Dlhis.Basic.Device.Request; using Dlhis.Basic.Device.Response; using Dlhis.Entity.Device.Entities; using Kurisu.AspNetCore.Utils.Extensions; using Kurisu.Core.DataAccess.Dto; using Kurisu.SqlSugar.Extensions; using Kurisu.SqlSugar.Services; using Mapster; namespace Dlhis.Basic.Device.Services.Implements; public class DeviceTemplateService : IDeviceTemplateService { private readonly IDbContext _dbContext; public DeviceTemplateService(IDbContext dbContext) { _dbContext = dbContext; } public async Task> GetPageAsync(DeviceTemplatePageRequest request) { var page = await _dbContext.Queryable() .Select() .ToPageListAsync(request); return page; } public async Task SaveTemplateAsync(DeviceTemplateSaveRequest request) { if (!request.Id.HasValue) { var entity = request.Adapt(); entity.Code = Guid.NewGuid(); await _dbContext.InsertAsync(entity); } else { var entity = await _dbContext.Queryable().Where(x => x.Id == request.Id).FirstAsync(); await ExistsDeviceUsingTemplateAsync(entity.Code); await _dbContext.UpdateAsync(entity); } } //**********************************************************************************************************/ /// /// 模板被引用,不能修改 /// /// /// private async Task ExistsDeviceUsingTemplateAsync(Guid templateCode) { var existsUsing = await _dbContext.Queryable().Where(x => x.TemplateCode == templateCode).AnyAsync(); existsUsing.ThrowIfTrue("存在使用中的设备信息,无法修改"); } }