public IActionResult Book(int?id)
        {
            try
            {
                //book id missing
                if (id == null)
                {
                    return(RedirectToAction("Error", "Home"));
                }



                ViewData["productId"] = id;

                BookViewModel model = _bookLoader.LoadBookModel(id.Value);

                var cat = _catalogueService.GetCategory(model.Category.ParentId.Value);
                if (cat.isOK && !cat.isEmpty)
                {
                    model.Category.Parent = cat.data;
                }

                if (model == null)
                {
                    return(RedirectToAction("Error", "Home"));
                }


                //to be sure //Or handle it in view
                model.Reviews = model.Reviews == null ? new List <Review>() : model.Reviews;

                return(View(model));
            }
            catch (Exception e)
            {
                return(AlzaError.ExceptionActionResult(e));
            }
        }