public async Task <IActionResult> Create(PreparationStepViewModel PreparationStepViewModel) { if (ModelState.IsValid) { var recipeId = PreparationStepViewModel.NewStep.RecipeId; var stepListCurrentRecipe = _context.PreparationSteps .Where(p => p.RecipeId == recipeId) .ToList(); int highestRank; if (stepListCurrentRecipe.Count > 0) { highestRank = stepListCurrentRecipe .Max(p => p.Rank); } else { highestRank = 0; } PreparationStepViewModel.NewStep.Rank = ++highestRank; _context.Add(PreparationStepViewModel.NewStep); await _context.SaveChangesAsync(); return(RedirectToAction("List", new { recipeId = recipeId })); } return(View()); }
// GET: PreparationSteps/List public async Task <IActionResult> List(int recipeId) { var PreparationStepViewModel = new PreparationStepViewModel(); PreparationStepViewModel.PreparationSteps = await _context.PreparationSteps .Where(p => p.RecipeId == recipeId) .OrderBy(p => p.Rank) .ToListAsync(); PreparationStepViewModel.NewStep = new PreparationStep() { RecipeId = recipeId }; return(View("Change", PreparationStepViewModel)); }
public async Task CreateAsync(object argument) { var v = new PreparationUserControl(); var vm = new PreparationStepViewModel( _serviceProvider, _nextStepFactory, (List <string>)argument ); v.DataContext = vm; _targetControl.Content = v; try { await vm !.StartAsync(); } catch (Exception excp) { _targetControl.Content = excp.Message + Environment.NewLine + excp.StackTrace; Logging.LogVS(excp); } }