Begin pdf with the right position (#54)

This commit is contained in:
Claudio Schaad 2025-09-27 12:20:39 +02:00 committed by GitHub
parent 6f73aca3f6
commit fddca4e833
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -82,19 +82,20 @@ namespace ShiftScheduler.Services
{ {
var weekDates = week.ToList(); var weekDates = week.ToList();
var dayInWeek = weekDates.Count; var dayInWeek = weekDates.Count;
var preRender = weekDates.First().DayOfWeek != DayOfWeek.Monday ? 7 - dayInWeek : 0;
var postRender = weekDates.First().DayOfWeek == DayOfWeek.Monday ? 7 - dayInWeek : 0;
// Date // Date
RenderEmptyCells(table, preRender);
foreach (var day in Enumerable.Range(0, dayInWeek)) foreach (var day in Enumerable.Range(0, dayInWeek))
{ {
var dddd = weekDates.ElementAtOrDefault(day).ToString("dd.MM.yyyy (ddd)"); var dddd = weekDates.ElementAtOrDefault(day).ToString("dd.MM.yyyy (ddd)");
table.Cell().Element(CellStyleFirst).Text(dddd); table.Cell().Element(CellStyleFirst).Text(dddd);
} }
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek)) RenderEmptyCells(table, postRender);
{
RenderEmptyCell(table);
}
// Icon // Icon
RenderEmptyCells(table, preRender);
foreach (var day in Enumerable.Range(0, dayInWeek)) foreach (var day in Enumerable.Range(0, dayInWeek))
{ {
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day)); var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
@ -114,12 +115,10 @@ namespace ShiftScheduler.Services
table.Cell().Element(CellStyleMiddle).Text(shift.Name); table.Cell().Element(CellStyleMiddle).Text(shift.Name);
} }
} }
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek)) RenderEmptyCells(table, postRender);
{
RenderEmptyCell(table);
}
// Morning times // Morning times
RenderEmptyCells(table, preRender);
foreach (var day in Enumerable.Range(0, dayInWeek)) foreach (var day in Enumerable.Range(0, dayInWeek))
{ {
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day)); var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
@ -132,12 +131,10 @@ namespace ShiftScheduler.Services
table.Cell().Element(CellStyleMiddle).Text(""); table.Cell().Element(CellStyleMiddle).Text("");
} }
} }
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek)) RenderEmptyCells(table, postRender);
{
RenderEmptyCell(table);
}
// Afternoon times // Afternoon times
RenderEmptyCells(table, preRender);
foreach (var day in Enumerable.Range(0, dayInWeek)) foreach (var day in Enumerable.Range(0, dayInWeek))
{ {
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day)); var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
@ -150,12 +147,10 @@ namespace ShiftScheduler.Services
table.Cell().Element(CellStyleMiddle).Text(""); table.Cell().Element(CellStyleMiddle).Text("");
} }
} }
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek)) RenderEmptyCells(table, postRender);
{
RenderEmptyCell(table);
}
// Transport // Transport
RenderEmptyCells(table, preRender);
foreach (var day in Enumerable.Range(0, dayInWeek)) foreach (var day in Enumerable.Range(0, dayInWeek))
{ {
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day)); var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
@ -168,18 +163,7 @@ namespace ShiftScheduler.Services
table.Cell().Element(CellStyleLast).Text(""); table.Cell().Element(CellStyleLast).Text("");
} }
} }
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek)) RenderEmptyCells(table, postRender);
{
RenderEmptyCell(table);
}
}
private static void RenderEmptyRow(TableDescriptor table)
{
foreach (var day in Enumerable.Range(0, 7))
{
RenderEmptyCell(table);
}
} }
private static string GetTransportSummary(ShiftWithTransport? shiftWithTransport) private static string GetTransportSummary(ShiftWithTransport? shiftWithTransport)
@ -209,6 +193,19 @@ namespace ShiftScheduler.Services
var arrival = transport.ArrivalTime.ToString("HH:mm"); var arrival = transport.ArrivalTime.ToString("HH:mm");
return $" {transport.Platform}: {departure} → {arrival}"; return $" {transport.Platform}: {departure} → {arrival}";
} }
private static void RenderEmptyRow(TableDescriptor table)
{
RenderEmptyCells(table, 7);
}
private static void RenderEmptyCells(TableDescriptor table, int cellCount)
{
foreach (var _ in Enumerable.Range(0, cellCount))
{
RenderEmptyCell(table);
}
}
private static void RenderEmptyCell(TableDescriptor table) private static void RenderEmptyCell(TableDescriptor table)
{ {
@ -282,7 +279,8 @@ namespace ShiftScheduler.Services
.Padding(0) .Padding(0)
.BorderLeft(0) .BorderLeft(0)
.BorderBottom(0) .BorderBottom(0)
.BorderRight(0); .BorderRight(0)
.BorderTop(0);
} }
} }
} }