public IActionResult Create(CourseViewModel courseModel) { if (!ModelState.IsValid || string.IsNullOrEmpty(courseModel.Course.TeacherId)) { return(View(courseModel)); } List <CountryViewModel> availableCountriesViewModel = courseModel.CountriesViewModel.Where(x => x.isAvailable == true).ToList(); var teacher = _context.Users.Find(courseModel.Course.TeacherId); if (teacher == null) { return(View(courseModel)); } var course = courseModel.Course; var schedules = courseModel.Schedules; var picture = courseModel.Picture; course.Teacher = teacher; _context.Add(course); _context.SaveChanges(); List <Country> courseCountries = availableCountriesViewModel.Select(x => x.Country).ToList(); course.Countries = courseCountries; _courseService.CreateSchedule(course.Id, schedules); _courseService.CreateLectures(course.Id, schedules); _context.SaveChanges(); if (picture != null && picture.Length > 0) { _files.AddCoursePicture(course, picture); } //ToDo :: Redirect to the course area return(RedirectToAction("Index", "Course")); }