private async Task <List <BookInfoDto> > GetBookInfos(int methodType, Dictionary <string, string> dic, bool includeRemove = true) { IEnumerable <BookInfo> bookInfos; if (methodType == 1) { bookInfos = await _service.QueryAll(includeRemove); } else { bookInfos = await _service.QueryAll(dic); } var categories = await _categoryService.QueryAll(false); var publishingHouses = await _publishingHouseService.QueryAll(false); var data = bookInfos.Join(categories, bookInfo => bookInfo.BookCategoryId, category => category.Id, (bookInfo, category) => new { bookInfo, category }).Join(publishingHouses, ac => ac.bookInfo.PublishingId, publishingHouse => publishingHouse.Id, (a, c) => new BookInfoDto { Id = a.bookInfo.Id, Author = a.bookInfo.Author, BookCategoryId = a.bookInfo.BookCategoryId, BookName = a.bookInfo.BookName, BookPhoto = a.bookInfo.BookPhoto, BookNum = a.bookInfo.BookNum, CategoryName = a.category.CategoryName, CreateTime = a.bookInfo.CreateTime, ISBN = a.bookInfo.ISBN, IsRemove = a.bookInfo.IsRemove, PublishingName = c.PublishingName, PublishingId = a.bookInfo.PublishingId, UpdateTime = a.bookInfo.UpdateTime, Price = a.bookInfo.Price, ReleaseDate = a.bookInfo.ReleaseDate }); return(data.ToList()); }
public async Task <List <BookCategoryDto> > GetBookCategories(bool includeRemove) { var data = await _service.QueryAll(includeRemove); return(_mapper.Map <List <BookCategoryDto> >(data)); }
/// <summary> /// 查询书籍数据 /// </summary> /// <param name="methodType">查询方法类型 0:默认全查 其它:带参查询</param> /// <param name="dic">查询参数</param> /// <param name="includeRemove">是否查询已移除数据</param> /// <returns></returns> private async Task <List <BookDto> > GetBooksByParameter(int methodType, Dictionary <string, string> dic, bool includeRemove = true) { #region 获取相关参数信息 var bookInfos = await _bookInfoService.QueryAll(false); var categories = await _categoryService.QueryAll(false); var publishingHouses = await _publishingHouseService.QueryAll(false); #endregion //联表查询书籍详细信息 var bookInfosDto = bookInfos.Join(categories, bookInfo => bookInfo.BookCategoryId, category => category.Id, (bookInfo, category) => new { bookInfo, category }).Join(publishingHouses, ac => ac.bookInfo.PublishingId, publishingHouse => publishingHouse.Id, (a, c) => new BookInfoDto { Id = a.bookInfo.Id, Author = a.bookInfo.Author, BookCategoryId = a.bookInfo.BookCategoryId, BookName = a.bookInfo.BookName, BookPhoto = a.bookInfo.BookPhoto, BookNum = a.bookInfo.BookNum, CategoryName = a.category.CategoryName, CreateTime = a.bookInfo.CreateTime, ISBN = a.bookInfo.ISBN, IsRemove = a.bookInfo.IsRemove, PublishingName = c.PublishingName, PublishingId = a.bookInfo.PublishingId, UpdateTime = a.bookInfo.UpdateTime, Price = a.bookInfo.Price, ReleaseDate = a.bookInfo.ReleaseDate }); IEnumerable <Book> books; //获取书籍信息 if (methodType == 0) { books = await _service.QueryAll(includeRemove); } else { books = await _service.QueryAll(dic); } //联表查询书籍信息 var data = books .Join(bookInfosDto, book => book.BookInfoId, info => info.Id, (book, info) => new BookDto { Id = book.Id, Author = info.Author, BookCategoryId = info.BookCategoryId, BookName = info.BookName, BookPhoto = info.BookPhoto, CategoryName = info.CategoryName, CreateTime = book.CreateTime, ISBN = info.ISBN, IsRemove = book.IsRemove, PublishingName = info.PublishingName, PublishingId = info.PublishingId, UpdateTime = book.UpdateTime, Price = info.Price, ReleaseDate = info.ReleaseDate, BookState = book.BookState, BookInfoId = info.Id }); return(data.ToList()); }