public void Write(ISpreadsheetWriter spreadsheetWriter) { spreadsheetWriter.CurrentPosition = StartPoint; spreadsheetWriter .SetFontBold(true) .SetBorder(BorderStyle.Double, BorderDirection.Bottom, Color.Black) .Write("Totaal") .SetFontBold(false); int columnsBetweenFirstPoint = ScoreTopPoint.X - spreadsheetWriter.CurrentPosition.X; for (int i = 0; i < columnsBetweenFirstPoint; i++) { spreadsheetWriter.MoveRight(); spreadsheetWriter.Write(string.Empty); } const int maximumPointsColumn = 1; int numberOfScoreColumns = NumberOfStudents + maximumPointsColumn; for (int columnIndex = 0; columnIndex < numberOfScoreColumns; columnIndex++) { var startPosition = new Point(spreadsheetWriter.CurrentPosition.X, ScoreTopPoint.Y); var lastQuestionRowOffset = 1; var endPosition = new Point(spreadsheetWriter.CurrentPosition.X, spreadsheetWriter.CurrentPosition.Y - lastQuestionRowOffset); spreadsheetWriter .PlaceStandardFormula(startPosition, endPosition, FormulaType.SUM) .MoveRight(); } }
public void Write(ISpreadsheetWriter spreadsheetWriter) { spreadsheetWriter.CurrentPosition = StartPosition; spreadsheetWriter .SetFontBold(true) .SetBorder(BorderStyle.Double, BorderDirection.Bottom, Color.Black) .Write("Cijfer") .SetFontBold(false); int columnsBetweenFirstPoint = ScoresStartColumn - spreadsheetWriter.CurrentPosition.X; for (int i = 0; i < columnsBetweenFirstPoint; i++) { spreadsheetWriter.MoveRight(); spreadsheetWriter.Write(string.Empty); } ICellRange maximumScoreCell = spreadsheetWriter.GetCellRange(MaximumScorePosition); ICellRange standardizationFactorCell = spreadsheetWriter.GetCellRange(StandardizationFactorPosition); ICellRange minimumGradeCell = spreadsheetWriter.GetCellRange(MinimumGradePosition); const int maximumPointsColumn = 1; int numberOfScoreColumns = NumberOfStudents + maximumPointsColumn; spreadsheetWriter.SetFormat("0.0"); for (int columnIndex = 0; columnIndex < numberOfScoreColumns; columnIndex++) { var achievedScorePosition = new Point(spreadsheetWriter.CurrentPosition.X, AchievedScoresRow); ICellRange achievedScoreCell = spreadsheetWriter.GetCellRange(achievedScorePosition); spreadsheetWriter .PlaceLessThanRule(5.5, Color.Red) .PlaceCustomFormula(SetupGradeFormula(achievedScoreCell, maximumScoreCell, standardizationFactorCell, minimumGradeCell)) .MoveRight(); } spreadsheetWriter.ResetStyling(); }
public void Write(ISpreadsheetWriter spreadsheetWriter) { spreadsheetWriter.CurrentPosition = StartPoint; var questionNamesCollumns = NumberOfVersions; spreadsheetWriter .SetBorder(BorderStyle.Thin, BorderDirection.Bottom, Color.Black) .SetHorizontalAlignment(HorizontalAlignment.Center) .SetFontBold(true) .Write("Opgave"); for (int i = 0; i < questionNamesCollumns; i++) { spreadsheetWriter.MoveRight(); spreadsheetWriter.Write(string.Empty); } spreadsheetWriter .Write("Punten") .ResetStyling(); ScoresHeaderPosition = spreadsheetWriter.CurrentPosition; LastQuestionRow = PrintAssignments(spreadsheetWriter); }
private void PrintScoreSheet( Class @class, Test test, ISpreadsheetWriter spreadsheetWriter, ConfigurationBlock configurationBlock) { spreadsheetWriter .NewLine() .NewLine(); var assignmentsBlock = new AssignmentsBlock(spreadsheetWriter.CurrentPosition, test.Assignments, test.NumberOfVersions); assignmentsBlock.Write(spreadsheetWriter); spreadsheetWriter.CurrentPosition = assignmentsBlock.ScoresHeaderPosition; spreadsheetWriter.MoveRight(); int studentNamesStartColumn = spreadsheetWriter.CurrentPosition.X; var studentNamesBlock = new StudentNamesBlock(spreadsheetWriter.CurrentPosition, @class.Students, assignmentsBlock.LastQuestionRow); studentNamesBlock.Write(spreadsheetWriter); spreadsheetWriter.CurrentPosition = new Point(spreadsheetWriter.CurrentPosition.X, assignmentsBlock.LastQuestionRow); spreadsheetWriter.NewLine(); var scoresTopRow = new Point(assignmentsBlock.ScoresHeaderPosition.X, assignmentsBlock.ScoresHeaderPosition.Y + 1); AddTotalPointsRow(spreadsheetWriter, scoresTopRow, @class.Students.Count); var achievedScoresRow = spreadsheetWriter.CurrentPosition.Y; spreadsheetWriter.NewLine(); var numberOfStudents = @class.Students.Count; AddGradesRow(spreadsheetWriter, achievedScoresRow, assignmentsBlock.ScoresHeaderPosition.X, new Point(assignmentsBlock.ScoresHeaderPosition.X, achievedScoresRow), configurationBlock.MinimumGradePosition, configurationBlock.StandardizationfactorPosition, numberOfStudents, _formulaBuilderFactory); var gradesRow = spreadsheetWriter.CurrentPosition.Y; spreadsheetWriter.NewLine(); spreadsheetWriter.NewLine(); AddAverageResults( spreadsheetWriter, achievedScoresRow, gradesRow, studentNamesStartColumn, numberOfStudents); var borderBlock = new BorderBlock( assignmentsBlock.ScoresHeaderPosition.Y, assignmentsBlock.AssignmentBottomRows, achievedScoresRow, gradesRow, studentNamesBlock.MostOuterColumn); borderBlock.Write(spreadsheetWriter); }