本文整理汇总了C#中ISchedule.GetTempClass方法的典型用法代码示例。如果您正苦于以下问题:C# ISchedule.GetTempClass方法的具体用法?C# ISchedule.GetTempClass怎么用?C# ISchedule.GetTempClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISchedule
的用法示例。
在下文中一共展示了ISchedule.GetTempClass方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
StudentSubGroup[] groups = schedule.GetTempClass().SubGroups;
int day = Constants.GetDayOfClass(schedule.GetTimeOfTempClass());
List<StudentsClass[]> groupDaySchedule = new List<StudentsClass[]>();
int fineResult = 0;
//Проверка является ли добавленная пара пятой
for (int groupIndex = 0; groupIndex < groups.Length; groupIndex++)
{
groupDaySchedule.Add(schedule.GetPartialSchedule(groups[groupIndex]).GetClassesOfDay(day));
if (schedule.GetTempClass() != groupDaySchedule[groupIndex][Constants.CLASSES_IN_DAY - 2])
{
return 0;
}
}
//Проверка отсутствия первой пары
for (int groupIndex = 0; groupIndex < groups.Length; groupIndex++)
{
if (groupDaySchedule[groupIndex][Constants.CLASSES_IN_DAY - 6] == null)
{
if (isBlock)
return Constants.BLOCK_FINE;
else
fineResult += fine;
}
}
return fineResult;
}
示例2: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
int fineResult = 0;
StudentsClass tempClass = schedule.GetTempClass();
int classTime = schedule.GetTimeOfTempClass();
int roomIndex = schedule.GetClassPosition(schedule.GetTempClass()).Value.ClassRoom;
int weekOfClass = Constants.GetWeekOfClass(classTime);
if (Array.Find(sClassesList.ToArray(), (c) => c == schedule.GetTempClass()) != null)
{
StudentsClass secondClass;
if (weekOfClass == 0)
secondClass = schedule.GetClassByRoomAndPosition(roomIndex, classTime + Constants.CLASSES_IN_DAY * Constants.DAYS_IN_WEEK);
else
secondClass = schedule.GetClassByRoomAndPosition(roomIndex, classTime - Constants.CLASSES_IN_DAY * Constants.DAYS_IN_WEEK);
if (secondClass != null)
{
int firstClassRow = ClassesInWeek.GetRow(sClasses, tempClass);
int secondClassRow = ClassesInWeek.GetRow(sClasses, secondClass);
if (secondClassRow == -1 || secondClassRow != firstClassRow)
{
if (isBlock)
return Constants.BLOCK_FINE;
else
fineResult += fine;
}
}
}
return fineResult;
}
示例3: GetFineOfAddedClass
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;
}
示例4: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
StudentSubGroup[] groups = schedule.GetTempClass().SubGroups;
int classTime = schedule.GetTimeOfTempClass();
//Считаем день недели последней добавленной пары
int dayOfWeek = Constants.GetDayOfClass(classTime);
//Считаем номер пары в этот день
int classOfDay = Constants.GetTimeOfClass(classTime);
int otherWeekDay;
int fineResult = 0;
if (dayOfWeek < Constants.DAYS_IN_WEEK)
{
otherWeekDay = Constants.DAYS_IN_WEEK;
}
else
{
otherWeekDay = -Constants.DAYS_IN_WEEK;
}
if (dayOfWeek == Constants.DAYS_IN_WEEK - 1)
{
foreach (StudentSubGroup subGroup in groups)
{
StudentsClass[] classes = schedule.GetPartialSchedule(subGroup).GetClassesOfDay(dayOfWeek + otherWeekDay);
if (classes[classOfDay] == null)
{
if (isBlock)
return Constants.BLOCK_FINE;
else
fineResult += fine;
}
}
}
return fineResult;
}
示例5: ClassAtTheSameTimeOnOtherWeek
public static bool ClassAtTheSameTimeOnOtherWeek(ISchedule schedule, StudentsClass[] sClasses, int dayOfWeek, int classOfDay)
{
StudentsClass tempClass = schedule.GetTempClass();
if (dayOfWeek < Constants.DAYS_IN_WEEK)
{
foreach (StudentSubGroup subGroup in tempClass.SubGroups)
{
StudentsClass secondClass = schedule.GetPartialSchedule(subGroup).GetClassesOfDay(dayOfWeek + Constants.DAYS_IN_WEEK)[classOfDay];
if (!IsSameClassesAtTheSameTimeOnOtherWeek(sClasses, tempClass, secondClass))
{
return false;
}
}
}
else
{
foreach (StudentSubGroup subGroup in tempClass.SubGroups)
{
StudentsClass secondClass = schedule.GetPartialSchedule(subGroup).GetClassesOfDay(dayOfWeek - Constants.DAYS_IN_WEEK)[classOfDay];
if (!IsSameClassesAtTheSameTimeOnOtherWeek(sClasses, tempClass, secondClass))
{
return false;
}
}
}
return true;
}
示例6: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
StudentSubGroup[] groups = schedule.GetTempClass().SubGroups;
int fineResult = 0;
if (IsSaturday(Constants.GetDayOfClass(schedule.GetTimeOfTempClass())))
{
for (int groupIndex = 0; groupIndex < groups.Length; groupIndex++)
{
PartialSchedule groupSchedule = schedule.GetPartialSchedule(groups[groupIndex]);
int day = Constants.GetDayOfClass(schedule.GetTimeOfTempClass());
if (Array.FindAll<StudentsClass>(groupSchedule.GetClassesOfDay(day), (c) => c != null).Count() > 0)
{
if (isBlock)
return Constants.BLOCK_FINE;
else
fineResult += fine;
}
}
}
else
{
return 0;
}
return fineResult;
}
示例7: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
int fineCount = 0;
if (lClasses == null)
{ return fineCount; }
int classTime = schedule.GetTimeOfTempClass();
int dayOfWeek = Constants.GetDayOfClass(classTime);
int lectureCount = 0;
foreach (StudentSubGroup subGroup in schedule.GetTempClass().SubGroups)
{
lectureCount = CountLectureClassesInDay(schedule.GetPartialSchedule(subGroup).GetClassesOfDay(dayOfWeek), lClasses);
if (lectureCount > 3)
{
fineCount++;
}
}
if (fineCount != 0)
{
if (isBlock)
return Constants.BLOCK_FINE;
else
return fineCount * fine;
}
return fineCount;
}
示例8: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
if (ClassesInWeek.LotOfClassesInWeek(3, sClasses, schedule, schedule.GetTempClass()))
{
if (isBlock)
return Constants.BLOCK_FINE;
else
return fine;
}
return 0;
}
示例9: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
int classRow = -1;
if ((classRow = ClassesInWeek.GetRow(sClasses, schedule.GetTempClass())) != -1)
{
if (!SameClasses.ClassesAtSameTime(schedule, classRow, sClasses))
{
if (isBlock)
return Constants.BLOCK_FINE;
else
return fine;
}
}
return 0;
}
示例10: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
Teacher[] teachers = schedule.GetTempClass().Teacher;
for (int teacherIndex = 0; teacherIndex < teachers.Length; teacherIndex++)
{
PartialSchedule teacherSchedule = schedule.GetPartialSchedule(teachers[teacherIndex]);
if (Math.Abs(GetCountClassesOnFirstWeek(teacherSchedule) - GetCountClassesOnSecondWeek(teacherSchedule)) > DIFFERENCE)
{
if (isBlock)
return Constants.BLOCK_FINE;
else
return fine;
}
}
return 0;
}
示例11: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
StudentSubGroup[] groups = schedule.GetTempClass().SubGroups;
int fineResult = 0;
for (int groupIndex = 0; groupIndex < groups.Length; groupIndex++)
{
PartialSchedule groupSchedule = schedule.GetPartialSchedule(groups[groupIndex]);
int day = Constants.GetDayOfClass(schedule.GetTimeOfTempClass());
if (GetCountClassesInRow(groupSchedule.GetClassesOfDay(day)) == 5)
{
if (isBlock)
return Constants.BLOCK_FINE;
else
fineResult += fine;
}
}
return fineResult;
}
示例12: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
int fineResult = 0;
foreach (Teacher teacher in schedule.GetTempClass().Teacher)
{
if (favClassRooms.ContainsKey(teacher))
{
if (favClassRooms[teacher].Find((c) => c == schedule.GetTempClassRooom()) == null)
{
if (isBlock)
return Constants.BLOCK_FINE;
else
fineResult += fine;
}
}
}
return fineResult;
}
示例13: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
int fineResult = 0;
if (favClassRooms == null)
{ return fineResult; }
StudentsClass tempClass = schedule.GetTempClass();
if (favClassRooms.ContainsKey(tempClass))
{
if (favClassRooms[tempClass].Find((c) => c == schedule.GetTempClassRooom()) == null)
{
if (isBlock)
return Constants.BLOCK_FINE;
else
fineResult += fine;
}
}
return fineResult;
}
示例14: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
int fineResult = 0;
if (favBuildings == null)
{ return fineResult; }
foreach (Teacher teacher in schedule.GetTempClass().Teacher)
{
if (favBuildings.ContainsKey(teacher))
{
if (favBuildings[teacher].IndexOf(schedule.GetTempClassRooom().Housing) == -1)
{
if (isBlock)
return Constants.BLOCK_FINE;
else
fineResult += fine;
}
}
}
return fineResult;
}
示例15: GetFineOfAddedClass
public int GetFineOfAddedClass(ISchedule schedule, EntityStorage eStorage)
{
int fineResult = 0;
int classTime = schedule.GetTimeOfTempClass();
//Считаем день недели последней добавленной пары
int dayOfWeek = Constants.GetDayOfClass(classTime);
//Считаем номер пары в этот день
int classOfDay = Constants.GetTimeOfClass(classTime);
foreach (StudentSubGroup subGroup in schedule.GetTempClass().SubGroups)
{
int windowsCount = Classes.CountUpTwoWindowsOfAddedClass(schedule.GetPartialSchedule(subGroup).GetClassesOfDay(dayOfWeek), classOfDay);
if (windowsCount > 0)
{
if (isBlock)
return Constants.BLOCK_FINE;
else
fineResult += windowsCount * fine;
}
}
return fineResult;
}