Example #1
0
        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));
            }
        }