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)); } }