private void LoadAssignedIngredients() { var assignedIngredients = _formulationIngredientRepository.GetByFormulationId(_formulationBusinessModel.Id); AssignedIngredientBusinessModels.Clear(); foreach (var ingredient in assignedIngredients) { var ingredientModel = _ingredientRepository.GetById(ingredient.IngredientId); AssignedIngredientBusinessModels.Add(new FormulationIngredientBusinessModel(ingredient, ingredientModel)); } }
private void UpdateAvailableIngredients() { var assignedIngredients = AssignedIngredientBusinessModels.Select(i => i.IngredientId).ToList(); var availableIngredients = _allIngredients.Where(i => !assignedIngredients.Contains(i.Id)); AvailableIngredients.Clear(); foreach (var ingredient in availableIngredients) { AvailableIngredients.Add(ingredient); } }
private void OnAddSelectedIngredient() { _formulationIngredientRepository.Add(FormulationIngredientBusinessModel.Model); AssignedIngredientBusinessModels.Add(FormulationIngredientBusinessModel); UpdateAvailableIngredients(); CalculateTotalFormulationPrice(); FormulationIngredientBusinessModel = null; SelectedIngredient = null; }
private void OnRemoveFormulationIngredient(object id) { if (id.GetType() != typeof(int)) { return; } var itemToRemove = AssignedIngredientBusinessModels.FirstOrDefault(i => i.Id == (int)id); if (itemToRemove == null) { return; } itemToRemove.PropertyChanged -= FormulationIngredientBusinessModel_PropertyChanged; AssignedIngredientBusinessModels.Remove(itemToRemove); CalculateTotalFormulationPrice(); UpdateAvailableIngredients(); }