コード例 #1
0
        public AddIngredientPageViewModel(
            IIngredientsRepository ingredientsRepository,
            INavigationService navigationService,
            IUserInteraction userInteraction,
            ICrossMediaService crossMediaService)
            : base(navigationService, userInteraction, crossMediaService)
        {
            DrinkIngredientViewModel = new DrinkIngredientViewModel(new Ingredient());

            AcceptCommand = ReactiveCommand.CreateFromTask(async _ =>
            {
                if (!await IsInputValidAsync())
                {
                    return;
                }

                DrinkIngredientViewModel.Name        = IngredientName;
                DrinkIngredientViewModel.ByteImage   = IngredientImage;
                DrinkIngredientViewModel.BottleIndex = BottleIndex;

                DrinkIngredientViewModel.UpdateIngredientModel();

                await ingredientsRepository.InsertAsync(DrinkIngredientViewModel.Ingredient);
                await navigationService.PopAsync();
            });
        }