UI Improvements
This commit is contained in:
parent
2530e729ce
commit
d26b3319b9
2 changed files with 40 additions and 25 deletions
|
|
@ -230,11 +230,11 @@ namespace ShiftScheduler.Client.Pages
|
||||||
|
|
||||||
var morningTransport = shiftWithTransport.GetMorningTransportSummary();
|
var morningTransport = shiftWithTransport.GetMorningTransportSummary();
|
||||||
if (!string.IsNullOrEmpty(morningTransport))
|
if (!string.IsNullOrEmpty(morningTransport))
|
||||||
summaries.Add($"🌅 {morningTransport}");
|
summaries.Add($"🚂 {morningTransport}");
|
||||||
|
|
||||||
var afternoonTransport = shiftWithTransport.GetAfternoonTransportSummary();
|
var afternoonTransport = shiftWithTransport.GetAfternoonTransportSummary();
|
||||||
if (!string.IsNullOrEmpty(afternoonTransport))
|
if (!string.IsNullOrEmpty(afternoonTransport))
|
||||||
summaries.Add($"🌆 {afternoonTransport}");
|
summaries.Add($"🚂 {afternoonTransport}");
|
||||||
|
|
||||||
return string.Join(" | ", summaries);
|
return string.Join(" | ", summaries);
|
||||||
}
|
}
|
||||||
|
|
@ -250,10 +250,12 @@ namespace ShiftScheduler.Client.Pages
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
|
|
||||||
var times = new List<string>();
|
var times = new List<string>();
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(shift.MorningTime))
|
if (!string.IsNullOrEmpty(shift.MorningTime))
|
||||||
times.Add(shift.MorningTime);
|
times.Add($"🌅 {shift.MorningTime}");
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(shift.AfternoonTime))
|
if (!string.IsNullOrEmpty(shift.AfternoonTime))
|
||||||
times.Add(shift.AfternoonTime);
|
times.Add($"🌆 {shift.AfternoonTime}");
|
||||||
|
|
||||||
return string.Join(" | ", times);
|
return string.Join(" | ", times);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -72,6 +72,7 @@ namespace ShiftScheduler.Services
|
||||||
foreach (var week in weeks)
|
foreach (var week in weeks)
|
||||||
{
|
{
|
||||||
RenderShiftForWeek(table, week, scheduleDictionary);
|
RenderShiftForWeek(table, week, scheduleDictionary);
|
||||||
|
RenderEmptyRow(table);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -81,6 +82,8 @@ namespace ShiftScheduler.Services
|
||||||
{
|
{
|
||||||
var weekDates = week.ToList();
|
var weekDates = week.ToList();
|
||||||
var dayInWeek = weekDates.Count;
|
var dayInWeek = weekDates.Count;
|
||||||
|
|
||||||
|
// Date
|
||||||
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)");
|
||||||
|
|
@ -91,39 +94,7 @@ namespace ShiftScheduler.Services
|
||||||
RenderEmptyCell(table);
|
RenderEmptyCell(table);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
// Icon
|
||||||
{
|
|
||||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
|
||||||
var shiftName = shiftWithTransport?.Shift.Name ?? "";
|
|
||||||
table.Cell().Element(CellStyleMiddle).Text(shiftName);
|
|
||||||
}
|
|
||||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
|
||||||
{
|
|
||||||
RenderEmptyCell(table);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
|
||||||
{
|
|
||||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
|
||||||
var morningTime = shiftWithTransport?.Shift.MorningTime ?? "";
|
|
||||||
table.Cell().Element(CellStyleMiddle).Text(morningTime);
|
|
||||||
}
|
|
||||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
|
||||||
{
|
|
||||||
RenderEmptyCell(table);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
|
||||||
{
|
|
||||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
|
||||||
var afternoonTime = shiftWithTransport?.Shift.AfternoonTime ?? "";
|
|
||||||
table.Cell().Element(CellStyleMiddle).Text(afternoonTime);
|
|
||||||
}
|
|
||||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
|
||||||
{
|
|
||||||
RenderEmptyCell(table);
|
|
||||||
}
|
|
||||||
|
|
||||||
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));
|
||||||
|
|
@ -135,6 +106,43 @@ namespace ShiftScheduler.Services
|
||||||
RenderEmptyCell(table);
|
RenderEmptyCell(table);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Shifname
|
||||||
|
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||||
|
{
|
||||||
|
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||||
|
var shiftName = shiftWithTransport?.Shift.Name ?? "";
|
||||||
|
table.Cell().Element(CellStyleMiddle).Text(shiftName);
|
||||||
|
}
|
||||||
|
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||||
|
{
|
||||||
|
RenderEmptyCell(table);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Morning times
|
||||||
|
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||||
|
{
|
||||||
|
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||||
|
var morningTime = $"🌅 {shiftWithTransport?.Shift.MorningTime}";
|
||||||
|
table.Cell().Element(CellStyleMiddle).Text(morningTime);
|
||||||
|
}
|
||||||
|
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||||
|
{
|
||||||
|
RenderEmptyCell(table);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Afternoon times
|
||||||
|
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||||
|
{
|
||||||
|
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||||
|
var afternoonTime = $"🌆 {shiftWithTransport?.Shift.AfternoonTime}";
|
||||||
|
table.Cell().Element(CellStyleMiddle).Text(afternoonTime);
|
||||||
|
}
|
||||||
|
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||||
|
{
|
||||||
|
RenderEmptyCell(table);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Transport
|
||||||
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));
|
||||||
|
|
@ -147,6 +155,14 @@ namespace ShiftScheduler.Services
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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)
|
||||||
{
|
{
|
||||||
if (shiftWithTransport == null) return "-";
|
if (shiftWithTransport == null) return "-";
|
||||||
|
|
@ -155,28 +171,25 @@ namespace ShiftScheduler.Services
|
||||||
|
|
||||||
if (shiftWithTransport.MorningTransport != null && !string.IsNullOrEmpty(shiftWithTransport.MorningTransport.DepartureTime))
|
if (shiftWithTransport.MorningTransport != null && !string.IsNullOrEmpty(shiftWithTransport.MorningTransport.DepartureTime))
|
||||||
{
|
{
|
||||||
var morningInfo = FormatTransportConnection(shiftWithTransport.MorningTransport, "Morning");
|
var morningInfo = FormatTransportConnection(shiftWithTransport.MorningTransport);
|
||||||
transportLines.Add(morningInfo);
|
transportLines.Add(morningInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shiftWithTransport.AfternoonTransport != null && !string.IsNullOrEmpty(shiftWithTransport.AfternoonTransport.DepartureTime))
|
if (shiftWithTransport.AfternoonTransport != null && !string.IsNullOrEmpty(shiftWithTransport.AfternoonTransport.DepartureTime))
|
||||||
{
|
{
|
||||||
var afternoonInfo = FormatTransportConnection(shiftWithTransport.AfternoonTransport, "Afternoon");
|
var afternoonInfo = FormatTransportConnection(shiftWithTransport.AfternoonTransport);
|
||||||
transportLines.Add(afternoonInfo);
|
transportLines.Add(afternoonInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
return transportLines.Count > 0 ? string.Join("\n", transportLines) : "-";
|
return transportLines.Count > 0 ? string.Join("\n", transportLines) : "-";
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string FormatTransportConnection(TransportConnection transport, string timeOfDay)
|
private static string FormatTransportConnection(TransportConnection transport)
|
||||||
{
|
{
|
||||||
var departure = DateTime.TryParse(transport.DepartureTime, out var dep) ? dep.ToString("HH:mm") : transport.DepartureTime;
|
var departure = DateTime.TryParse(transport.DepartureTime, out var dep) ? dep.ToString("HH:mm") : transport.DepartureTime;
|
||||||
var arrival = DateTime.TryParse(transport.ArrivalTime, out var arr) ? arr.ToString("HH:mm") : transport.ArrivalTime;
|
var arrival = DateTime.TryParse(transport.ArrivalTime, out var arr) ? arr.ToString("HH:mm") : transport.ArrivalTime;
|
||||||
|
|
||||||
var mainJourney = transport.Sections?.FirstOrDefault()?.Journey;
|
return $"🚂 {departure}→{arrival}";
|
||||||
var trainInfo = mainJourney != null ? $"{mainJourney.Category} {mainJourney.Number}" : "Train";
|
|
||||||
|
|
||||||
return $"{timeOfDay}: {trainInfo} {departure}→{arrival}";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void RenderEmptyCell(TableDescriptor table)
|
private static void RenderEmptyCell(TableDescriptor table)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue