Example #1
0
        public void Write(ISpreadsheetWriter spreadsheetWriter)
        {
            spreadsheetWriter.CurrentPosition = StartPoint;
            IOrderedEnumerable <Student> orderedStudents = Students
                                                           .OrderBy(x => x.LastName.Value);

            foreach (Student student in orderedStudents)
            {
                var nameBuilder = new StringBuilder(student.FirstName.Value);
                if (student.Infix != null)
                {
                    nameBuilder.Append(' ');
                    nameBuilder.Append(student.Infix);
                }
                nameBuilder.Append(' ');
                nameBuilder.Append(student.LastName.Value);

                spreadsheetWriter
                .SetTextRotation(40)
                .SetBorder(BorderStyle.Thin, BorderDirection.Bottom, Color.Black)
                .SetHorizontalAlignment(HorizontalAlignment.Center)
                .Write(nameBuilder.ToString())
                .ResetStyling();

                for (int i = 0; i < _lastQuestionRow; i++)
                {
                    spreadsheetWriter
                    .MoveDown()
                    .SetHorizontalAlignment(HorizontalAlignment.Center)
                    .Write(string.Empty);
                }

                spreadsheetWriter.CurrentPosition = new Point(spreadsheetWriter.CurrentPosition.X + 1, StartPoint.Y);
            }
            MostOuterColumn = spreadsheetWriter.CurrentPosition.X;
        }