private void BindFilterCookie(BaseSearchFilterModel filter) { if (filter.Region == Regions.All) { HttpCookie cookie = Request.Cookies.Get("Rk_Region"); if (cookie != null) { filter.Region = (Regions)Enum.Parse(typeof(Regions), cookie.Value); } } if (filter.SectionId == 0) { HttpCookie cookie = Request.Cookies.Get("Rk_SectionId"); if (cookie != null) { filter.SectionId = int.Parse(cookie.Value); } } if (string.IsNullOrEmpty(filter.SearchStr)) { HttpCookie cookie = Request.Cookies.Get("Rk_SearchStr"); if (cookie != null) { filter.SearchStr = HttpUtility.UrlDecode(cookie.Value); } } }
private IList <AnnouncementView> GetFilteredItems(BaseSearchFilterModel filter) { IQueryable <Announcement> query = announcementRepository.ReadActivesQuery(); if (filter.Region != Regions.All) { query = query.Where(a => a.City != null && a.City.Id == (int)filter.Region); } if (filter.SectionId != 0) { query = query.Where(a => a.Section != null && a.Section.Id == filter.SectionId); } if (!string.IsNullOrWhiteSpace(filter.SearchStr)) { query = query.AsExpandable().Where(GetLikeExpression(filter.SearchStr)); } query = query.OrderByDescending(a => a.UpTime); if (filter is PostSearchFilterModel) { var postFilter = filter as PostSearchFilterModel; if (!postFilter.IsNewSearch && postFilter.SkipCount.HasValue) { query = query.Skip(postFilter.SkipCount.Value); } } query = query.Take(ItemsPerPage); List <AnnouncementView> list = query.Select(a => new AnnouncementView { Id = a.Id, Currency = a.Currency, Description = a.Description, Images = a.Images.Select(img => new ImageViewModel { Link = img.Link, IsTitular = img.IsTitular, CreatedAt = img.CreatedAt }).ToList(), PhoneNumber = a.Phone, Price = a.Price, PublishDate = a.CreatedAt.ToString(), ViewsCount = a.ViewsCount }) .ToList(); list.ForEach(a => a.PublishDate = DateTime.Parse(a.PublishDate).ToString("s")); return(list); }
private void SetFiltersCookie(BaseSearchFilterModel filter) { Response.Cookies.Set(new HttpCookie("Rk_Region", filter.Region.ToString()) { Expires = DateTime.Now.AddYears(1) }); Response.Cookies.Set(new HttpCookie("Rk_SectionId", filter.SectionId.ToString()) { Expires = DateTime.Now.AddYears(1) }); Response.Cookies.Set(new HttpCookie("Rk_SearchStr", HttpUtility.UrlEncode(filter.SearchStr)) { Expires = DateTime.Now.AddYears(1) }); }