예제 #1
0
        public JsonResult SearchJsonResult(string location, int currentPageIndex, string sortField,
            bool sortDirectionDesc)
        {
            try
            {
                var srch = new BasicSearch();

                srch.location = location;

                var info = new SortingPagingInfo();

                info.SortField = sortField;
                info.SortDirectionDesc = sortDirectionDesc;
                info.PageSize = 9;

                info.CurrentPageIndex = currentPageIndex;

                var y = lr.SearchListings(srch, info);

                //string json = new JavaScriptSerializer().Serialize(x);
                //JsonResult json = Json( from obj in y.listings select new { Id = obj.Id, Address = obj.Address, Price = obj.Price, PriceType = obj.PriceType, City = obj.City, CurrentPage = obj.SortInfo.CurrentPageIndex, PageCount = obj.SortInfo.PageCount, ImageGallery = from objimg in obj.ListingImageGalleries select new { ImagePath = objimg.ImagePath }}, JsonRequestBehavior.AllowGet);

                var json = Json(new
                {
                    NoRecs = y.NoResults,
                    y.PageCount,
                    Listings = from obj in y.listings
                        select
                            new
                            {
                                obj.Id,
                                //obj.Address,
                                //obj.Title,
                                //obj.Telephone,
                                //obj.Email,
                                //obj.Description,
                                //obj.DateListed,
                                //ImageGallery = from objimg in obj.ListingImageGalleries select new {objimg.ImagePath}
                            }
                }, JsonRequestBehavior.AllowGet);

                return json;
            }
            catch
            {
                return Json("", JsonRequestBehavior.AllowGet);
            }
        }
예제 #2
0
        public void SearchListings_should_only_display_distinct()
        {
            var service = new EF_ListingRepository(db);
            var srch = new BasicSearch();

            srch.location = "59.31749017230652,18.009874877929633";
            var info = new SortingPagingInfo();

            info.SortField = SiteConstants.SortFields.DateListed;
            info.SortDirectionDesc = true;
            info.PageSize = 9;

            info.CurrentPageIndex = 0;

            var listings = service.SearchListings(srch, info);

            Assert.IsNotNull(listings, "No listings returned");
            //Assert.AreEqual(3, listings.listings.Count(), "Incorrect No listings returned");
            Assert.AreNotEqual(listings.listings.ToList()[1], listings.listings.ToList()[2], "Duplicate Listing");
            Assert.AreNotEqual(listings.listings.ToList()[1].Id, listings.listings.ToList()[2].Id, "Incorrect listing returned");
        }