public async Task <IActionResult> Delete(string id)
        {
            try
            {
                var cocktail = await _cocktailManager.GetCocktail(id);

                var cocktailToDelete = cocktail.ToVM();
                return(View(cocktailToDelete));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("ErrorAction", "Error", new { errorCode = "404", errorMessage = ex.Message }));
            }
        }
        // GET: BarCrower/Cocktails/Details/5
        public async Task <IActionResult> Details(string id)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError(string.Empty, "Invalid cocktail parameters!");
            }
            try
            {
                var userId   = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
                var cocktail = await _cocktailManager.GetCocktail(id);

                var cocktailViewModel = cocktail.ToVM();
                cocktailViewModel.ReviewViewModels = (await _cocktailManager.GetAllReviewsByCocktailID(id)).ToCocktailReviewVM();
                cocktailViewModel.IsRated          = await _cocktailManager.IsReviewGiven(id, userId);

                return(View(cocktailViewModel));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("ErrorAction", "Error", new { errorCode = "404", errorMessage = ex.Message }));
            }
        }