public IActionResult StepTwo(VacationStepTwoViewModel viewModel) { if (ModelState.IsValid) { data.Vacations.Insert(viewModel.Vacation); data.Save(); data.AddVacationActivities(viewModel.Vacation, viewModel.SelectedActivities); data.Save(); var location = data.Locations.Get(viewModel.Vacation.LocationId); this.addConfirmationMessage($"Successfully added new vacation at {location.Name} on {viewModel.Vacation.StartDate.ToShortDateString()} thru {viewModel.Vacation.EndDate.ToShortDateString()}."); return(RedirectToAction("List")); } else { viewModel.Vacation.Location = data.Locations.Get(viewModel.Vacation.LocationId); var stepTwoViewModel = new VacationStepTwoViewModel() { Vacation = viewModel.Vacation, Activities = data.Activities.List(new QueryOptions <Activity>() { OrderBy = a => a.Name }), SelectedActivities = viewModel.Vacation.Activities?.Select(a => a.Activity.ActivityId).ToArray() }; return(View(stepTwoViewModel)); } }
/// <summary> /// Step two action. Returns Steptwo view. /// </summary> /// <returns>Step two view.</returns> public IActionResult StepTwo() { var vacation = TempData.Get <Vacation>("Vacation"); if (vacation == null) { this.addErrorMessage("Refreshing cancelled the progress of adding a new vacation."); return(RedirectToAction("List")); } else { var viewModel = new VacationStepTwoViewModel() { Vacation = vacation, Activities = data.Activities.List(new QueryOptions <Activity>() { OrderBy = a => a.Name }) }; return(View(viewModel)); } }