private async void OnImportDietAsync(object p)
        {
            var meals = await importExportService.ImportAsync <Meal>();

            Meals.ToList().ForEach(m => mealRepository.Remove(m));
            Meals.Clear();
            meals.ToList().ForEach(m => {
                m.Ingregients.ToList().ForEach(i => ingredientRepository.Add(i));
                mealRepository.Add(m);
                Meals.Add(m);
            });
            mealRepository.SaveChangesAsync();
            CalcTotalNutritionFact();
        }
Example #2
0
        public void CopyRecipe(int id)
        {
            var model = _mealRepository.GetMeal(id);

            var newMeal = new Meal()
            {
                Name     = model.Name,
                MealType = model.MealType,
                Who      = model.Who == Who.Cathal ? Who.Yasmin : Who.Cathal
            };
            int newid = _mealRepository.Add(newMeal);

            foreach (var item in model.MealIngredients)
            {
                //copy ingredient with meaure = null
                int newIngredientId = CopyIngredient(item.IngredientId);

                var newIngredient = new MealIngredient()
                {
                    IngredientId = newIngredientId,
                    MealId       = newid
                };
                _mealIngredientRepository.Add(newIngredient);
            }
        }
Example #3
0
        public async Task <MealResponse> Create(Meal meal)
        {
            await mealRepository.Add(meal);

            await unitOfWork.Complete();

            return(new MealResponse(true, null));
        }
        public MealViewModel Insert(MealViewModel mealViewModel)
        {
            var meal = _mapper.Map <Meal>(mealViewModel);

            _mealRepository.Add(meal);
            _mealRepository.SaveChanges();
            return(_mapper.Map <MealViewModel>(meal));
        }
Example #5
0
        public void Add(MealDTO mealDto)
        {
            var meal = new Meal
            {
                Name        = mealDto.Name,
                NameForeign = mealDto.NameForeign
            };

            _mealRepository.Add(meal, mealDto.ImageBase64);

            var ingredients = new List <Ingredient>();

            foreach (var item in mealDto.Ingredients)
            {
                ingredients.Add(new Ingredient
                {
                    Name        = item.Name,
                    NameForeign = item.NameForeign
                });
            }
            _ingredientRepository.Add(ingredients);

            var allergens = new List <Allergen>();

            foreach (var item in mealDto.Allergens)
            {
                allergens.Add(new Allergen
                {
                    Name        = item.Name,
                    NameForeign = item.NameForeign
                });
            }
            _allergenRepository.Add(allergens);

            var mealIngredients = new List <MealIngredient>();

            foreach (var item in ingredients)
            {
                mealIngredients.Add(new MealIngredient
                {
                    MealId       = meal.Id,
                    IngredientId = item.Id
                });
            }
            _ingredientRepository.AddMealIngredients(mealIngredients);

            var mealAllergens = new List <MealAllergen>();

            foreach (var item in allergens)
            {
                mealAllergens.Add(new MealAllergen
                {
                    MealId     = meal.Id,
                    AllergenId = item.Id
                });
            }
            _allergenRepository.AddMealAllergens(mealAllergens);
        }
Example #6
0
        public async Task <IActionResult> SaveNewMeal(MealBuilderCreateViewModel model)
        {
            var meal = model.Meal;

            meal.AppUser = CurrentUser.User;

            if (ModelState.IsValid)
            {
                await mealRepository.Add(meal);
            }

            // return RedirectToAction("Details");

            return(Redirect($"/MealBuilder/MealDetails/{meal.MealID}?editMode=false"));
        }
        public async Task <Result> Handle(CreateMealCommand request, CancellationToken cancellationToken)
        {
            var price = Price.Create(request.Price);
            var url   = ImageDish.Create(request.Url);

            if (price.Failure || url.Failure)
            {
                throw new GroceryException(price.Error, url.Error);
            }
            var meal = new Meal(request.MealName, price.Value, url.Value);
            await _repository.Add(meal);

            await _domainEventDispatcher.DispatchAsync(meal.DomainEvents.ToArray());

            return(Result.Ok(meal));
        }
Example #8
0
        public IActionResult Post([FromBody] InputViewModel inputViewModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest());
                }

                var meal = GetMeal(inputViewModel.Input);

                _mealRepository.Add(meal);
                _mealRepository.SaveChanges();

                return(Ok(meal));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Example #9
0
 public IActionResult Add(Meal model)
 {
     _mealRepository.Add(model);
     return(RedirectToAction("Index"));
 }
Example #10
0
 public void Add(IMealModel mealModel)
 {
     //throw new NotImplementedException();
     _mealRepository.Add(mealModel);
 }