internal void Expand(IngredientViewModel ingredient) { if (ingredient.HasChildren) { var index = this.Ingredients.IndexOf(ingredient); var expandedIngredient = new ExpandedIngredientViewModel(ingredient.ParsedIngredient, ingredient.Product); expandedIngredient.DisplayName = ingredient.DisplayName; //this.Ingredients[index] = expandedIngredient; //TranslateIngredients(expandedIngredient.Ingredients, null); this.Ingredients[index] = new ExpandedIngredientViewModel(ingredient.ParsedIngredient, ingredient.Product); TranslateIngredients(this.Ingredients, null); //below fades out and in //this.Ingredients.Remove(ingredient); //this.Ingredients.Insert(index, new ExpandedIngredientViewModel(ingredient.ParsedIngredient, ingredient.Product)); } }
private void TranslateIngredient(IIngredientLanguageNames translator, string name, string displayName, IngredientViewModel ingredient) { var ingredientTranslations = translator.TranslateIngredient(name, OriginalLanguage, LanguageCode); if (ingredientTranslations.Any()) { displayName = ingredientTranslations.First().Name; ingredient.WikiDataId = ingredientTranslations.First().WikiDataId; } ingredient.DisplayName = displayName; }
// todo: move processing to separate object #region processing private void TranslateIngredient(IngredientLanguageNames translator, string name, string displayName, IngredientViewModel ingredient) { var nutrientTranslations = translator.TranslateIngredient(name, Product.OriginalLanguage, Product.LanguageCode); if (nutrientTranslations.Any()) { displayName = nutrientTranslations.First().Name; } ingredient.DisplayName = displayName; }