cleanup
This commit is contained in:
parent
1f91779dac
commit
6dd909a05b
8 changed files with 15 additions and 43 deletions
|
|
@ -14,7 +14,6 @@ namespace ShiftScheduler.Services
|
||||||
static PdfExportService()
|
static PdfExportService()
|
||||||
{
|
{
|
||||||
QuestPDF.Settings.License = LicenseType.Community;
|
QuestPDF.Settings.License = LicenseType.Community;
|
||||||
QuestPDF.Settings.FontDiscoveryPaths.Add("fonts");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte[] GenerateMonthlySchedulePdf(List<ShiftWithTransport> shiftsWithTransport)
|
public byte[] GenerateMonthlySchedulePdf(List<ShiftWithTransport> shiftsWithTransport)
|
||||||
|
|
@ -99,28 +98,22 @@ namespace ShiftScheduler.Services
|
||||||
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));
|
||||||
var shift = shiftWithTransport?.Shift;
|
if (shiftWithTransport != null)
|
||||||
|
{
|
||||||
if (shift != null && shift.IsPngIcon)
|
var shift = shiftWithTransport.Shift;
|
||||||
|
if (shift.IsPngIcon)
|
||||||
{
|
{
|
||||||
// For PNG icons, embed the image
|
|
||||||
var iconPath = Path.Combine(AppContext.BaseDirectory, "wwwroot", "icons", shift.Icon);
|
var iconPath = Path.Combine(AppContext.BaseDirectory, "wwwroot", "icons", shift.Icon);
|
||||||
if (File.Exists(iconPath))
|
if (File.Exists(iconPath))
|
||||||
{
|
{
|
||||||
table.Cell().Height(24).Element(CellStyleMiddle).Image(iconPath).FitArea();
|
table.Cell().Height(24).Element(CellStyleMiddle).Image(iconPath).FitArea();
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
{
|
|
||||||
table.Cell().Element(CellStyleMiddle).Text(shift.Name);
|
table.Cell().Element(CellStyleMiddle).Text(shift.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
// For text/emoji icons, render as text
|
|
||||||
var icon = shift?.Icon ?? shift?.Name;
|
|
||||||
table.Cell().Element(CellStyleMiddle).Text(icon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||||
{
|
{
|
||||||
RenderEmptyCell(table);
|
RenderEmptyCell(table);
|
||||||
|
|
@ -130,7 +123,7 @@ namespace ShiftScheduler.Services
|
||||||
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));
|
||||||
var morningTime = shiftWithTransport?.Shift.MorningTime.Length > 0 ? $"🌅 {shiftWithTransport?.Shift.MorningTime}" : "";
|
var morningTime = shiftWithTransport?.Shift.MorningTime.Length > 0 ? $"{shiftWithTransport?.Shift.MorningTime}" : "";
|
||||||
table.Cell().Element(CellStyleMiddle).Text(morningTime);
|
table.Cell().Element(CellStyleMiddle).Text(morningTime);
|
||||||
}
|
}
|
||||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||||
|
|
@ -142,7 +135,7 @@ namespace ShiftScheduler.Services
|
||||||
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));
|
||||||
var afternoonTime = shiftWithTransport?.Shift.AfternoonTime.Length > 0 ? $"🌆 {shiftWithTransport?.Shift.AfternoonTime}" : "";
|
var afternoonTime = shiftWithTransport?.Shift.AfternoonTime.Length > 0 ? $"{shiftWithTransport?.Shift.AfternoonTime}" : "";
|
||||||
table.Cell().Element(CellStyleMiddle).Text(afternoonTime);
|
table.Cell().Element(CellStyleMiddle).Text(afternoonTime);
|
||||||
}
|
}
|
||||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||||
|
|
@ -155,7 +148,7 @@ namespace ShiftScheduler.Services
|
||||||
{
|
{
|
||||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||||
var transportInfo = GetTransportSummary(shiftWithTransport);
|
var transportInfo = GetTransportSummary(shiftWithTransport);
|
||||||
table.Cell().Element(CellStyleLast).Text(transportInfo).FontFamily("NotoEmoji-Regular");
|
table.Cell().Element(CellStyleLast).Text(transportInfo);
|
||||||
}
|
}
|
||||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||||
{
|
{
|
||||||
|
|
@ -196,7 +189,7 @@ namespace ShiftScheduler.Services
|
||||||
{
|
{
|
||||||
var departure = transport.DepartureTime.ToString("HH:mm");
|
var departure = transport.DepartureTime.ToString("HH:mm");
|
||||||
var arrival = transport.ArrivalTime.ToString("HH:mm");
|
var arrival = transport.ArrivalTime.ToString("HH:mm");
|
||||||
return $"🚂 {departure}→{arrival}";
|
return $"{transport.Platform}: {departure}→{arrival}";
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void RenderEmptyCell(TableDescriptor table)
|
private static void RenderEmptyCell(TableDescriptor table)
|
||||||
|
|
|
||||||
|
|
@ -16,25 +16,4 @@
|
||||||
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="9.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="9.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Update="fonts\NotoEmoji-Bold.ttf">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="fonts\NotoEmoji-Light.ttf">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="fonts\NotoEmoji-Medium.ttf">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="fonts\NotoEmoji-Regular.ttf">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="fonts\NotoEmoji-SemiBold.ttf">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="fonts\NotoEmoji-VariableFont_wght.ttf">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in a new issue