public UClassListModel(UClass cls) { Source = cls ?? throw new ArgumentNullException(nameof(cls)); Id = cls.Id; Time = $"{cls.StartTime:hh\\:mm}-{cls.EndTime:hh\\:mm}"; InstructorName = cls.InstructorName; Days = DayOfWeekConverter.ToString(cls.Days); Name = cls.Course.Name; NumberOfPlaces = Math.Max(0, cls.Capacity - cls.NumberOfRegisteredStudents); }
public UScheduleListModel(USchedule src) { Source = src; DayOfWeek[] srcDays = src.Days.ToArray(); Info = $"{srcDays.Length} day{(srcDays.Length == 1 ? string.Empty : "s")} | {Source.FinancialHours} hour"; ClassesModels = Source.Classes.OrderBy(x => s_daysEqualityComparer.GetHashCode(x.Days)).ThenBy(c => c.StartTime).ThenBy(c => c.EndTime).Select(c => new UClassListModel(c)).ToArray(); Days = DayOfWeekConverter.ToString(srcDays); FinancialHours = Source.FinancialHours.ToString(); FirstStartTime = Source.FirstStartTime.ToString("hh\\:mm"); LastEndTime = Source.LastEndTime.ToString("hh\\:mm"); LongestDayDuration = Source.LongestDayDuration.ToString("hh\\:mm"); MaximumBreaksTotal = Source.MaximumBreaksTotal.ToString("hh\\:mm"); }