示例#1
0
        public async Task <IActionResult> PostUnlike(string artId, string redirect)
        {
            if (!_signInManager.IsSignedIn(User))
            {
                return(StatusCode(403));
            }

            NeobooruUser usr = await _userManager.GetUserAsync(User);

            ArtLike like = await _db.ArtLikes.FirstAsync(a => a.User.Id.Equals(usr.Id) &&
                                                         a.LikedArt.Id.ToString().Equals(artId));

            _db.ArtLikes.Remove(like);
            await _db.SaveChangesAsync();

            if (redirect == null || redirect.Equals(""))
            {
                return(StatusCode(200));
            }
            return(Redirect(redirect));
        }
示例#2
0
        public async Task <IActionResult> PostLike(string artId)
        {
            if (!_signInManager.IsSignedIn(User))
            {
                return(StatusCode(403));
            }

            NeobooruUser usr = await _userManager.GetUserAsync(User);

            Art targetArt = await _db.Arts.FirstAsync(a => a.Id.ToString().Equals(artId));

            ArtLike like = new ArtLike()
            {
                Id        = Guid.NewGuid(),
                LikedArt  = targetArt,
                User      = usr,
                LikedDate = DateTime.Now
            };
            await _db.ArtLikes.AddAsync(like);

            await _db.SaveChangesAsync();

            return(StatusCode(200));
        }