public static AssessmentInformationForm FromAssessmentInfo(AssessmentInformation assessmentInfo) { AssessmentInformationForm aif = new AssessmentInformationForm(); aif.AssessmentName = assessmentInfo.AssessmentName; aif.Author = assessmentInfo.Author; aif.AssessmentWeighting = assessmentInfo.AssessmentWeighting; return(aif); }
private void DisplayInformation(AssessmentScript a) { //Show the assessment info. This will always be present if (a.AssessmentInfo != null) { AssessmentInformation ai = a.AssessmentInfo; if (!ai.AssessmentName.NullOrEmpty()) { lblAssessmentName.Text = ai.AssessmentName; } else { lblAssessmentName.Text = "Assessment"; } if (!ai.Author.NullOrEmpty()) { lblAuthor.Text = $"Author: {ai.Author}"; } else { lblAuthor.Text = ""; } lblWeighting.Text = ai.AssessmentWeighting > 0 ? $"{ai.AssessmentWeighting}%" : ""; } //Show the course info. This will only be present if the assessment has been published. if (a.CourseInformation != null) { CourseInformation c = a.CourseInformation; if (!c.CourseCodeFull.NullOrEmpty()) { lblCourseCode.Text = c.CourseCodeFull; } else { lblCourseCode.Text = ""; } if (!c.CourseName.NullOrEmpty()) { lblCourseName.Text = c.CourseName; } else { lblCourseName.Text = "Unkown course"; } } //Enable the information panel pnlInformation.Enabled = true; pnlInformation.Visible = true; }
public AssessmentSession(string courseID, string deploymentTarget, AssessmentInformation assessmentInfo, string assessmentFileName, DateTime startTime, int assessmentLength, int readingTime, string restartPassword, List <StudentData> studentData, List <string> additionalFiles, DateTime deploymentTime, Assessment assessment) { this.assessmentInfo = assessmentInfo; this.assessmentFileName = assessmentFileName; this.courseID = courseID; this.deploymentTarget = deploymentTarget; this.startTime = startTime; this.assessmentLength = assessmentLength; this.readingTime = readingTime; this.restartPassword = restartPassword; this.studentData = studentData; this.additionalFiles = additionalFiles; this.deploymentTime = deploymentTime; this.assessment = assessment; }
public static AssessmentScript BuildForPublishing(Assessment assessment, StudentData data, AssessmentInformation info) { AssessmentScript script = BuildFromAssessment(assessment); //Set the data script.studentData = data; script.AssessmentInfo = info; script.timeData = data.GenerateTimeData(); script.published = true; return(script); }
public bool MakePDF(string filePath) { Document doc = new Document(); bool successful = true; AssessmentInformation info = smd.Scripts.First().Script.AssessmentInfo; try { FileStream fs = new FileStream(filePath, FileMode.Create); PdfWriter.GetInstance(doc, fs); doc.Open(); //Do author if (!info.Author.NullOrEmpty()) { string authorText = $"Author: {info.Author}"; Paragraph authorPara = new Paragraph(authorText, AuthorFont); authorPara.Add(new Chunk(new VerticalPositionMark())); authorPara.Add(new Chunk($"{smd.StudentData.FirstName} {smd.StudentData.LastName} - {smd.StudentData.StudentID}")); doc.Add(authorPara); } //Do title Paragraph titlePara = new Paragraph(info.AssessmentName, TitleFont); titlePara.SetAlignment(Center); titlePara.SpacingAfter = 5f; doc.Add(titlePara); //Do weighting Paragraph weightingPara = new Paragraph($"{info.AssessmentWeighting}%", WeightingFont); weightingPara.SetAlignment(Center); weightingPara.SpacingAfter = 5f; doc.Add(weightingPara); Paragraph linePara = new Paragraph(new Chunk(new LineSeparator(0.0f, 100f, Color.BLACK, Element.ALIGN_LEFT, 1))); linePara.SpacingAfter = 15f; doc.Add(linePara); //Do each question DoQuestions(smd.MarkingQuestions, doc); //Show marks for assessment Paragraph totalMarksPara = new Paragraph(""); totalMarksPara.Add(new Chunk(new VerticalPositionMark())); Paragraph totalPhrase = new Paragraph($"Final result: {smd.FinalMark.ToString("0.#")} / {smd.TotalAvailableMarks}", TotalMarksFont); totalPhrase.SetAlignment(Right); totalMarksPara.Add(totalPhrase); totalMarksPara.SpacingBefore = 10f; doc.Add(totalMarksPara); Paragraph percentPara = new Paragraph(""); percentPara.Add(new Chunk(new VerticalPositionMark())); Paragraph percentPhrase = new Paragraph($"{((smd.FinalMark / smd.TotalAvailableMarks) * 100).ToString("00.0")}%", TotalMarksFont); percentPhrase.SetAlignment(Right); percentPara.Add(percentPhrase); doc.Add(percentPara); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error creating pdf"); successful = false; } finally { doc.Close(); } return(successful); }
public static void PopulateAssessmentInformation(AssessmentInformation assessmentInfo, AssessmentInformationForm aif) { assessmentInfo.AssessmentName = aif.AssessmentName; assessmentInfo.Author = aif.Author; assessmentInfo.AssessmentWeighting = (int)aif.AssessmentWeighting; }