Пример #1
0
        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);
        }
Пример #2
0
        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);
        }