Example #1
0
        public JsonResult IndexData()
        {
            string json = "";

            using (StreamReader sr = new StreamReader(Request.InputStream))
            {
                json = HttpUtility.UrlDecode(sr.ReadLine());
            }
            JObject paramJson = JsonConvert.DeserializeObject(json) as JObject;
            string  City      = LCookie.GetCity();

            using (EFDB db = new EFDB())
            {
                var b = db.ShopProject.GroupJoin(db.Shop,
                                                 l => l.ShopGid,
                                                 j => j.Gid,
                                                 (l, j) => new
                {
                    l.AddTime,
                    l.Project,
                    l.ShopGid,
                    j.FirstOrDefault().Picture,
                    j.FirstOrDefault().Name,
                    j.FirstOrDefault().Sort,
                    j.FirstOrDefault().Show,
                    j.FirstOrDefault().State,
                    j.FirstOrDefault().City
                }).Where(l => l.Show == 1 && l.State == 2).DistinctBy(l => new { l.ShopGid }).AsQueryable();
                if (City != "全国")
                {
                    b = b.Where(l => l.City == City);
                }
                if (paramJson["Project"].ToString() != "00")
                {
                    int Project = int.Parse(paramJson["Project"].ToString());
                    b = b.Where(l => l.Project == Project);
                }
                int pageindex = Int32.Parse(paramJson["pageindex"].ToString());
                int pagesize  = Int32.Parse(paramJson["pagesize"].ToString());
                return(Json(new AjaxResult(new
                {
                    other = "",
                    count = b.Count(),
                    pageindex,
                    list = b.OrderBy(l => l.Sort).ThenByDescending(l => l.AddTime).Skip(pagesize * (pageindex - 1)).Take(pagesize).ToList()
                })));
            }
        }