Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        /// <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));
            }
        }