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"; }
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)); } } } } }