public async Task <IActionResult> Edit(int id, [Bind("Id,UserId,BookId,Created,Qualification,Comment")] ReviewViewModel reviewViewModel)
        {
            if (id != reviewViewModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                var service = new ReviewService(HttpContext.Session.GetString("Token"));
                var item    = service.Get((int)id);
                if (item == null)
                {
                    return(NotFound());
                }

                var items = service.Edit(reviewViewModel);
                if (items == null)
                {
                    return(BadRequest());
                }

                return(RedirectToAction(nameof(Index)));
            }

            var bookService = new BookService(HttpContext.Session.GetString("Token"));
            var userService = new UserService(HttpContext.Session.GetString("Token"));

            ViewData["BookId"]        = new SelectList(bookService.Get(), "Id", "Name", reviewViewModel.BookId);
            ViewData["UserId"]        = new SelectList(userService.Get(), "Id", "Name", reviewViewModel.UserId);
            ViewData["Qualification"] = new SelectList(Common.Reviews, "Value", "Key", reviewViewModel.Qualification);
            return(View(reviewViewModel));
        }