private async void AddDishIngredient() { if (DishIngredientInProgress.Id == 0 || Math.Abs(DishIngredientInProgress.Amount) < double.Epsilon || string.IsNullOrEmpty(DishIngredientInProgress.Unit)) { await m_popupDialog.Dialog.ShowMessageAsync(this, "Kan ikke legge til ingrediens", "Ingrediensen du prøver å legge til må velges fra nedtrekkslista, enhetsfeltet og mengdefeltet må ha en verdi"); return; } if (DishAllreadyHasIngredient(DishIngredientInProgress)) { await m_popupDialog.Dialog.ShowMessageAsync(this, "Kan ikke legge til ingrediens", "Ingrediensen du prøver å legge til har du allerede"); return; } if (TheDish.Id != -1) { var dishIngredientsToPost = new List <DishIngredientCreateRequest> { new DishIngredientCreateRequest { Amount = DishIngredientInProgress.Amount, IngredientId = DishIngredientInProgress.Id, Unit = DishIngredientInProgress.Unit, Comment = DishIngredientInProgress.Comment } }; await m_foodFacade.AddIngredientToDish(TheDish.Id, dishIngredientsToPost); } TheDish.Ingredients.Add(DishIngredientInProgress); DishIngredientInProgress = new DishIngredientResult(); SearchText = ""; OnPropertyChanged(nameof(SearchText)); OnPropertyChanged(nameof(DishIngredientInProgress)); }
public async Task Initialize() { var dishes = await m_foodFacade.GetAllDishes(100000, 0); dishes.Sort((light, dishLight) => light.Name.CompareTo(dishLight.Name)); Dishes = new ObservableCollection <DishLight>(dishes); DishIngredientInProgress = new DishIngredientResult(); TagInProgress = new Tag(); OnPropertyChanged(nameof(Dishes)); }
private void SelectionChanged() { if (SelectedDish == null) { OnPropertyChanged(string.Empty); return; } m_viewDisabler.Disable("Laster...", GetAndSetChosenDish()); DishIngredientInProgress = new DishIngredientResult(); OnPropertyChanged(nameof(TheDish)); }
public async Task DeleteDishIngredient(int dishId, DishIngredientResult dishIngredient) { await m_restClient.Delete($"DishIngredient?dishid={dishId}&ingredientIds={dishIngredient.Id}"); }
private bool DishAllreadyHasIngredient(DishIngredientResult dishIngredient) { var res = TheDish.Ingredients.Select(x => x.Id).Where(i => i == dishIngredient.Id).ToArray(); return(res.Count() > 0); }