mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-27 07:58:31 -06:00
term month generation is correct
This commit is contained in:
@@ -5,11 +5,20 @@ public class SemesterPlanner
|
||||
public IEnumerable<CalendarMonth> Months { get; }
|
||||
public SemesterPlanner(EnrollmentTermModel canvasTerm)
|
||||
{
|
||||
var monthsInTerm =
|
||||
1 + ((canvasTerm.EndAt?.Year - canvasTerm.StartAt?.Year) * 12)
|
||||
+ canvasTerm.EndAt?.Month - canvasTerm.StartAt?.Month
|
||||
?? throw new Exception($"Canvas Term must have a start and end date. Term: {canvasTerm.Id}, start: {canvasTerm.StartAt}, end: {canvasTerm.EndAt}");
|
||||
var start = canvasTerm.StartAt ?? throw new Exception($"Canvas Term must have a start date. Term: {canvasTerm.Id}");
|
||||
var end = canvasTerm.EndAt ?? throw new Exception($"Canvas Term must have a end date. Term: {canvasTerm.Id}");
|
||||
|
||||
Months = Enumerable.Range(0, monthsInTerm).Select(_ => new CalendarMonth(2022, 1));
|
||||
var monthsInTerm =
|
||||
1 + ((end.Year - start.Year) * 12)
|
||||
+ end.Month - start.Month;
|
||||
|
||||
Months = Enumerable
|
||||
.Range(0, monthsInTerm)
|
||||
.Select(monthDiff =>
|
||||
{
|
||||
var month = ((start.Month + monthDiff - 1) % 12) + 1;
|
||||
var year = start.Year + ((start.Month + monthDiff - 1) / 12);
|
||||
return new CalendarMonth(year, month);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user