public async Task <IActionResult> PostLikevideocomment([FromBody] Likevideocomment likevideocomment)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Likevideocomment.Add(likevideocomment);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (LikevideocommentExists(likevideocomment.Usid))
                {
                    return(new StatusCodeResult(StatusCodes.Status409Conflict));
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetLikevideocomment", new { id = likevideocomment.Usid }, likevideocomment));
        }
        public async Task <IActionResult> PutLikevideocomment([FromRoute] int id, [FromBody] Likevideocomment likevideocomment)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

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

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

            return(NoContent());
        }
        public async Task <IActionResult> addLikeVc(Likevideocomment Lbc)
        {
            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 Likevideocomments = _context.Likevideocomment.Where(x => x.Usid == user.Usid && x.Vcid == Lbc.Vcid);

            if (Likevideocomments.Count() != 0)
            {
                return(BadRequest(new { status = "Already liked!" }));
            }

            var likevideocomment0 = new Likevideocomment();

            likevideocomment0.Usid = user.Usid;
            likevideocomment0.Vcid = Lbc.Vcid;
            try
            {
                _context.Likevideocomment.Add(likevideocomment0);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException e)
            {
                return(NotFound(new { status = "Create failed.", data = e.ToString() }));
            }
            return(Ok(new { status = "ok", data = new { usid = likevideocomment0.Usid, vcid = likevideocomment0.Vcid } }));
        }
        public async Task <IActionResult> UnikeVc(Likevideocomment Lbc)
        {
            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 Likevideocomments = await _context.Likevideocomment.FirstOrDefaultAsync(x => x.Usid == user.Usid && x.Vcid == Lbc.Vcid);

            if (Likevideocomments == null)
            {
                return(BadRequest(new { status = "Not already liked!" }));
            }

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