public IActionResult Step2(EventPlanningStep2ViewModel model) { if (ModelState.IsValid) { if (model.ServicePackageSelected.Count() > 1) { ModelState.AddModelError("ServicePackageSelected", "Select just one type of service!"); return(ResetStep2(model)); } var step1 = TempData.Get <Step1Dto>("Step1"); model.Step1 = step1; var servicePackageDict = TempData.Get <Dictionary <int, int> >("ServicePackageDict"); servicePackageDict[(int)model.ServiceType] = model.ServicePackageSelected[0]; TempData.Put("ServicePackageDict", servicePackageDict); model.BugetNeeded = model.BugetNeeded + model.Step1.Participants * servicePackageService.GetById(model.ServicePackageSelected[0]).PricePerParticipant; if (model.ServiceSelectedIndex == step1.ServiceTypesSelected.Count() - 1) { var ecentDto = new EventDto() { UserId = step1.UserId, EventType = (EventType)Enum.Parse(typeof(EventType), step1.EventTypesSelected[0]), NumberOfServices = step1.ServiceTypesSelected.Count(), Participants = step1.Participants, BugetNeeded = model.BugetNeeded, Status = EventStatus.Planning, EventDate = DateTime.Parse(step1.EventDate), IsDeleted = false }; eventService.Create(ecentDto, servicePackageDict); return(RedirectToAction(nameof(EventPlanningController.Step3), "EventPlanning", new { buget = model.BugetNeeded })); } var serviceWrappers = GetServiceWrapperViewModels(DateTime.Parse(model.Step1.EventDate), model.Step1.ServiceTypesSelected[model.ServiceSelectedIndex + 1], model.Step1.Participants); TempData.Put("ServiceWrappers", serviceWrappers); TempData.Put("Step1", step1); //model.EventTypesSelected.ForEach(x => wrapperDict[(ServiceType)Enum.Parse(typeof(ServiceType), x)] = serviceService.GetServiceWrappersByDateAndNOP(DateTime.Parse(model.EventDate), x,model.Participants)); return(View(new EventPlanningStep2ViewModel() { Step1 = step1, ServiceSelectedIndex = model.ServiceSelectedIndex + 1, ServiceType = (ServiceType)Enum.Parse(typeof(ServiceType), model.Step1.ServiceTypesSelected[model.ServiceSelectedIndex + 1]), ServiceWrappers = serviceWrappers, BugetNeeded = model.BugetNeeded })); } return(ResetStep2(model)); }
private IActionResult ResetStep2(EventPlanningStep2ViewModel model) { var step1 = TempData.Get <Step1Dto>("Step1"); TempData.Put("Step1", step1); var serviceWrappers = TempData.Get <List <ServiceWrapperViewModel> >("ServiceWrappers"); var serviceTypeValue = model.ServiceSelectedIndex < step1.EventTypesSelected.Count() ? model.ServiceSelectedIndex : model.ServiceSelectedIndex - 1; var parsedType = (ServiceType)Enum.Parse(typeof(ServiceType), step1.ServiceTypesSelected[serviceTypeValue]); return(View(new EventPlanningStep2ViewModel() { Step1 = step1, ServiceType = parsedType, ServiceSelectedIndex = model.ServiceSelectedIndex, ServiceWrappers = serviceWrappers, })); }