/// <summary> /// Executes the command /// </summary> /// <param name="parameter">Command parameter</param> public async override void Execute(object parameter) { if (!this._isFindAvailable) { return; } this._isFindAvailable = false; this._viewModel.SetVisibilities(Visibility.Visible, true); var dictionary = App.Current.Resources; try { var response = await this.ExecuteAsync((string)parameter); if (!response.IsSuccessStatusCode) { RecipeMessageBox.Show((string)dictionary["recipe_find_fail"]); return; } var recipe = response.Content; var loadService = new LoadRecipesService(); this._viewModel.Recipe = new ObservableCollection <Models.Recipe>(); this._viewModel.Recipe.Add(await loadService.Map(recipe)); this._viewModel.HistoryItems = this.Map(this._viewModel.Recipe.First()); } catch { RecipeMessageBox.Show((string)dictionary["recipe_find_fail"]); } finally { this._isFindAvailable = true; this._viewModel.SetVisibilities(Visibility.Collapsed, false); } }
private async void RecipesButton_Click(object sender, RoutedEventArgs e) { this._navigationService.Navigate(ref this._recipes); var loadRecipesService = new LoadRecipesService(this._recipes.ViewModel); await loadRecipesService.Load(); }