using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Repositories; namespace Yi.Framework.Ddd.Application { public abstract class YiCrudAppService : YiCrudAppService where TEntity : class, IEntity where TEntityDto : IEntityDto { protected YiCrudAppService(IRepository repository) : base(repository) { } } public abstract class YiCrudAppService : YiCrudAppService where TEntity : class, IEntity where TEntityDto : IEntityDto { protected YiCrudAppService(IRepository repository) : base(repository) { } } public abstract class YiCrudAppService : YiCrudAppService where TEntity : class, IEntity where TEntityDto : IEntityDto { protected YiCrudAppService(IRepository repository) : base(repository) { } } public abstract class YiCrudAppService : YiCrudAppService where TEntity : class, IEntity where TEntityDto : IEntityDto { protected YiCrudAppService(IRepository repository) : base(repository) { } } public abstract class YiCrudAppService : CrudAppService where TEntity : class, IEntity where TGetOutputDto : IEntityDto where TGetListOutputDto : IEntityDto { protected YiCrudAppService(IRepository repository) : base(repository) { } public override async Task> GetListAsync(TGetListInput input) { List? entites = null; //区分多查还是批量查 if (input is IPagedResultRequest pagedInput) { entites = await Repository.GetPagedListAsync(pagedInput.SkipCount, pagedInput.MaxResultCount, string.Empty); } else { entites = await Repository.GetListAsync(); } var total = await Repository.CountAsync(); var output = await MapToGetListOutputDtosAsync(entites); return new PagedResultDto(total, output); //throw new NotImplementedException($"【{typeof(TEntity)}】实体的CrudAppService,查询为具体业务,通用查询几乎无实际场景,请重写实现!"); } /// /// 偷梁换柱 /// /// /// [RemoteService(isEnabled: true)] public async Task DeleteAsync(IEnumerable id) { await Repository.DeleteManyAsync(id); } [RemoteService(isEnabled: false)] public override Task DeleteAsync(TKey id) { return base.DeleteAsync(id); } } }