public List <RpanBookInfo> queryPanBookByPath(panQueryFile query) { List <RpanBookInfo> result = new List <RpanBookInfo>(); var panList = _baiduPanRepository.queryPanBookByPath(query); List <RSearchOneBookResult> searchList = null; if (query.querySearchResultNum > 0) { searchList = _baiduPanRepository.queryDouBanSearch(query); } foreach (var pan in panList) { RpanBookInfo rObj = new RpanBookInfo(); if (searchList != null && searchList.Count > 0) { rObj.searchList = searchList.FindAll(s => s.fsId == pan.fsId).Take(query.querySearchResultNum).ToList(); } rObj.panBookInfo = pan; result.Add(rObj); } return(result); }
public ResultList <RpanBookInfo> queryPanBookList(panQueryFile query) { ResultList <RpanBookInfo> result = new ResultList <RpanBookInfo>(); try { if (query.queryOnlyFromDB) { result.List = _baiduPanService.queryPanBookByPath(query); } else { var panList = _baiduPanService.requireFileList(query.rootPath, query.accessToken); var dbBookList = _baiduPanService.queryPanBookByPath(query); result.List = new List <RpanBookInfo>(); foreach (var panFile in panList.list) { RpanBookInfo rBook = this.getbookInDb(panFile, dbBookList); if (rBook == null) { var dbBook = panFile.toPanBook(query.rootPath); rBook = new RpanBookInfo { panBookInfo = dbBook }; } result.List.Add(rBook); } } } catch (Exception ex) { result.ErrorMsg = ex.Message; } return(result); }