Пример #1
0
        /// <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);
        }
Пример #2
0
        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"));
        }