@{
var timelineData = GetTimelineData();
var minDate = timelineData.MinDate;
var maxDate = timelineData.MaxDate;
var totalMonths = GetMonthsDifference(minDate, maxDate);
}
@foreach (var year in GetYearMarkers(minDate, maxDate))
{
var position = GetPositionPercentage(year, minDate, totalMonths);
@year.Year
}
@foreach (var entry in Employment.OrderBy(e => e.StartDate ?? DateOnly.MaxValue))
{
var startDate = entry.StartDate ?? minDate;
var endDate = entry.EndDate ?? (entry.IsCurrent ? DateOnly.FromDateTime(DateTime.Today) : maxDate);
var left = GetPositionPercentage(startDate, minDate, totalMonths);
var width = GetWidthPercentage(startDate, endDate, totalMonths);
}
@if (Analysis?.Gaps?.Count > 0)
{
@foreach (var gap in Analysis.Gaps)
{
var left = GetPositionPercentage(gap.StartDate, minDate, totalMonths);
var width = GetWidthPercentage(gap.StartDate, gap.EndDate, totalMonths);
}
}
@if (Analysis?.Overlaps?.Count > 0)
{
@foreach (var overlap in Analysis.Overlaps)
{
var left = GetPositionPercentage(overlap.OverlapStart, minDate, totalMonths);
var width = GetWidthPercentage(overlap.OverlapStart, overlap.OverlapEnd, totalMonths);
}
}
@if (Analysis is not null && (Analysis.Gaps.Count > 0 || Analysis.Overlaps.Count > 0))
{