public ActionResult Create(Lecture lecture, int CourseId) { CoursesRepository repository = new CoursesRepository(); Course course = db.Courses.Where(c => c.CourseId == CourseId).SingleOrDefault(); if (!repository.CheckIfLectureExists(lecture, CourseId)) { ApplicationUser teacher = db.Users.Find(course.Teacher.Id); List <Lecture> lectures = course.Lectures.ToList(); try { lecture.Filename = Path.GetFileName(lecture.LectureFile.FileName); string fileName = Path.Combine(Server.MapPath("~/Users/" + teacher.UserName + "/" + course.CourseName + "/Lectures/"), lecture.Filename); lecture.LectureFile.SaveAs(fileName); lecture.Path = fileName; lecture.Course = course; db.Lectures.Add(lecture); db.SaveChanges(); return(RedirectToAction("CourseHome", "Courses", course.CourseId)); } catch (Exception e) { throw e; } } else { TempData["Errormsg"] = "Lecture already exists! Try again"; return(RedirectToAction("CourseHome", "Courses", course)); } }