public ActionResult GetSearchArea(float minX, float minY, float maxX, float maxY, int page = 1, int category = 0, int price = 0)
        {
            var model = new QuerySource();

            var result = new List<LinkItem>();

            QueryTerm query = new QueryTerm();

            query.MinX = minX;
            query.MinY = minY;
            query.MaxX = maxX;
            query.MaxY = maxY;
            if (category != 0)
            {
                query.MediaCode = category;
                query.MediaMaxCode = Utilities.GetMaxCode(category);
            }
            if (price != 0)
            {
                query.Price = price;
            }

            var pageSize = 10;

            int totalHits = 0;

            SearchFilter sf = new SearchFilter();

            sf.PageSize = pageSize;

            sf.Skip = (page - 1) * pageSize;

            sf.Take = pageSize;

            sf.SortProperty = SortProperty.Published;

            sf.SortDirection = SortDirection.Descending;

            result = OutDoorLuceneService.Search(query, sf, out totalHits);

            model.Items = result;

            model.TotalCount = totalHits;

            model.CurrentPage = page;

            model.PageSize = pageSize;

            return Json(model, JsonRequestBehavior.AllowGet);
        }
        private QuerySource GetCompanySources(int ID, int c, int page)
        {
            const int PageSize = 15;
            var model = new QuerySource();
            var query = new List<LinkItem>();
            int totalHits;
            QueryTerm queryTerm = new QueryTerm()
            {
                MemberID = ID,
                Page = page
            };
            if (c != 0)
            {
                var cate = MediaCateService.Find(c);
                var maxCode = Utilities.GetMaxCode(cate.Code, cate.Level);
                queryTerm.MediaCode = c;
                queryTerm.MediaCateCode = cate.Code;
                queryTerm.MediaMaxCode = Utilities.GetMaxCode(cate.Code, cate.Level);
            }
            var searchFilter = GetSearchFilter(queryTerm.Query, queryTerm.Order, queryTerm.Descending, queryTerm.Page, PageSize);
            query = OutDoorLuceneService.Search(queryTerm, searchFilter, out totalHits);

            model.Items = query;

            model.TotalCount = totalHits;

            model.CurrentPage = queryTerm.Page;

            model.PageSize = PageSize;

            model.Querywords = string.IsNullOrEmpty(queryTerm.Query) ? "" : queryTerm.Query;

            return model;
        }
 public QuerySource GetCompanyCredentials(int ID, int page)
 {
     const int PageSize = 15;
     QuerySource model = new QuerySource();
     var query = CompanyCredentialsImgService.GetALL()
         .Where(x => x.MemberID == ID)
          .OrderByDescending(x => x.ID)
         .Skip((page - 1) * PageSize)
         .Take(PageSize)
         .ToList().Select(x => new LinkItem()
         {
             Name = x.Title,
             ID = x.ID,
             MemberID = x.MemberID,
             FocusImgUrl = x.ImgUrl
         }).ToList();
     int totalCount = CompanyNoticeService.GetALL()
         .Count(x => x.MemberID == ID);
     model.Items = query;
     model.CurrentPage = page;
     model.PageSize = PageSize;
     model.TotalCount = totalCount;
     return model;
 }
 private QuerySource GetCompanyNotices(int ID, int page)
 {
     const int PageSize = 15;
     QuerySource model = new QuerySource();
     var query = CompanyNoticeService.GetALL()
         .Where(x => x.MemberID == ID
             && x.Status >= (int)CompanyNoticeStatus.ShowOnLine)
          .OrderByDescending(x => x.AddTime)
         .Skip((page - 1) * PageSize)
         .Take(PageSize)
         .ToList().Select(x => new LinkItem()
         {
             Name = x.Title,
             Description = x.Content,
             ID = x.ID,
             MemberID = x.MemberID,
             AddTime = x.AddTime
         }).ToList();
     int totalCount = CompanyNoticeService.GetALL()
         .Count(x => x.MemberID == ID);
     model.Items = query;
     model.CurrentPage = page;
     model.PageSize = PageSize;
     model.TotalCount = totalCount;
     return model;
 }
Exemple #5
0
        private QuerySource GetResult(QueryTerm queryTerm)
        {
            const int PageSize = 15;
            var model = new QuerySource();
            var query = new List<LinkItem>();
            int totalHits;
            Dictionary<string, string> cacheDic = CreateSearchDic("ResultList", queryTerm);
            Dictionary<string, string> countDic = CreateSearchDic("ResultCount", queryTerm);
            if (string.IsNullOrWhiteSpace(queryTerm.Dq))
            {
                if (string.IsNullOrWhiteSpace(queryTerm.Query)
                    && CacheService.Exists(cacheDic)
                    && CacheService.Exists(countDic))
                {
                    query = CacheService.Get<List<LinkItem>>(cacheDic);
                    totalHits = CacheService.GetInt32Value(countDic);
                }
                else
                {
                    var searchFilter = GetSearchFilter(queryTerm.Query, queryTerm.Order, queryTerm.Descending, queryTerm.Page, PageSize);
                    query = OutDoorLuceneService.Search(queryTerm, searchFilter, out totalHits);
                    //query = OutDoorLuceneService.Search(out totalHits);

                    if (string.IsNullOrWhiteSpace(queryTerm.Query))
                    {
                        CacheService.Add<List<LinkItem>>(query, cacheDic, 10);
                        CacheService.AddInt32Value(totalHits, countDic, 10);
                    }
                }
            }
            else
            {
                var searchFilter = GetSearchFilter(queryTerm.Query, queryTerm.Order, queryTerm.Descending, queryTerm.Page, PageSize);
                query = OutDoorLuceneService.Search(queryTerm, searchFilter, out totalHits);
            }
            model.Items = query;
            model.TotalCount = totalHits;
            model.CurrentPage = queryTerm.Page;
            model.PageSize = PageSize;
            model.Querywords = string.IsNullOrEmpty(queryTerm.Query) ? "" : queryTerm.Query;
            return model;
        }