public ActionResult Index(Assignment model, IEnumerable <HttpPostedFileBase> files)
        {
            Assignment = db.Assignments.Find(model.ID);

            bool newUpload = false;

            foreach (var file in files)
            {
                if (file != null && file.ContentLength > 0)
                {
                    newUpload = true;
                    break;
                }
            }

            if (files != null && newUpload)
            {
                //clear review teams first
                Assignment.ReviewTeams.Clear();
                db.Entry(Assignment).State = System.Data.EntityState.Modified;
                db.SaveChanges();
                //submit file to the system
                SubmissionController submission = new SubmissionController();
                //removed: ActiveCourseUser.AbstractCourse.ID
                submission.Create(model.ID, files, null);
            }

            WasUpdateSuccessful = true;
            return(base.PostBack(model));
        }
示例#2
0
        public void CanCreateAssignmentForAnchorDiscussion()
        {
            AbstractCourse c = new Course();
            //Given posted files
            //-generate 2 files
            HttpPostedFileWrapper     file1 = new HttpPostedFileWrapper(null);
            HttpPostedFileWrapper     file2 = new HttpPostedFileWrapper(null);
            List <HttpPostedFileBase> files = new List <HttpPostedFileBase>();

            files.Add(file1);
            files.Add(file2);

            //Given existing assignment
            //-get from db
            int assign = 10;

            //Given AuthorTeamId
            int            authorteam = 75;
            AssignmentTeam at         = new AssignmentTeam();

            at.TeamID = authorteam;

            //When Create assignment for anchor discussion is requested
            SubmissionController sc = new SubmissionController();

            sc.Create(assign, files, authorteam);



            //Then the files are generated on path
            string submission = OSBLE.FileSystem.GetDeliverable(c as Course,
                                                                assign, at, null, null);
        }
示例#3
0
        public void EntryLimitReachedTest()
        {
            var _db = GetDatabaseContext();
            var subRepo = new SubmissionRepo(_db);
            var controller = new SubmissionController(_db, subRepo);

            Submission submission = new Submission("Egon", "*****@*****.**", 44, 63307008);
            Submission submission2 = new Submission("Egon", "*****@*****.**", 44, 63307008);

            controller.Create(submission);
            controller.Create(submission2);

            int subCount = subRepo.GetSubmissions().Count();

            controller.Create(submission);
            string v = subRepo.ValidateSubmission(submission);

            Assert.AreEqual(2, subCount);
            Assert.AreEqual("Too many entries", v);
        }
示例#4
0
        public void SubmitAssignment(int assignmentId, byte[][] data, string authToken)
        {
            if (authService.IsValidKey(authToken))
            {
                UserProfile currentUser = authService.GetActiveUser(authToken);

                //turn byte data into HttpPostedFileBase for file submission
                List <HttpPostedFileBase> files = new List <HttpPostedFileBase>();
                foreach (byte[] file in data)
                {
                    /*
                     * HttpPostedFile assignmentFile = new HttpPostedFile();
                     * StreamWriter writer = new StreamWriter(assignmentFile.InputStream);
                     * writer.Write(file);
                     * assignmentFile.InputStream.Position = 0;
                     * */
                }

                SubmissionController submission = new SubmissionController();
                submission.Create(assignmentId, files);
            }
        }