using Dlhis.Basic.Organization.Request; using Dlhis.Basic.Organization.Response; using Dlhis.Entity.Basic.Entity; using Kurisu.AspNetCore.DataAccess.Dto; using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions; using Kurisu.AspNetCore.DataAccess.SqlSugar.Services; using Kurisu.AspNetCore.Utils.Extensions; using Mapster; namespace Dlhis.Basic.Organization.Services.Implements; public class WerkService : IWerkService { private readonly IDbContext _dbContext; public WerkService(IDbContext dbContext) { _dbContext = dbContext; } public async Task> GetPageAsync(PageDto request) { return await _dbContext.Queryable() .WhereIF(request.Search.IsPresent(), x => x.Name.Contains(request.Search)) .Select() .ToPageListAsync(request); } public async Task SaveAsync(WerkRequest request) { if (!request.Id.HasValue) { var entity = request.Adapt(); entity.Werk = request.Werk; await _dbContext.InsertAsync(entity); } else { var entity = await _dbContext.Queryable().Where(x => x.Id == request.Id).SingleAsync(); entity.ThrowIfNull("人事范围不存在,无法更新!"); request.Adapt(entity); await _dbContext.UpdateAsync(entity); } } }