public ActionResult SubmitAssignment(AssignmentSubmissionCreateViewModel submissions) { var assignment = _teacherRepository.GetAssignmentById(submissions.AssignmentId); Subject subject = _teacherRepository.GetSubjectById(submissions.SubjectId); Student student = _teacherRepository.GetStudentByName(User.Identity.Name); var virtualPath = string.Format("~/StudentResources/Grammar11Plus/Assignments/Submissions/{0}/{1}", subject.SubjectName, CleanseAssignmentName(assignment.AssignmentName)); //Save File to FileSystem: var fileBuffer = new byte[submissions.MediaContent.ContentLength]; var physicalPath = Server.MapPath(virtualPath); var dirInfo = new DirectoryInfo(physicalPath); if (!dirInfo.Exists) { dirInfo.Create(); } FileInfo fileInfo1 = new FileInfo(physicalPath + "\\" + student.StudentFirsName + student.StudentLastName + submissions.MediaContent.FileName); if (fileInfo1.Exists) { fileInfo1.Delete(); } FileInfo fileInfo = new FileInfo(physicalPath + "\\" + student.StudentFirsName + student.StudentLastName + submissions.MediaContent.FileName); using (var fileStream = fileInfo.Create()) { var sizeRead = 0; while ((sizeRead = submissions.MediaContent.InputStream.Read(fileBuffer, 0, fileBuffer.Length)) > 0) { fileStream.Write(fileBuffer, 0, sizeRead); } submissions.MediaContent.InputStream.Flush(); submissions.MediaContent.InputStream.Close(); fileStream.Flush(); fileStream.Close(); } var actualSubmission = new AssignmentSubmission { AssignmentSubmissionId = submissions.AssignmentSubmissionId, AssignmentId = submissions.AssignmentId, DateDue = assignment.DateDue, DateSubmitted = DateTime.Now, StudentId = (int)student.StudentId, StudentRole = "Grammar11Plus", FilePath = Url.Content(virtualPath + "/" + student.StudentFirsName + student.StudentLastName + submissions.MediaContent.FileName), IsSubmitted = true, SubjectId = assignment.SubjectId, TeacherId = assignment.TeacherId, AssignmentName = assignment.AssignmentName, Notes = submissions.Notes, CourseId = assignment.CourseId }; _teacherRepository.SaveOrUpdateAssignmentSubmissions(actualSubmission); return(View("SuccessfullCreation")); }