Beispiel #1
0
        public IActionResult GetFood(Guid foodId)
        {
            var result = _foodService.Get(foodId);

            if (result.Succes)
            {
                return(Ok(result.Data));
            }
            return(BadRequest(result.Message));
        }
Beispiel #2
0
        public async Task <ActionResult <Food_FoodDTO> > Get([FromBody] Food_FoodDTO Food_FoodDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            Food Food = await FoodService.Get(Food_FoodDTO.Id);

            return(new Food_FoodDTO(Food));
        }
Beispiel #3
0
        public string GetFoodByIdWithBenefits(int id)
        {
            ICollection <string> includes = new List <string>();

            includes.Add("Benefits");

            Food   food   = _service.Get(f => f.FoodId == id, includes);
            string result = JsonHelper <Food> .Serialize(food);

            return(result);
        }
Beispiel #4
0
 public IActionResult Get(int id)
 {
     try
     {
         var food = _foodService.Get(id);
         if (food == null)
         {
             return(NotFound());
         }
         return(Ok(food));
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("Get Food", ex.Message);
         return(BadRequest(ModelState));
     }
 }
Beispiel #5
0
        public IActionResult Get(int foodId)
        {
            if (foodId == null)
            {
                return(BadRequest());
            }
            try
            {
                var food = _foodService.Get(foodId, true);
                if (food == null)
                {
                    return(NotFound());
                }
                return(Ok(food));
            }

            catch (System.Exception)
            {
                return(BadRequest());
            }
        }
Beispiel #6
0
 public ActionResult Index()
 {
     return(View(_foodService.Get()));
 }
Beispiel #7
0
 public IEnumerable <IFoodable> GetAllFoods()
 {
     return(_foodOperation.Get());
 }
        public Recipe CalculateAnonymousRecipe(Recipe recipe)
        {
            var recipeNutritionFacts     = new NutritionFacts();
            var recipeNutritionFactsRows = new List <NutritionFactsNutrients>();

            foreach (var ingredient in recipe.Ingredients)
            {
                var food = _foodService.Get(ingredient.FoodId);

                if (Notificator.HasErrors())
                {
                    return(null);
                }

                if (food.NutritionFacts == null)
                {
                    continue;
                }

                ingredient.Food = food;

                if (!IsValid(new IngredientValidator(_localizer), ingredient, "MassVolumeConflict"))
                {
                    return(null);
                }

                var foodServingSize     = food.NutritionFacts.ServingSize;
                var foodServingSizeUnit = food.NutritionFacts.ServingSizeUnit;

                var quantity             = 0.0;
                var ingredientProportion = 0.0;

                switch (ingredient.QuantityUnit)
                {
                case Measures.g:
                case Measures.mg:
                case Measures.kg:
                    quantity             = UnitConverter.ConvertByAbbreviation(ingredient.Quantity, "Mass", Enum.GetName(typeof(Measures), ingredient.QuantityUnit), G);
                    foodServingSize      = UnitConverter.ConvertByAbbreviation(foodServingSize, "Mass", Enum.GetName(typeof(Measures), foodServingSizeUnit), G);
                    ingredientProportion = quantity / foodServingSize;
                    break;

                case Measures.L:
                case Measures.ml:
                    quantity             = UnitConverter.ConvertByAbbreviation(ingredient.Quantity, "Volume", Enum.GetName(typeof(Measures), ingredient.QuantityUnit), L);
                    foodServingSize      = UnitConverter.ConvertByAbbreviation(foodServingSize, "Volume", Enum.GetName(typeof(Measures), foodServingSizeUnit), L);
                    ingredientProportion = quantity / foodServingSize;
                    break;

                case Measures.un:
                    quantity             = ingredient.Quantity;
                    ingredientProportion = quantity;
                    break;

                default:
                    Notify(NotificationType.ERROR, string.Empty, "Invalid unit of measurement.");
                    return(null);
                }

                ingredientProportion /= recipe.Servings;

                recipeNutritionFacts.DailyValue    += food.NutritionFacts.DailyValue * ingredientProportion;
                recipeNutritionFacts.ServingEnergy += food.NutritionFacts.ServingEnergy * ingredientProportion;

                foreach (var nfn in food.NutritionFacts.NutritionFactsNutrients)
                {
                    var recipeNfn = recipeNutritionFactsRows.FirstOrDefault(x => x.Nutrient.Id == nfn.Nutrient.Id);

                    if (recipeNfn != null)
                    {
                        recipeNfn.AmountPerServing += nfn.AmountPerServing * ingredientProportion;
                        recipeNfn.DailyValue       += nfn.DailyValue * ingredientProportion;
                    }
                    else
                    {
                        recipeNutritionFactsRows.Add(new NutritionFactsNutrients
                        {
                            AmountPerServing     = nfn.AmountPerServing * ingredientProportion,
                            DailyValue           = nfn.DailyValue * ingredientProportion,
                            AmountPerServingUnit = nfn.AmountPerServingUnit,
                            Nutrient             = nfn.Nutrient,
                            NutrientId           = nfn.NutrientId
                        });
                    }
                }
            }

            recipe.NutritionFacts = recipeNutritionFacts;
            recipe.NutritionFacts.NutritionFactsNutrients = recipeNutritionFactsRows;

            return(recipe);
        }
Beispiel #9
0
 public IEnumerable <Food> Get()
 {
     return(_service.Get());
 }
        public async Task <IActionResult> GetById(int id)
        {
            var result = await _foodService.Get(id);

            return(Ok(result));
        }
Beispiel #11
0
 public IActionResult Index()
 {
     return(View(_service.Get().Select(food => _mapper.Map(food))));
 }