/// <summary> /// 用户点击收藏操作 /// </summary> /// <returns></returns> public static Result <int> AddFavorite(MemberFavoriteModel ent) { var result = new Result <int>(); if (ent.UserId <= 0 || ent.NewsId <= 0) { result.Message = "无效的参数"; return(result); } var newsInfo = NewsRepository.Get(ent.NewsId); if (newsInfo == null || newsInfo.Id <= 0) { result.Message = "无效的数据"; return(result); } var favoriteCount = FavoriteRepository.Count(ent.UserId); if (favoriteCount >= 20) { result.Message = "最多只能收藏20条新闻"; return(result); } var newsCount = FavoriteRepository.Count(ent.UserId, ent.NewsId); if (newsCount >= 1) { result.Message = "请勿重复收藏"; return(result); } result.Code = ResultCode.Success; result.Data = FavoriteRepository.Add(ent); return(result); }
public ActionResult Favorite(int?gifId) { if (gifId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var gif = _gifRepository.Get(gifId); var user = _userRepository.GetUser(User.Identity.Name); var existingFavorite = _favoriteRepository.CheckIfExists(user.Id, gif.Id); if (existingFavorite == null) { var newFavorite = new Favorite() { User = user, Gif = gif }; _favoriteRepository.Add(newFavorite); } else { _favoriteRepository.Delete(existingFavorite.Id); } return(RedirectToAction("Index")); }