Exemple #1
0
        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);
        }
Exemple #2
0
        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();
            }
        }
Exemple #3
0
        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;
 }
Exemple #5
0
        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();
        }
Exemple #6
0
        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[] { }));
            }
        }