public int GetFineOfFullSchedule(ISchedule schedule, EntityStorage eStorage) { int fineResult = 0; for (int groupIndex = 0; groupIndex < eStorage.StudentSubGroups.Length; groupIndex++) { PartialSchedule groupSchedule = schedule.GetPartialSchedule(eStorage.StudentSubGroups[groupIndex]); for (int dayIndex = 0; dayIndex < Constants.DAYS_IN_WEEK; dayIndex++) { StudentsClass[] sClass = groupSchedule.GetClassesOfDay(dayIndex); for (int classIndex = 0; classIndex < sClass.Length; classIndex++) { if (sClasses.FindAll((c) => c.sClass == sClass[classIndex]).Count() > 0) { FixedClasses vipClass = sClasses.Find((c) => c.sClass == sClass[classIndex]); if (vipClass.Room != schedule.GetClassRoom(sClass[classIndex]) && vipClass.Time != schedule.GetClassPosition(sClass[classIndex]).Value.Time) { if (isBlock) return Constants.BLOCK_FINE; else fineResult += fine; } } } } } return fineResult; }
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage) { int fineResult = 0; StudentsClass tClass = schedule.GetTempClass(); int tTime = schedule.GetClassPosition(tClass).Value.Time; if (sClasses.FindAll((c) => c.sClass == tClass).Count() > 0) { FixedClasses vipClass = sClasses.Find((c) => c.sClass == tClass); if (vipClass.Room != schedule.GetClassRoom(tClass) || vipClass.Time != tTime) { if (isBlock) return Constants.BLOCK_FINE; else fineResult += fine; } } else { if (sClasses.FindAll((c) => c.Time == tTime && StudentsClass.StudentClassContainsEvenOneSubGroup(tClass, c.sClass)).Count() > 0) { if (isBlock) return Constants.BLOCK_FINE; else fineResult += fine; } } return fineResult; }
public int GetFineOfFullSchedule(ISchedule schedule, EntityStorage eStorage) { int fineResult = 0; if (favClassRooms == null) { return fineResult; } foreach (StudentsClass sClass in eStorage.Classes) { if (favClassRooms.ContainsKey(sClass)) { if (favClassRooms[sClass].Find((c) => c == schedule.GetClassRoom(sClass)) == null) { if (isBlock) return Constants.BLOCK_FINE; else fineResult += fine; } } } return fineResult; }
public int GetFineOfFullSchedule(ISchedule schedule, EntityStorage eStorage) { int fineResult = 0; if (favBuildings == null) { return fineResult; } foreach (StudentsClass sClass in eStorage.Classes) { foreach (Teacher teacher in sClass.Teacher) { if (favBuildings.ContainsKey(teacher)) { if (favBuildings[teacher].IndexOf(schedule.GetClassRoom(sClass).Housing) == -1) { if (isBlock) return Constants.BLOCK_FINE; else fineResult += fine; } } } } return fineResult; }