public ActionResult MyList(string category, int page = 1, int PageSize = 6) { //根据页码以及分类来确定具体要显示的物品列表 var Treasures = repository.Treasures //筛选-1.类型为空或者当前类 2.是当前登录用户的物品 3.图片为空不显示 .Where(t => (category == null || t.TreasureType == category) && t.HolderID == CurrentUser.Id) .OrderBy(t => t.TreasureName) .Skip((page - 1) * PageSize) .Take(PageSize); //新建一个List List <TreasureAndHolderInfo> treasureAndHolders = new List <TreasureAndHolderInfo>(); //遍历物品集合,填充数据 foreach (var trea in Treasures) { AppUser holder = UserManager.FindById(trea.HolderID); treasureAndHolders.Add(new TreasureAndHolderInfo { Treasure = trea, Holder = holder }); } //生成一个具体的列表视图模型 TreasureListViewModel model = new TreasureListViewModel { TreasureAndHolderInfos = treasureAndHolders, //分页信息 PagingInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, //总页数,无选择分类这全部,否则按当前的分类 TotalItem = category == null ? repository.Treasures.Count() : repository.Treasures.Where(e => e.TreasureType == category).Count() }, //当前分类 CurrentCate = category, //当前用户信息 CurrentUserInfo = CurrentUser }; return(View(model)); }
public ViewResult List(string category, int page = 1, int PageSize = 12) { //获取当前用户ID string id = CurrentUser.Id; //1.首先获取当前条件下的所有物品集合 var Treasures = repository.Treasures //筛选-1.当前类或者类型为空的 2.不能选择图片为空的(图片为空当作未完成项) 3.有正在交易的订单 .Where(t => (category == null || t.TreasureType == category) && (t.Cover != null && t.DetailPic != null) && (t.DLogUID == null)) .OrderBy(t => t.TreasureName) .Skip((page - 1) * PageSize) .Take(PageSize); //新建一个List List <TreasureAndHolderInfo> treasureAndHolders = new List <TreasureAndHolderInfo>(); //遍历物品集合,填充数据 foreach (var trea in Treasures) { AppUser holder = UserManager.FindById(trea.HolderID); bool IsFavorite = false; //检查是否已收藏 using (var db = new FavoriteDataContext()) { var fav = db.Favorite.Where(f => (f.UserID == id && f.TreasureID == trea.TreasureUID.ToString())).FirstOrDefault(); //不等于空,既有收藏记录 if (fav != null) { IsFavorite = true; } } //添加模型 treasureAndHolders.Add(new TreasureAndHolderInfo { Treasure = trea, Holder = holder, IsFavorite = IsFavorite }); } //生成一个具体的列表视图模型 TreasureListViewModel model = new TreasureListViewModel { //物品用户信息 TreasureAndHolderInfos = treasureAndHolders, //分页信息 PagingInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, //总页数,无选择分类这全部,否则按当前的分类 TotalItem = category == null ? repository.Treasures.Count() : repository.Treasures.Where(e => e.TreasureType == category).Count() }, //当前分类 CurrentCate = category, //当前用户信息 CurrentUserInfo = CurrentUser, AllCnt = repository.Treasures.Count() }; return(View(model)); }