private AssignmentSubmission completeAssignment(Assignment assignment, string userId, bool accepted) { var mySubmission = _context.AssignmentSubmissions.FirstOrDefault(a => a.UserId == userId && a.AssignmentId == assignment.Id); if (mySubmission != null) { mySubmission.Accepted = accepted; } else { var submission = new AssignmentSubmission() { AssignmentId = assignment.Id, UserId = userId, Timestamp = DateTime.Now, PointsRecieved = assignment.Points, Accepted = accepted }; _context.AssignmentSubmissions.Add(submission); mySubmission = submission; } _context.SaveChanges(); return(mySubmission); }
public void SaveOrUpdateAssignmentSubmissions(AssignmentSubmission actualSubmission) { actualSubmission.IsSubmitted = true; using (var dbContext = new DataAccess.TeachersAssistantDbContext()) { _unitOfWork.InitializeDbContext(dbContext); var submission = _unitOfWork._assignmentSubmissionRepository.GetById(actualSubmission.AssignmentSubmissionId); var assignment = _unitOfWork._assignmentRepository.GetById(actualSubmission.AssignmentId); if (submission == null) { _unitOfWork._assignmentSubmissionRepository.Add(actualSubmission); } else { submission.AssignmentId = actualSubmission.AssignmentId; submission.DateDue = actualSubmission.DateDue; submission.DateSubmitted = actualSubmission.DateSubmitted; submission.FilePath = actualSubmission.FilePath; submission.StudentId = actualSubmission.StudentId; submission.StudentRole = actualSubmission.StudentRole; submission.AssignmentName = actualSubmission.AssignmentName; submission.TeacherId = actualSubmission.TeacherId; submission.SubjectId = actualSubmission.SubjectId; submission.IsSubmitted = true; submission.Grade = actualSubmission.Grade; submission.GradeNumeric = actualSubmission.GradeNumeric; submission.Notes = actualSubmission.Notes; } assignment.IsSubmitted = true; _unitOfWork.SaveChanges(); } }
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")); }
public AssignmentSubmissionVM(AssignmentSubmission s) { this.Accepted = s.Accepted; this.UserId = s.UserId; this.Timestamp = s.Timestamp; this.PointsRecieved = s.PointsRecieved; this.Accepted = s.Accepted; }
public void Post([FromBody] AssignmentsViewModel obj, int AssignmentId) { string tempFilePath = obj.FilePath; obj.FilePath = "Resources/SubmittedAssignments/"; obj.FilePath = obj.FilePath + tempFilePath; var tempReg1 = obj.GroupRegNo[0]; DigitalBoardMarkerContext db = new DigitalBoardMarkerContext(); int GroupMembersCount = obj.GroupRegNo.Count(); StudentGroupNumber s = new StudentGroupNumber(); db.StudentGroupNumber.Add(s); db.SaveChanges(); int?groupId = db.StudentGroupNumber.Max(s1 => (int?)s1.Id); for (int i = 0; i < GroupMembersCount; i++) { StudentGroup sg = new StudentGroup(); sg.Groupid = groupId; string tempReg = obj.GroupRegNo[i].ToString(); sg.Userid = db.Users.Where(u => u.RegNo == tempReg).FirstOrDefault().Id; db.Add(sg); } AssignmentSubmission ass = new AssignmentSubmission(); ass.SubmissionDateTime = obj.SubmissionDate; ass.StudentGroupid = GroupMembersCount; ass.AssignmentFilePath = obj.FilePath; ass.AssignmentId = AssignmentId; db.Add(ass); db.SaveChanges(); }
public ActionResult AssignmentAndSubmissions() { try { var assignments = _teacherRepository.GetCurrentAssignments("Grammar11Plus"); var student = _teacherRepository.GetStudentByName(User.Identity.Name); var previousSubmissions = _teacherRepository.GetCurrentAssignmentsSubmissions(); var listSubmissions = assignments.Select(p => { var hasPreviouslySubmitted = false; AssignmentSubmission assignmentSubmission = null; if (p.StudentId > 0) { assignmentSubmission = previousSubmissions.FirstOrDefault(q => q.AssignmentId == p.AssignmentId && q.StudentId == p.StudentId && p.StudentId == student.StudentId); } var assignmentSubmissionId = 0; if (assignmentSubmission != null) { assignmentSubmissionId = assignmentSubmission.AssignmentSubmissionId; hasPreviouslySubmitted = true; return(new AssignmentSubmissionSelectOrDeleteViewModel { AssignmentSubmissionId = assignmentSubmissionId, AssignmentName = p.AssignmentName, AssignmentId = p.AssignmentId, DateDue = p.DateDue, FilePath = p.FilePath, StudentId = p.StudentId, StudentRole = p.StudentRole, IsSubmitted = hasPreviouslySubmitted, TeacherId = p.TeacherId, SubjectId = p.SubjectId, Notes = hasPreviouslySubmitted ? assignmentSubmission.Notes : "", CourseId = p.CourseId }); } else if (p.StudentId > 0 && assignmentSubmission == null) { return(null); } else { return(new AssignmentSubmissionSelectOrDeleteViewModel { AssignmentSubmissionId = assignmentSubmissionId, AssignmentName = p.AssignmentName, AssignmentId = p.AssignmentId, DateDue = p.DateDue, FilePath = p.FilePath, StudentId = (int)student.StudentId, StudentRole = p.StudentRole, IsSubmitted = hasPreviouslySubmitted, TeacherId = p.TeacherId, SubjectId = p.SubjectId, Notes = hasPreviouslySubmitted ? assignmentSubmission.Notes : "", CourseId = p.CourseId }); } }); return(View("AssignmentAndSubmissions", listSubmissions.Where(c => c != null).ToArray())); } catch { return(View("AssignmentAndSubmissions", new AssignmentSubmissionSelectOrDeleteViewModel[] { })); } }