public async Task <ActionResult> Create(ClassTimetableViewModel viewModel) { if (ModelState.IsValid) { var classTimetable = new ClassTimetable(); classTimetable.Id = Guid.NewGuid().ToString(); classTimetable.ScheduledClassType = db.ScheduledClassTypes.FirstOrDefault(x => x.Id == viewModel.ScheduledClassId); classTimetable.StartTime = new DateTime(2050, 1, 1, viewModel.StartTimeHours, viewModel.StartTimeMinutes, 0); classTimetable.EndTime = new DateTime(2050, 1, 1, viewModel.EndTimeHours, viewModel.EndTimeMinutes, 0); classTimetable.Weekday = viewModel.Weekday; db.ClassTimetable.Add(classTimetable); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(viewModel)); }
// // GET: ClassTimetable/Create // public ActionResult Create() // { // var classTypes = db.ScheduledClassTypes.Where(x => x.IsActive).ToList(); // var viewModel = new ClassTimetableViewModel() // { // ScheduledClassType = classTypes // }; // return View(viewModel); // } // GET: ClassTimetable/Create public ActionResult Create(int weekday, int startHour) { var classTypes = db.ScheduledClassTypes.Where(x => x.IsActive).ToList(); var selectedWeekday = (DayOfWeek)weekday; var viewModel = new ClassTimetableViewModel() { ScheduledClassType = classTypes, StartTimeHours = startHour, EndTimeHours = startHour + 1, Weekday = selectedWeekday }; // Weekday drop down is not defaulting to the correct value - works // properly parse the starthour from Index.cshtml return(View(viewModel)); }