Files
canvasManagement/Management.Web/Shared/Semester/MonthDetail.razor

48 lines
1.3 KiB
Plaintext

@using System.Linq
@inject CoursePlanner planner
@code
{
[Parameter, EditorRequired]
public CalendarMonth Month { get; set; } = default!;
public DayOfWeek[] WeekDaysList { get => (DayOfWeek[])Enum.GetValues(typeof(DayOfWeek)); }
public string MonthName { get => Month?.DaysByWeek.First().FirstOrDefault(d => d != null)?.ToString("MMMM") ?? ""; }
}
<h3 class="text-center">
@MonthName
</h3>
<div class="row text-center fw-bold">
@foreach (DayOfWeek day in WeekDaysList)
{
<div class="@(planner.LocalCourse.DaysOfWeek.Contains(day) ? "col" : "col text-secondary")">@day</div>
}
</div>
@foreach (var week in Month.DaysByWeek)
{
<div class="row m-3">
@foreach (var day in week)
{
@* var baseClasses = "col border rounded rounded-3 pb-5 m-1";
DayOfWeek? weekDay = day?.DayOfWeek;
if (weekDay != null)
{
DayOfWeek notNullDay = weekDay ?? default;
var dayInSemester = Semester.Days.Contains(notNullDay) && day < Semester.LastDay && day > Semester.FirstDay;
var totalClasses = dayInSemester ? $"bg-light {baseClasses}" : baseClasses;
<div class="@totalClasses">@day?.Day</div>
}
else
{
<div class="@baseClasses"></div>
} *@
<Day date="day"></Day>
}
</div>
}