예제 #1
0
    protected void AssignmentRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        ApplicationDbContext dbContext = new ApplicationDbContext();

        int assignmentId = int.Parse(e.CommandArgument.ToString());

        Assignment assignment = dbContext.Assignments.Where(a => a.Id == assignmentId).FirstOrDefault();

        AssignmentTitleLabel.Text = assignment.Title;

        try
        {
            AssignmentContentLabel.Text = BBCode.ToHtml(assignment.Content);
        }
        catch
        {
            AssignmentContentLabel.Text = "Some tags did not load correctly<br />" + assignment.Content;
        }

        Session["CurrentAssignment"] = assignment;

        SubmissionRepeater.DataBind();
        GradeSubmissionView.DataBind();

        HomePanel.Visible       = false;
        AssignmentPanel.Visible = true;

        ActivePanelLabel.Text = "Assignments";
    }
예제 #2
0
    protected void SubmissionButton_Click(object sender, EventArgs e)
    {
        if (SubmissionUpload.HasFile)
        {
            try
            {
                ApplicationDbContext dbContext = new ApplicationDbContext();

                string fileName = Path.GetFileName(SubmissionUpload.FileName);
                string fileType = Path.GetExtension(fileName).Replace(".", "");

                Assignment CurrentAssignment = (Assignment)Session["CurrentAssignment"];

                Assignment assignment = dbContext.Assignments.Where(a => a.Id == CurrentAssignment.Id).FirstOrDefault();

                var sub = dbContext.Submissions.Where(s => s.Member.Id == member.Id && s.Assignment.Id == assignment.Id && s.Course.Id == course.Id).FirstOrDefault();

                Submission submission;

                if (sub != null)
                {
                    submission = dbContext.Submissions.Find(sub.Id);
                }
                else
                {
                    submission = new Submission();
                }

                submission.Title    = SubmissionUpload.FileName;
                submission.FileType = fileType;
                submission.Data     = SubmissionUpload.FileBytes;

                submission.Assignment = dbContext.Assignments.Where(a => a.Id == CurrentAssignment.Id).FirstOrDefault();
                submission.Member     = dbContext.Members.Where(m => m.Id == member.Id).FirstOrDefault();
                submission.Course     = dbContext.Courses.Where(c => c.Id == course.Id).FirstOrDefault();

                if (sub == null)
                {
                    dbContext.Submissions.Add(submission);
                }

                dbContext.SaveChanges();

                SubmissionRepeater.DataBind();

                HomePanel.Visible       = false;
                AssignmentPanel.Visible = true;

                ActivePanelLabel.Text = "Assignments";
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Response.Write(string.Format("Property: {0} Error: {1}",
                                                     validationError.PropertyName,
                                                     validationError.ErrorMessage));
                    }
                }
            }
        }
    }