示例#1
0
        public async Task <IActionResult> PutLikevideo([FromRoute] int id, [FromBody] Likevideo likevideo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != likevideo.Usid)
            {
                return(BadRequest());
            }

            _context.Entry(likevideo).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LikevideoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
示例#2
0
        public async Task <IActionResult> PostLikevideo([FromBody] Likevideo likevideo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Likevideo.Add(likevideo);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (LikevideoExists(likevideo.Usid))
                {
                    return(new StatusCodeResult(StatusCodes.Status409Conflict));
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetLikevideo", new { id = likevideo.Usid }, likevideo));
        }
示例#3
0
        public async Task <IActionResult> addLikeV(Likevideo lv)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { status = "invalid", data = ModelState }));
            }

            var auth = await HttpContext.AuthenticateAsync();

            if (!auth.Succeeded)
            {
                return(NotFound(new { status = "not login" }));
            }

            var claim = User.FindFirstValue("User");

            if (!Int32.TryParse(claim, out var loginUsid))
            {
                return(BadRequest(new { status = "validation failed" }));
            }

            var user = await _context.Users.FindAsync(loginUsid);

            var Likevideos = _context.Likevideo.Where(x => x.Usid == user.Usid && x.Vid == lv.Vid);

            if (Likevideos.Count() != 0)
            {
                return(BadRequest(new { status = "已点赞", data = ModelState }));
            }

            var likevideo1 = new Likevideo();

            likevideo1.Usid = user.Usid;
            likevideo1.Vid  = lv.Vid;
            try
            {
                _context.Likevideo.Add(likevideo1);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException e)
            {
                return(NotFound(new { status = "Create failed.", data = e.ToString() }));
            }

            return(Ok(new { status = "ok", data = new { usid = likevideo1.Usid, vid = likevideo1.Vid } }));
        }
示例#4
0
        public async Task <IActionResult> UnlikeV(Likevideo lv)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { status = "invalid", data = ModelState }));
            }

            var auth = await HttpContext.AuthenticateAsync();

            if (!auth.Succeeded)
            {
                return(NotFound(new { status = "not login" }));
            }

            var claim = User.FindFirstValue("User");

            if (!Int32.TryParse(claim, out var loginUsid))
            {
                return(BadRequest(new { status = "validation failed" }));
            }

            var user = await _context.Users.FindAsync(loginUsid);

            var Likevideos = await _context.Likevideo.FirstOrDefaultAsync(x => x.Usid == user.Usid && x.Vid == lv.Vid);

            if (Likevideos == null)
            {
                return(BadRequest(new { status = "未点赞" }));
            }

            try
            {
                _context.Likevideo.Remove(Likevideos);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException e)
            {
                return(NotFound(new { status = "Remove failed.", data = e.ToString() }));
            }

            return(Ok(new { status = "ok" }));
        }