/// <summary> /// 福利美图管理 /// </summary> /// <param name="param"></param> /// <returns></returns> public IQueryable <GirlsViewModel> LoadGirlSInfo(GirlsParam param) { var allGirls = dbSession.BeautifulGirlsDal.LoadEntities(b => true).Select(b => new { b.Views, b.Id, b.Imgs, b.InTime, b.Title, b.AddedBy, b.Rec, b.Rec_Time }); var allMsg = dbSession.LeaveMsgDal.LoadEntities(m => m.Id > 0).Select(m => new { m.GirlId }); var data = (from g in allGirls join m in allMsg on g.Id equals m.GirlId into gmi from gm in gmi.DefaultIfEmpty() let Count = (from mm in allMsg where mm.GirlId == g.Id select mm.GirlId).Count() select(new GirlsViewModel() { Id = g.Id, Image = g.Imgs, Views = g.Views, InTime = g.InTime, Title = g.Title, AddedBy = g.AddedBy, LeaveMsgCount = Count, Rec = g.Rec, Rec_Time = g.Rec_Time })).Distinct(); if (!string.IsNullOrEmpty(param.Title)) { data = data.Where(d => d.Title.Contains(param.Title)); } if (!string.IsNullOrEmpty(param.AddedBy)) { data = data.Where(d => d.AddedBy.Contains(param.AddedBy)); } GirlsViewModel viewModel = null; List <GirlsViewModel> list = new List <GirlsViewModel>(); foreach (var item in data) { viewModel = new GirlsViewModel(); viewModel.Image = item.Image.Split(',')[0]; viewModel.Id = item.Id; viewModel.Views = item.Views; viewModel.InTime = item.InTime; viewModel.Title = item.Title; viewModel.AddedBy = item.AddedBy; viewModel.ImageCount = item.Image.Split(',').Count(); viewModel.LeaveMsgCount = item.LeaveMsgCount; viewModel.Rec = item.Rec; viewModel.Rec_Time = item.Rec_Time; list.Add(viewModel); } param.Total = data.Count(); return(list.OrderByDescending(d => d.InTime).Skip(param.PageSize * (param.PageIndex - 1)).Take(param.PageSize).AsQueryable()); }
public ActionResult GirlDetails(int id) { var data = BeautifulGirlsBll.GetGirlDetails(id).Select(t => new GirlsViewModel() { Id = t.Id, Title = t.Title, Tags = t.Tags, LeaveMsgCount = t.LeaveMsgCount, LeadTxt = t.LeadTxt, Image = t.Image, InTime = t.InTime, Views = t.Views, }).FirstOrDefault(); ViewData.Model = data as GirlsViewModel; string[] arryImg = data.Image.Split(','); List <GirlsViewModel> list = new List <GirlsViewModel>(); GirlsViewModel model = null; for (int n = 0; n < arryImg.Length; n++) { model = new GirlsViewModel(); model.Image = arryImg[n]; list.Add(model); } ViewBag.arryImg = list; //根据标签推荐 ViewBag.InTags = BeautifulGirlsBll.LoadEntities(g => g.Tags.Contains(data.Tags)).Select(g => new GirlsViewModel { Id = g.Id, Tags = g.Tags, Title = g.Title, InTime = g.InTime }).AsNoTracking().OrderByDescending(g => g.InTime).Take(6).ToList();; #region 一篇、下一篇 //-上一篇、下一篇 //用pre和next变量分别存放上一篇文章和下一篇文章的id号 int pre = 0, next = 0, i = 0, j; //计算总记录数 int num = BeautifulGirlsBll.LoadEntities(n => true).Count(); int[] a = new int[num]; var query = BeautifulGirlsBll.LoadEntities(n => true).Select(n => n.Id).ToArray(); //将所有的文章id号全部放入一个数组中 foreach (var item in query) { a[i] = Convert.ToInt32(item); i++; } //循环,获取上一篇和下一篇文章的ID号,分别放入变量pre和next中 for (j = 0; j < num; j++) { if (a[j] == id) { if (j != 0) { pre = a[j - 1]; //上一篇id } if (j != num - 1) { next = a[j + 1]; //下一篇文章id } } } //获取上一篇文章的标题 if (pre == 0) { ViewBag.preTags = "没有了"; ViewBag.pre = id; } else { ViewBag.preTags = BeautifulGirlsBll.LoadEntities(n => n.Id == pre).Single().Tags; ViewBag.pre = pre; } //获取下一篇文章的标题 if (next == 0) { ViewBag.nextTags = "没有了"; ViewBag.next = id; } else { ViewBag.nextTags = BeautifulGirlsBll.LoadEntities(n => n.Id == next).Single().Tags; ViewBag.next = next; } #endregion return(View()); }