public async Task <ActionResult <IngredientDto> > AddUsersRecipeAsync(int userId, UsersRecipeForCreation usersRecipeForCreation) { var user = await _users.GetAsync(userId); if (user == null) { return(NotFound()); } var recipe = await _recipes.GetAsync(usersRecipeForCreation.RecipeId); if (recipe == null) { return(NotFound()); } var usersRecipeToAdd = _mapper.Map <UsersRecipe>(usersRecipeForCreation); usersRecipeToAdd.UserId = userId; await _usersRecipes.AddAsync(usersRecipeToAdd); await _usersRecipes.SaveAsync(); return(CreatedAtRoute( "GetUsersRecipe", new { usersRecipeToAdd.UserId, usersRecipeToAdd.RecipeId }, recipe)); }
public async Task <ActionResult <RecipeDetailedDto> > GetRecipeAsync(int recipeId) { var recipeFromRepo = await _recipes.GetAsync(recipeId); if (recipeFromRepo == null) { return(NotFound()); } var recipeDto = _mapper.Map <RecipeDetailedDto>(recipeFromRepo); return(Ok(recipeDto)); }
public async Task <ActionResult <ScheduledRecipeDto> > AddScheduledRecipeAsync(int userId, int recipeId, ScheduledRecipeForCreation scheduledRecipeForCreation) { var user = await _users.GetAsync(userId); if (user == null) { return(NotFound()); } var recipe = await _recipes.GetAsync(recipeId); if (recipe == null) { return(NotFound()); } var scheduledRecipeToAdd = _mapper.Map <ScheduledRecipe>(scheduledRecipeForCreation); scheduledRecipeToAdd.UserId = userId; scheduledRecipeToAdd.RecipeId = recipeId; await _usersRecipesScheduled.AddAsync(scheduledRecipeToAdd); await _usersRecipesScheduled.SaveAsync(); var scheduledRecipeDto = _mapper.Map <ScheduledRecipeDto>(scheduledRecipeToAdd); return(CreatedAtRoute( "GetUsersRecipeSchedule",//needs to be new endpoint new { scheduledRecipeToAdd.UserId, scheduledRecipeToAdd.RecipeId }, scheduledRecipeDto)); }