using NetAdmin.Application.Services;
using NetAdmin.Domain.Dto.Dependency;
using NetAdmin.Domain.Dto.Sys.Dic.Catalog;
using NetAdmin.Domain.Dto.Sys.Dic.Content;
using NetAdmin.SysComponent.Application.Services.Sys.Dependency;
namespace NetAdmin.SysComponent.Application.Services.Sys;
///
public sealed class DicService(IDicCatalogService catalogService, IDicContentService contentService) //
: ServiceBase, IDicService
{
///
public Task BulkDeleteCatalogAsync(BulkReq req)
{
req.ThrowIfInvalid();
return catalogService.BulkDeleteAsync(req);
}
///
public Task BulkDeleteContentAsync(BulkReq req)
{
req.ThrowIfInvalid();
return contentService.BulkDeleteAsync(req);
}
///
public Task CreateCatalogAsync(CreateDicCatalogReq req)
{
req.ThrowIfInvalid();
return catalogService.CreateAsync(req);
}
///
public Task CreateContentAsync(CreateDicContentReq req)
{
req.ThrowIfInvalid();
return contentService.CreateAsync(req);
}
///
public Task DeleteCatalogAsync(DelReq req)
{
req.ThrowIfInvalid();
return catalogService.DeleteAsync(req);
}
///
public Task DeleteContentAsync(DelReq req)
{
req.ThrowIfInvalid();
return contentService.DeleteAsync(req);
}
///
public Task GetCatalogAsync(QueryDicCatalogReq req)
{
req.ThrowIfInvalid();
return catalogService.GetAsync(req);
}
///
public Task GetContentAsync(QueryDicContentReq req)
{
req.ThrowIfInvalid();
return contentService.GetAsync(req);
}
///
public async Task GetDicValueAsync(GetDicValueReq req)
{
req.ThrowIfInvalid();
var df = new DynamicFilterInfo {
Filters = [
new DynamicFilterInfo {
Field = nameof(QueryDicContentReq.CatalogId)
, Operator = DynamicFilterOperators.Eq
, Value = req.CatalogId
}
, new DynamicFilterInfo {
Field = nameof(QueryDicContentReq.Key)
, Operator = DynamicFilterOperators.Eq
, Value = req.Key
}
]
};
var queryParam = new QueryReq { Count = 1, DynamicFilter = df };
return (await QueryContentAsync(queryParam).ConfigureAwait(false)).FirstOrDefault()?.Value;
}
///
public Task> PagedQueryCatalogAsync(PagedQueryReq req)
{
req.ThrowIfInvalid();
return catalogService.PagedQueryAsync(req);
}
///
public Task> PagedQueryContentAsync(PagedQueryReq req)
{
req.ThrowIfInvalid();
return contentService.PagedQueryAsync(req);
}
///
public Task> QueryCatalogAsync(QueryReq req)
{
req.ThrowIfInvalid();
return catalogService.QueryAsync(req);
}
///
public Task> QueryContentAsync(QueryReq req)
{
req.ThrowIfInvalid();
return contentService.QueryAsync(req);
}
///
public Task UpdateCatalogAsync(UpdateDicCatalogReq req)
{
req.ThrowIfInvalid();
return catalogService.UpdateAsync(req);
}
///
public Task UpdateContentAsync(UpdateDicContentReq req)
{
req.ThrowIfInvalid();
return contentService.UpdateAsync(req);
}
}