public IActionResult Put([FromBody] NotebookPageViewModel notebookPageViewModel)
        {
            var currentUser = User.Claims.Single(c => c.Type == ClaimTypes.Email).Value;

            if (!_notebookService.CanUserEdit(notebookPageViewModel.NotebookId, currentUser))
            {
                return(Forbid());
            }

            if (ModelState.IsValid)
            {
                var notebookPage = _context.NotebookPage.SingleOrDefault(np => np.NotebookId == notebookPageViewModel.NotebookId && np.PageNumber == notebookPageViewModel.PageNumber);

                if (notebookPage == null)
                {
                    return(NotFound());
                }
                else
                {
                    notebookPage.Title   = notebookPageViewModel.Title;
                    notebookPage.Content = notebookPageViewModel.Content;

                    _context.SaveChanges();

                    return(Ok(notebookPage));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
        public IActionResult Post([FromBody] NotebookPageViewModel notebookPageViewModel)
        {
            var currentUser = User.Claims.Single(c => c.Type == ClaimTypes.Email).Value;

            if (!_notebookService.CanUserEdit(notebookPageViewModel.NotebookId, currentUser))
            {
                return(Forbid());
            }

            if (ModelState.IsValid)
            {
                int newPageNumber = 1;
                if (_context.NotebookPage.Any())
                {
                    newPageNumber = _context.NotebookPage.Max(np => np.PageNumber) + 1;
                }

                _context.NotebookPage.Add(new NotebookPage
                {
                    NotebookId = notebookPageViewModel.NotebookId,
                    PageNumber = newPageNumber,
                    Title      = notebookPageViewModel.Title,
                    Content    = notebookPageViewModel.Content
                });

                _context.SaveChanges();

                var notebookPage = _context.NotebookPage.Single(np => np.NotebookId == notebookPageViewModel.NotebookId && np.PageNumber == newPageNumber);

                return(Ok(notebookPage));
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }