示例#1
0
        [Route("services/recipe/add")]// 3 soru
        public IActionResult Add([FromBody] RecipesDto recipe)
        {
            try
            {
                if (recipe == null)
                {
                    return(BadRequest()); // 400
                }

                var RecipeValueAdd = _uofw.Recipes.FindBy(f => f.Title.Equals(recipe.Title) || f.Desciription.Equals(recipe.Directions)).FirstOrDefault();

                var categories = _uofw.Categories.FindBy(f => recipe.Categories.Contains(f.Name));

                if (RecipeValueAdd == null)
                {
                    Recipe rec = new Recipe()
                    {
                        Title        = recipe.Title,
                        Desciription = recipe.Directions,
                    };
                    foreach (var category in categories)
                    {
                        rec.Categories.Add(new RecipeCategory()
                        {
                            Category = category
                        });
                    }

                    foreach (var item in recipe.Ingredients)
                    {
                        Ingredient ingred = new Ingredient()
                        {
                            Name = item.Name,
                        };

                        foreach (var amount in item.Amounts)
                        {
                            ingred.Amounts.Add(new Amount()
                            {
                                Quantity = amount.Quantity, Unit = amount.Unit
                            });
                        }

                        rec.Ingredients.Add(ingred);
                    }

                    _uofw.Recipes.Add(rec);
                    int resulr = _uofw.SaveChanges();
                }


                return(StatusCode(201, "Recipe created "));
            }
            catch (Exception)
            {
                return(StatusCode(500, "A problem happened while handling your request."));
            }
        }
示例#2
0
        public async Task <Recipe> AddRecipe(RecipesDto recipeDto)
        {
            Recipe NewRecipe = new Recipe();

            NewRecipe = recipeDto.Recipe;
            var result = await _unitOfWork.RecipeRepository.AddAsync(NewRecipe);

            await _unitOfWork.CommitAsync();

            return(result);
        }
示例#3
0
        public List <RecipeDto> GetAllRepice()
        {
            RecipesDto recipeDto = new RecipesDto();

            var result = _unitOfWork.RecipeRepository.Query().Include(x => x.Category).Include(x => x.Direction).Include(x => x.Ingredients).ThenInclude(x => x.Amount).ToList();


            recipeDto.Result = result.Count();
            recipeDto.Total  = result.Count();


            var query = (from recipe in result
                         select new RecipeDto()
            {
                Title = recipe.Title,
                Categories = (from category in recipe.Category
                              select new CategoryDto()
                {
                    CategoryName = category.CategoryName
                }).ToList(),
                Direction = new DirectionDto()
                {
                    Step = recipe.Direction.Step
                },
                Ingredients = (from integredient in recipe.Ingredients
                               select new IngredientDto()
                {
                    IngredientName = integredient.IngredientName,
                    Amount = new AmountDto()
                    {
                        Quantity = integredient.Amount.Quantity,
                        Unit = integredient.Amount.Unit,
                    }
                }).ToList()
            }).ToList();

            return(query);
        }
        public bool Create(RecipesDto recipe)
        {
            using (var db = new SqlConnection(ConfigurationManager.ConnectionStrings["Main"].ConnectionString))
            {
                db.Open();

                var createRecipe = db.Execute(@"INSERT INTO Recipes
                                                            (Name
                                                            ,PercentWheat
                                                            ,PercentCorn
                                                            ,BarrelAge
                                                            ,BarrelMaterial
                                                            ,Creator)
                                                        VALUES
                                                            (@Name
                                                            ,@PercentWheat
                                                            ,@PercentCorn
                                                            ,@BarrelAge
                                                            ,@BarrelMaterial
                                                            ,@Creator)", recipe);

                return(createRecipe == 1);
            }
        }
示例#5
0
 public async void UpdateRecipe(RecipesDto Recipe)
 {
     await _httpClient.PutAsJsonAsync("api/Recipes", Recipe);
 }
示例#6
0
 public async void AddRecipe(RecipesDto Recipe)
 {
     await _httpClient.PostAsJsonAsync("api/Recipes", Recipe);
 }
示例#7
0
        public async Task <IActionResult> SaveAsync([FromBody] RecipesDto recipeDto)
        {
            var result = await _recipeService.AddRecipe(recipeDto);

            return(Created("", result));
        }