public void ShouldInitialize_MineralsCollectionCorrectly()
        {
            var nutritionFacts = new NutritionFacts();

            var minerals = nutritionFacts.Minerals;

            Assert.That(minerals, Is.Not.Null.And.InstanceOf <HashSet <Mineral> >());
        }
        public void ShouldInitialize_VitaminsCollectionCorrectly()
        {
            var nutritionFacts = new NutritionFacts();

            var vitamins = nutritionFacts.Vitamins;

            Assert.That(vitamins, Is.Not.Null.And.InstanceOf <HashSet <Vitamin> >());
        }
Esempio n. 3
0
 public BuilderExample()
 {
     CocaCola = new NutritionFacts
                .Builder(240, 8) // 필수값 입력
                .Calories(100)
                .Fat(1)
                .Sodium(35)
                .Carbohydrate(27)
                .Build();    // build() 가 객체를 생성해 돌려준다.
 }
Esempio n. 4
0
 public SingleRecipeData(RecipeItems recipe)
 {
     if (recipe != null)
     {
         RecipeTitle     = recipe.RecipeName;
         Items           = new ObservableCollection <IngredientItem>(recipe.IngredientsList);
         NutritionValues = new NutritionFacts(recipe.NutritionValues);
         TotalCalories   = NutritionValues.TotalCalories;
         RatingStars     = recipe.RecipeRating;
         RecipeImage     = recipe.RecipeImage;
         Instructions    = recipe.Instructions;
     }
 }
Esempio n. 5
0
        public void AddOrChangeDeclaration(Nutrient nutrient, int value)
        {
            var fact = NutritionFacts.FirstOrDefault(f => f.Nutrient == nutrient);

            if (fact == null)
            {
                fact = NutritionFact.Create(nutrient, value);
                NutritionFacts.Add(fact);
            }
            else
            {
                foreach (var f in NutritionFacts.Where(i => i.Nutrient == nutrient))
                {
                    f.ChangeValue(value);
                }
            }
        }
        public IActionResult CreateContentOfProduct(ContentDTO contentDTO)
        {
            var apiJsonResponse = new ApiJsonResponse();

            try
            {
                using (FoodInfoServiceContext context = new FoodInfoServiceContext())
                {
                    if (contentDTO != null)
                    {
                        if (contentDTO.Product.BarcodeId != null)
                        {
                            if (contentDTO.CreatedUserId != null)
                            {
                                using (var transaction = context.Database.BeginTransaction())
                                {
                                    if (context.Products.Any(x => x.BarcodeId == contentDTO.Product.BarcodeId && x.IsDeleted == false))
                                    {
                                        contentDTO.Product.ID = context.Products.FirstOrDefault(x => x.BarcodeId == contentDTO.Product.BarcodeId && x.IsDeleted == false).ID;
                                    }

                                    else
                                    {
                                        return(apiJsonResponse.ApiBadRequestWithMessage(PublicConstants.BarcodIdRequired));
                                    }
                                    if (context.Languages.Any(x => x.LanguageCode == contentDTO.Language.LanguageCode && x.IsDeleted == false))
                                    {
                                        contentDTO.Language.ID = context.Languages.FirstOrDefault(x => x.LanguageCode == contentDTO.Language.LanguageCode && x.IsDeleted == false).ID;
                                    }
                                    else

                                    {
                                        return(apiJsonResponse.ApiBadRequestWithMessage(PublicConstants.ProvideLanguageCode));
                                    }
                                    if (context.ProductContents.Any(x => x.Product.ID == contentDTO.Product.ID && x.IsDeleted == false && x.Language.ID == contentDTO.Language.ID))
                                    {
                                        return(apiJsonResponse.ApiBadRequestWithMessage(PublicConstants.ExistingContentForProduct));
                                    }
                                    // contentDTO.NutritionFact.ID = context.NutritionFacts.FirstOrDefault(x => x.ID == contentDTO.NutritionFact.ID && x.IsDeleted == false).ID;

                                    var nutritionFacts = new NutritionFacts();

                                    nutritionFacts               = Mapper.Map <NutritionFacts>(contentDTO.NutritionFact);
                                    nutritionFacts.BarcodeId     = contentDTO.Product.BarcodeId;
                                    nutritionFacts.CreatedUserId = contentDTO.CreatedUserId;
                                    nutritionFacts.LanguageCode  = contentDTO.Language.LanguageCode;

                                    context.Add(nutritionFacts);
                                    context.SaveChanges();
                                    contentDTO.NutritionFact.ID = context.NutritionFacts.Where(x => x.BarcodeId == contentDTO.Product.BarcodeId && x.LanguageCode == contentDTO.Language.LanguageCode && x.IsDeleted == false).FirstOrDefault().ID;

                                    var content = context.ProductContents.Add(Mapper.Map <ProductContent>(contentDTO));

                                    context.SaveChanges();



                                    transaction.Commit();
                                    return(apiJsonResponse.ApiOkContentResult(Mapper.Map <ProductContent>(contentDTO)));
                                }
                            }
                            else
                            {
                                return(apiJsonResponse.ApiBadRequestWithMessage(PublicConstants.ProvideACreatedUserId));
                            }
                        }
                        else
                        {
                            return(apiJsonResponse.ApiBadRequestWithMessage(PublicConstants.BarcodIdRequired));
                        }
                    }
                    else
                    {
                        return(apiJsonResponse.ApiBadRequestWithMessage(PublicConstants.SysErrorMessage));
                    }
                }
            }
            catch (Exception ex)
            {
                { return(apiJsonResponse.ApiBadRequestWithMessage(PublicConstants.SysErrorMessage)); }
            }
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
 public BuilderExample()
 {
     NutritionFacts cocaCola = new NutritionFacts(240, 8, 100, 1, 35, 27);
 }
        public void ShouldInitialize_ImplementingIDbModel()
        {
            var nutritionFacts = new NutritionFacts();

            Assert.That(nutritionFacts, Is.Not.Null.And.InstanceOf <IDbModel>());
        }