Exemplo n.º 1
0
        public async Task <List <DishesCountPrice> > CalculateIngredients()
        {
            var listOfDishes = await GetListDishes();

            var dishesCountPrice = new List <DishesCountPrice>();

            foreach (var item in listOfDishes)
            {
                var ingredientsList = new List <IngredientsView>();
                foreach (var item2 in item.Ingredients)
                {
                    var dishIngredientById = await _ingredientsRepository.GetDishIngredientsByIngredientsId(item2.IngredientId);

                    var ingredientPrice = new IngredientsView();
                    foreach (var item3 in dishIngredientById)
                    {
                        ingredientPrice.Price = item3.Price;
                    }
                    ingredientsList.Add(ingredientPrice);
                }

                double price          = ingredientsList.Sum(x => x.Price);
                var    dishCountPrice = new DishesCountPrice();
                dishCountPrice.Id    = item.Id;
                dishCountPrice.Name  = item.Name;
                dishCountPrice.Price = price;

                dishesCountPrice.Add(dishCountPrice);
            }
            return(dishesCountPrice);
        }
Exemplo n.º 2
0
        public async Task <List <IngredientsUsageViewModel> > IngredientsUsage()
        {
            var ingredientsUsageList = new List <IngredientsUsageViewModel>();
            var ingredients          = await _ingredientsRepository.GetIngredients();

            //"CreateNewIngredient" - model for get amount as property
            foreach (var item in ingredients)
            {
                var findIngredientsIntoDishes = await _dishesIngredientsRepository.UsageOfIngredients(item.Id);

                var listOfIngredients = new List <IngredientsView>();
                var listOfAmounts     = new List <CreateNewIngredient>();
                foreach (var item2 in findIngredientsIntoDishes)
                {
                    var ingredient = new IngredientsView();
                    ingredient.Id = item2.Id;
                    listOfIngredients.Add(ingredient);

                    var ingredientPerDish = new CreateNewIngredient();
                    ingredientPerDish.Amount = item2.Amount;
                    listOfAmounts.Add(ingredientPerDish);
                }
                int numberOfIngredientsInDishes = listOfIngredients.Count();
                var amoutOfIngredientsInDishes  = listOfAmounts.Sum(x => x.Amount);
                var ingredientsUsage            = new IngredientsUsageViewModel()
                {
                    Id             = item.Id,
                    Name           = item.Name,
                    TotalAmount    = amoutOfIngredientsInDishes,
                    NumberOfDishes = numberOfIngredientsInDishes
                };
                ingredientsUsageList.Add(ingredientsUsage);
            }
            return(ingredientsUsageList);
        }
Exemplo n.º 3
0
 public MainWindow()
 {
     InitializeComponent();
     _groceryListView    = new GroceryListView(new GroceryListVM(_groceryListRepo));
     _recipeView         = new RecipeView(new RecipeVM(_groceryListRepo));
     _ingredientsView    = new IngredientsView(new IngredientsVM(_groceryListRepo));
     MainContent.Content = _groceryListView;
 }