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> >()); }
public BuilderExample() { CocaCola = new NutritionFacts .Builder(240, 8) // 필수값 입력 .Calories(100) .Fat(1) .Sodium(35) .Carbohydrate(27) .Build(); // build() 가 객체를 생성해 돌려준다. }
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; } }
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)); } } }
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); }
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>()); }