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; }
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; }