コード例 #1
0
        public async Task <GetCloudBookListForEditOutput> GetForEdit(NullableIdDto <long> input)
        {
            var output = new GetCloudBookListForEditOutput();
            CloudBookListEditDto editDto;
            var allBooklistDtos = (await _bookRepository.GetAllListAsync()).MapTo <List <BookSelectListDto> >();

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

                editDto = entity.MapTo <CloudBookListEditDto>();

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

                var bookids = (await _entityManager.GetByBookListIdAsync(entity.Id)).Select(a => a.BookId).ToList();

                foreach (var book in allBooklistDtos)
                {
                    if (bookids.Exists(a => a == book.Id))
                    {
                        book.IsSelected = true;
                    }
                }
            }
            else
            {
                editDto = new CloudBookListEditDto();
            }

            output.CloudBookList = editDto;
            output.Books         = allBooklistDtos;
            return(output);
        }
コード例 #2
0
        protected virtual async Task <CloudBookListEditDto> Create(CloudBookListEditDto input, List <long> bookIds)        //
        {
            //TODO:新增前的逻辑判断,是否允许新增

            // var entity = ObjectMapper.Map <CloudBookList>(input);
            var entity   = input.MapTo <CloudBookList>();
            var entityId = await _entityRepository.InsertAndGetIdAsync(entity);

            if (bookIds.Count > 0)
            {
                await _entityManager.CreateBookListAndBookRelationship(entityId, bookIds);
            }
            return(entity.MapTo <CloudBookListEditDto>());
        }
コード例 #3
0
        protected virtual async Task Update(CloudBookListEditDto input, List <long> bookIds)        //
        {
            //TODO:更新前的逻辑判断,是否允许更新

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

            input.MapTo(entity);

            // ObjectMapper.Map(input, entity);
            await _entityRepository.UpdateAsync(entity);

            if (bookIds.Count > 0)          //
            {
                await _entityManager.CreateBookListAndBookRelationship(entity.Id, bookIds);
            }
        }