private static ConfigurationBlock AddConfiguration(Test test, ISpreadsheetWriter spreadsheetWriter) { var configurationBlock = new ConfigurationBlock(spreadsheetWriter.CurrentPosition, test.StandardizationFactor, test.MinimumGrade); spreadsheetWriter .NewLine() .NewLine(); configurationBlock.Write(spreadsheetWriter); return(configurationBlock); }
public void Write(ISpreadsheetWriter spreadsheetWriter) { spreadsheetWriter.CurrentPosition = StartPoint; spreadsheetWriter .SetFontBold(true) .Write("Configuratie"); spreadsheetWriter .NewLine() .Write("Normering") .SetFontBold(false) .MoveRight() .Write(StandardizationFactor.Value); StandardizationfactorPosition = spreadsheetWriter.CurrentPosition; spreadsheetWriter .NewLine() .SetFontBold(true) .Write("Minimale cijfer") .SetFontBold(false) .MoveRight() .Write(MinimumGrade.Value); MinimumGradePosition = spreadsheetWriter.CurrentPosition; }
public async Task <Application.Models.Spreadsheet.SaveResult> CreateTestResultsSpreadsheetAsync(Class @class, Test test, Application.Models.Spreadsheet.Metadata metadata) { var libraryMetadata = metadata.MapToLibraryModel(); ISpreadsheetFile spreadsheetFile = _spreadsheetFileFactory.Create(_locationProvider.GetSpreadsheetDirectoryPath().Value, libraryMetadata); ISpreadsheetWriter spreadsheetWriter = spreadsheetFile.GetSpreadsheetWriter(); AddTitle(test, metadata, spreadsheetWriter); spreadsheetWriter.NewLine(); var configurationBlock = AddConfiguration(test, spreadsheetWriter); PrintScoreSheet( @class, test, spreadsheetWriter, configurationBlock); SaveResult saveResult = await spreadsheetFile.SaveAsync(); return(saveResult.MapToModel()); }
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); }