예제 #1
0
        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"));
        }