Example #1
0
        public async Task <ActionResult <string> > Create(RecipeIdModel idModel)
        {
            var claimsIdentity = (ClaimsIdentity)User.Identity;

            if (claimsIdentity.FindFirst(ClaimTypes.NameIdentifier) == null)
            {
                throw new System.Exception("User not logged in");
            }

            var currentUserId = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier).Value;

            FavoriteRecipe favoriteRecipe = _unitOfWork.FavoriteRecipe.GetFavoriteRecipeRelatedToUser(currentUserId, idModel.Id);

            if (favoriteRecipe != null)
            {
                _unitOfWork.FavoriteRecipe.Remove(favoriteRecipe.Id);
                _unitOfWork.Save();

                return("Favorite recipe removed!");
            }
            else
            {
                favoriteRecipe = new FavoriteRecipe();

                favoriteRecipe.ApplicationUserId = currentUserId;
                favoriteRecipe.RecipeId          = idModel.Id;

                _unitOfWork.FavoriteRecipe.Add(favoriteRecipe);
                _unitOfWork.Save();

                return("Favorite recipe added!");
            }
        }
Example #2
0
 public IActionResult CancelLikeRecipe(RecipeIdModel likeRecipeModel)
 {
     this._recipeService.CancelLikeRecipe(likeRecipeModel.RecipeId);
     return(Ok());
 }
Example #3
0
        public ActionResult <RecipeModel> AddRecipe(RecipeIdModel model)
        {
            var recipe = this._userMenuService.AddRecipeToMenu(model.RecipeId);

            return(Ok(recipe));
        }