public async Task <IActionResult> Details([Bind("Value,CakeId")] CakeDetailRatingViewModel model)
        {
            var existRating = await _ratingRepository.GetUserRatingByCakeAsync(model.CakeId);

            if (existRating != null)
            {
                existRating.Value = model.Value;
                existRating.Cake  = await model.LoadCake(_cakeRepository);

                _ratingRepository.UpdateRating(existRating);
            }
            else
            {
                Rating rating = new Rating();
                rating.CakeId = model.CakeId;
                rating.Value  = model.Value;
                rating.UserId = User.FindFirstValue(ClaimTypes.NameIdentifier);
                await _ratingRepository.AddRatingAsync(rating);
            }
            model.cake = await model.LoadCake(_cakeRepository);

            return(View(model));
        }