modules/00_Admin/Admin.Core/Application/Dict/DictService.cs
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Mkh.Cache.Abstractions;
using Mkh.Data.Abstractions.Annotations;
using Mkh.Data.Abstractions.Query;
using Mkh.Mod.Admin.Core.Application.Dict.Dto;
using Mkh.Mod.Admin.Core.Application.Dict.Vo;
using Mkh.Mod.Admin.Core.Domain.Dict;
using Mkh.Mod.Admin.Core.Domain.DictGroup;
using Mkh.Mod.Admin.Core.Domain.DictItem;
using Mkh.Mod.Admin.Core.Infrastructure;
using Mkh.Utils.Map;
namespace Mkh.Mod.Admin.Core.Application.Dict;
internal class DictService : IDictService
{
private readonly IMapper _mapper;
private readonly IDictRepository _repository;
private readonly IDictGroupRepository _groupRepository;
private readonly IDictItemRepository _itemRepository;
private readonly ICacheProvider _cacheHandler;
private readonly AdminCacheKeys _cacheKeys;
private readonly AdminLocalizer _localizer;
public DictService(IMapper mapper, IDictRepository repository, IDictGroupRepository groupRepository, IDictItemRepository itemRepository, ICacheProvider cacheHandler, AdminCacheKeys cacheKeys, AdminLocalizer localizer)
{
_mapper = mapper;
_repository = repository;
_groupRepository = groupRepository;
_itemRepository = itemRepository;
_cacheHandler = cacheHandler;
_cacheKeys = cacheKeys;
_localizer = localizer;
}
public Task<PagingQueryResultModel<DictEntity>> Query(DictQueryDto dto)
{
return _repository.Query(dto);
}
public async Task<IResultModel> Add(DictAddDto dto)
{
if (await _repository.Find(m => m.GroupCode == dto.GroupCode && m.Code == dto.Code).ToExists())
return ResultModel.Failed(_localizer["当前分组下字典编码已存在"]);
if (!await _groupRepository.Find(m => m.Code == dto.GroupCode).ToExists())
return ResultModel.Failed(_localizer["当前分组不存在"]);
var entity = _mapper.Map<DictEntity>(dto);
var result = await _repository.Add(entity);
return ResultModel.Result(result);
}
public async Task<IResultModel> Edit(int id)
{
后面还有 185 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
