/// <summary> /// Количество пропусков по всей группе за неделю /// </summary> /// <param name="weekNumber">Номер учебной недели</param> /// <returns></returns> public Pass GroupMissed(int weekNumber) { Pass pass = new Pass(); foreach (var entry in journal.GetEntries(weekNumber)) { if (entry.Absent > 0) if (entry.Valid) { pass.ValidHours += entry.Absent; pass.ValidLessons++; } else { pass.NotValidHours += entry.Absent; pass.NotValidLessons++; } } return pass; }
/// <summary> /// Получить количество пропусков для студента за весь семестр /// </summary> /// <param name="studId">Номер студента в журнале</param> /// <returns></returns> public Pass StudentMissed(int studId) { Pass pass = new Pass(); foreach (var entry in journal.GetEntriesForStudent(studId)) { if(entry.Absent > 0) if (entry.Valid) { pass.ValidHours += entry.Absent; pass.ValidLessons++; } else { pass.NotValidHours += entry.Absent; pass.NotValidLessons++; } } return pass; }
/// <summary> /// Получить количество пропусков для студента за период по одному предмету /// </summary> /// <param name="studId">Номер студента в журнале</param> /// <param name="subject">Предмет</param> /// <param name="from">Начало диапазона</param> /// <param name="to">Конец диапазона</param> /// <returns></returns> public Pass StudentMissed(int studId, Subject subject, DateTime from, DateTime to) { Pass pass = new Pass(); foreach (var entry in journal.GetEntriesForStudent(studId, from, to).Where(x => x.DaySchedules.Subject == subject)) { if (entry.Absent > 0) if (entry.Valid) { pass.ValidHours += entry.Absent; pass.ValidLessons++; } else { pass.NotValidHours += entry.Absent; pass.NotValidLessons++; } } return pass; }