public async Task <GetBookForEditOutput> GetForEdit(NullableIdDto <long> input)
        {
            var         output = new GetBookForEditOutput();
            BookEditDto editDto;

            if (input.Id.HasValue)
            {
                var entity = await _entityRepository.GetAsync(input.Id.Value);

                editDto = entity.MapTo <BookEditDto>();

                //bookEditDto = ObjectMapper.Map<List<bookEditDto>>(entity);
            }
            else
            {
                editDto = new BookEditDto();
            }

            output.Book = editDto;
            return(output);
        }
        public async Task <GetBookForEditOutput> GetForEdit(NullableIdDto <long> input)
        {
            var         output = new GetBookForEditOutput();
            BookEditDto editDto;
            // 已选中的标签Id
            List <long> bookTagIds = null;
            // 所有标签
            var allbookTag = (await _bookTagManager.GetAll()).MapTo <List <BookTagSelectListDto> >();

            if (input.Id.HasValue)
            {
                var entity = await _entityRepository.GetAsync(input.Id.Value);

                editDto = entity.MapTo <BookEditDto>();


                bookTagIds = (await _bookAndBookTagRelationshipManager.GetByBookId(input.Id.Value))
                             .Select(o => o.BookTagId)
                             .ToList();


                foreach (var bookTag in allbookTag)
                {
                    if (bookTagIds.Exists(o => o == bookTag.Id))
                    {
                        bookTag.IsSelected = true;
                    }
                }
            }
            else
            {
                editDto = new BookEditDto();
            }

            output.Book     = editDto;
            output.BookTags = allbookTag;

            return(output);
        }
Exemple #3
0
        public async Task <GetBookForEditOutput> GetForEdit(NullableIdDto <long> input)
        {
            var         output = new GetBookForEditOutput();
            BookEditDto editDto;


            List <long> tagIds = null;
            //获取所有标签
            //哪些是选择了的,哪些是没有选择的
            var booktagListDtos = (await _bookTagManager.GetAll()).MapTo <List <BookTagSelectListDto> >();

            if (input.Id.HasValue)
            {
                var entity = await _entityRepository.GetAsync(input.Id.Value);

                editDto = entity.MapTo <BookEditDto>();

                //bookEditDto = ObjectMapper.Map<List<bookEditDto>>(entity);


                tagIds = (await _entityManager.GetTagsByBookId(entity.Id)).Select(a => a.BookTagId).ToList();
                foreach (var bookTag in booktagListDtos)
                {
                    if (tagIds.Exists(a => a == bookTag.Id))
                    {
                        bookTag.IsSelected = true;
                    }
                }
            }
            else
            {
                editDto = new BookEditDto();
            }

            output.Book     = editDto;
            output.BookTags = booktagListDtos;
            return(output);
        }
Exemple #4
0
        public async Task <GetBookForEditOutput> GetForEdit(NullableIdDto <long> input)
        {
            var         output = new GetBookForEditOutput();
            BookEditDto editDto;
            List <long> allSelectedTagIds = null;
            var         allBookTags       = ObjectMapper
                                            .Map <List <BookTagSelectedListDto> >((await _bookTagManager.GetAllBookTags()));

            if (input.Id.HasValue)
            {
                var entity = await _bookRepository.GetAsync(input.Id.Value);

                editDto           = ObjectMapper.Map <BookEditDto>(entity);
                allSelectedTagIds = (await _bookManager.GetBookTagsByBookId(editDto.Id)).Select(b => b.TagId).ToList();
                if (allSelectedTagIds.Count > 0)
                {
                    foreach (var bookTag in allBookTags)
                    {
                        if (allSelectedTagIds.Any(b => b == bookTag.Id))
                        {
                            bookTag.IsSelected = true;
                        }
                    }
                }
            }
            else
            {
                editDto = new BookEditDto();
            }



            output.Book     = editDto;
            output.BookTags = allBookTags;
            return(output);
        }