示例#1
0
        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);
        }