public async Task <IPagedResult <GetWordbookItemOutput> > GetWordbookItems(GetWordbookItemsInput input) { if (input.Code.IsNullOrEmpty() && !input.WordbookId.HasValue) { throw new BusinessException("字典编码和字典Id不能同时为空"); } var outputs = await _wordbookDomainService.GetWordbookItems(input); foreach (var output in outputs.Items) { await output.SetAuditInfo(); } return(outputs); }
public async Task <IPagedResult <GetWordbookItemOutput> > GetWordbookItems(GetWordbookItemsInput input) { Wordbook wordbook = null; if (input.WordbookId.HasValue) { wordbook = await _wordbookRepository.SingleOrDefaultAsync(p => p.Id == input.WordbookId); if (wordbook == null) { throw new BusinessException($"系统中不存在Id为{input.WordbookId}的字典类型"); } } else { wordbook = await _wordbookRepository.SingleOrDefaultAsync(p => p.Code == input.Code); if (wordbook == null) { throw new BusinessException($"系统中不存在Code为{input.Code}的字典类型"); } } var wordbookItems = await _wordbookItemRepository.GetPageAsync(p => p.WordbookId == input.WordbookId, input.PageIndex, input.PageCount, new Dictionary <string, SortType> { { "Sort", SortType.Desc } }); var wordbookItemOutputs = wordbookItems.Item1.MapTo <IEnumerable <GetWordbookItemOutput> >().Select(p => { p.WordbookCode = wordbook.Code; return(p); }).GetPagedResult(wordbookItems.Item2); return(wordbookItemOutputs); }