public ActionResult CreateAssignment(Assignment assignment, int CourseId) { CoursesRepository repository = new CoursesRepository(); Course course = db.Courses.Where(c => c.CourseId == CourseId).SingleOrDefault(); if (!repository.CheckIfAssignmentExists(assignment, CourseId)) { ApplicationUser teacher = db.Users.Find(course.Teacher.Id); List <Assignment> assignments = course.Assignments.ToList(); assignment.Filename = Path.GetFileName(assignment.AssignmentFile.FileName); string fileName = Path.Combine(Server.MapPath("~/Users/" + teacher.UserName + "/" + course.CourseName), assignment.Filename); assignment.AssignmentFile.SaveAs(fileName); assignment.Path = fileName; assignment.DueDate = DateTime.Now; var path = new System.IO.DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "Users\\" + teacher.UserName + "\\" + course.CourseName + "\\Submits\\" + assignment.AssignmentName); DirectoryInfo di = Directory.CreateDirectory(path.ToString()); assignment.Course = course; db.Assignments.Add(assignment); db.SaveChanges(); return(RedirectToAction("CourseHome", "Courses", course.CourseId)); } else { TempData["Error"] = "Assignment already exists! Try again"; return(RedirectToAction("CourseHome", "Courses", course)); } }