public async Task <IActionResult> UpdateVideoItem(long id, VideoItemDTO videoItemDTO)
        {
            if (id != videoItemDTO.Id)
            {
                return(BadRequest());
            }

            var videoItem = await _context.VideoItems.FindAsync(id);

            if (videoItem == null)
            {
                return(NotFound());
            }

            videoItem.Name       = videoItemDTO.Name;
            videoItem.IsComplete = videoItemDTO.IsComplete;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException) when(!VideoItemExists(id))
            {
                return(NotFound());
            }

            return(NoContent());
        }
        public async Task <ActionResult <VideoItem> > CreateVideoItem(VideoItemDTO videoItemDTO)
        {
            var videoItem = new VideoItem
            {
                IsComplete = videoItemDTO.IsComplete,
                Name       = videoItemDTO.Name
            };

            _context.VideoItems.Add(videoItem);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(
                       nameof(GetVideoItem),
                       new { id = videoItem.Id },
                       ItemToDTO(videoItem)));
        }