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); }
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); }
public MainWindow() { InitializeComponent(); _groceryListView = new GroceryListView(new GroceryListVM(_groceryListRepo)); _recipeView = new RecipeView(new RecipeVM(_groceryListRepo)); _ingredientsView = new IngredientsView(new IngredientsVM(_groceryListRepo)); MainContent.Content = _groceryListView; }