Exemple #1
0
        // todo
        private static List <RecipeIngredientMeasurement> RecipeDtoToRecipeIngredientMeasurements(RecipeDto recipeDto)
        {
            var recipeIngredientMeasurements = new List <RecipeIngredientMeasurement>();

            foreach (var ingredientDto in recipeDto.Ingredients)
            {
                foreach (var measurementDto in ingredientDto.Measurements)
                {
                    var recipeIngredientMeasurement = new RecipeIngredientMeasurement()
                    {
                        Ingredient = new Ingredient()
                        {
                            Id   = ingredientDto.Id,
                            Name = ingredientDto.Name
                        },
                        Measurement = new Measurement()
                        {
                            Id     = measurementDto.Id,
                            Name   = measurementDto.Name,
                            Symbol = measurementDto.Symbol
                        },

                        Quantity = measurementDto.Quantity
                    };

                    recipeIngredientMeasurements.Add(recipeIngredientMeasurement);
                }
            }

            return(recipeIngredientMeasurements);
        }
Exemple #2
0
        public static RecipeIngredientMeasurement GetIngredient(RecipesContext db, string ingredient, Measurement measurement, double qty)
        {
            if (string.IsNullOrEmpty(ingredient))
            {
                throw new NotImplementedException();
            }
            if (ingredient.Length > 255)
            {
                ingredient = ingredient.Substring(0, 255);
            }

            Ingredient ing = db.Ingredients.FirstOrDefault(i => i.IngredientName == ingredient);

            if (ing == null)
            {
                ing = new Ingredient();
                ing.IngredientName = ingredient;
                db.Ingredients.Add(ing);
                db.SaveChanges();
            }

            int?measurementID = (measurement == null ? (int?)null : measurement.MeasurementID);

            var im = db.IngredientMeasurements.FirstOrDefault(x => x.IngredientID == ing.IngredientID &&
                                                              x.MeasurementID == measurementID);

            if (im == null)
            {
                im = new IngredientMeasurement();
                im.IngredientID = ing.IngredientID;
                if (measurement != null)
                {
                    im.MeasurementID = measurement.MeasurementID;
                }
                db.IngredientMeasurements.Add(im);
                db.SaveChanges();
            }


            var recIngrMeasurement = new RecipeIngredientMeasurement();

            recIngrMeasurement.IngredientMeasurementID = im.IngredientMeasurementID;
            if (qty != 0)
            {
                recIngrMeasurement.Quantity = (float)qty;
            }

            return(recIngrMeasurement);
        }