// edit an ingredient public EditIngredientPageViewModel( IIngredientsRepository ingredientsRepository, INavigationService navigationService, IUserInteraction userInteraction, ICrossMediaService crossMediaService, DrinkIngredientViewModel drinkIngredientViewModel) : base(navigationService, userInteraction, crossMediaService) { DrinkIngredientViewModel = drinkIngredientViewModel; IngredientImage = drinkIngredientViewModel.ByteImage; IngredientName = drinkIngredientViewModel.Name; BottleIndex = drinkIngredientViewModel.BottleIndex; SelectedBottleIndex = drinkIngredientViewModel.BottleIndex; AcceptCommand = ReactiveCommand.CreateFromTask(async _ => { if (!await IsInputValidAsync()) { return; } DrinkIngredientViewModel.Name = IngredientName; DrinkIngredientViewModel.ByteImage = IngredientImage; DrinkIngredientViewModel.BottleIndex = BottleIndex; DrinkIngredientViewModel.UpdateIngredientModel(); await ingredientsRepository.UpdateAsync(DrinkIngredientViewModel.Ingredient); await navigationService.PopAsync(); }); }
public async Task UpdateAsync(UpdateIngredient model, IValidator <UpdateIngredient> validator) { ValidateAndThrow(model, validator); var ingredient = _mapper.Map <Ingredient>(model); if (ingredient.TaskId.HasValue) { ingredient.Name = null; } else { ingredient.Name = ingredient.Name.Trim(); } ingredient.ModifiedDate = DateTime.UtcNow; await _ingredientsRepository.UpdateAsync(ingredient); }