public static Load CalcLoad(F101Entry entry) { var lectures = CalcLec(entry); var laboratory = CalcLab(entry); var practical = CalcPr(entry); var test = CalcZach(entry); var consultations = CalcCons(entry); var exams = CalcExam(entry); var nir = CalcNir(entry); var courseDesigning = CalcCD(entry); var vkr = CalcVkr(entry); var gek = CalGek(entry); var gak = CalcGak(entry); var rma = CalcRma(entry); var rmp = CalcRmp(entry); var s = "\r\n"; File.AppendAllText(@"log.txt", s); return(new Load { Lectures = lectures, Laboratory = laboratory, Practical = practical, Test = test, Consultations = consultations, Exams = exams, Nir = nir, CourseDesigning = courseDesigning, Vkr = vkr, Gek = gek, Gak = gak, Rma = rma, Rmp = rmp, }); }
public static Subject Convert(F101Entry f101Entry) { var s = $"{f101Entry.Дисциплина} {f101Entry.Лк}\r\n"; File.AppendAllText(@"log.txt", s); return(new Subject { IsActive = true, Name = f101Entry.Дисциплина, Department = f101Entry.Кафедра, Specialty = f101Entry.Специальность, EducationForm = f101Entry.ФормаОбучения, Course = f101Entry.Курс, Semester = f101Entry.Семестр, НедельВСем = f101Entry.НедельВСем, Flow = f101Entry.ИмяПотока, GroupsCount = f101Entry.ЧислоГрупп, SubgroupsCount = f101Entry.ЧислоПодгрупп, ГруппВПотоке = f101Entry.ЧислоГрупп, Численность = f101Entry.Численность, Трудоемкость = f101Entry.Трудоемкость, ТрудоемкостьГода = f101Entry.ТрудоемкостьГода, Lectures = f101Entry.Лк, Laboratory = f101Entry.Лаб, Practical = f101Entry.Пр, Exam = f101Entry.Экзамен, Test = f101Entry.Зачет, CourseDesigning = f101Entry.КурсовоеПроектирование, PlannedLoad = CalcLoad(f101Entry) }); }
private static float CalcCD(F101Entry form) { if (form.Кр) { return(Context.CourseWorkMultiplayer * form.ПолнаяЧисленность); } if (form.Кп) { return(Context.CourseProjectMultiplayer * form.ПолнаяЧисленность); } return(0); }
private static float CalcNir(F101Entry form) { if (form.НедельВСем != 0 || form.НедельТо != "П1" && form.НедельТо != "П2") { return(0); } var nirCount = form.Пр; nirCount = nirCount.Replace("н", ""); nirCount = nirCount.Replace(",", "."); return(3 * form.ЧислоГрупп * 6 * float.Parse(nirCount, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture)); }
private static float CalcCons(F101Entry form) { if (!form.Экзамен || form.ФормаОбучения == ФормаОбучения.Ошибка) { return(0); } if (form.ФормаОбучения == ФормаОбучения.Очная) { return(2); } return(form.НедельВСем * form.ЛекцииВНеделю * form.ЧислоГрупп * Context.ConsMultiplayer / form.НедельВСем + 2); }
public bool Equals(F101Entry entry) { return(Курс == entry.Курс && Семестр == entry.Семестр && НомерПотока == entry.НомерПотока && ИмяПотока == entry.ИмяПотока && НомерПотока == entry.НомерПотока && Кафедра == entry.Кафедра && Лк == entry.Лк && Лаб == entry.Лаб && Пр == entry.Пр && Экзамен == entry.Экзамен && Зачет == entry.Зачет && Кр == entry.Кр && НедельТо == entry.НедельТо && Math.Abs(Трудоемкость - entry.Трудоемкость) < 0.1 && ТрудоемкостьГода == entry.ТрудоемкостьГода && Численность == entry.Численность && ЧислоГрупп == entry.ЧислоГрупп); }
private static float CalGek(F101Entry form) { float multiplayer = 0; if (form.Дисциплина.Contains("Государственный экзамен")) { multiplayer = 2.1f; } else if (form.Дисциплина.Contains("Итоговый междисциплинарный экзамен")) { multiplayer = 2.5f; } else if (form.Дисциплина.Contains("ВКР: С")) { multiplayer = 3; } else if (form.Дисциплина.Contains("ГИА")) { multiplayer = 5.5f; } return(multiplayer * form.ПолнаяЧисленность); }
private static float CalcRma(F101Entry form) { var multiplayer = 0; if (form.Дисциплина.Contains("Руководство магистрами")) { multiplayer = 6; } else if (form.Дисциплина.Contains("Руководство аспирантами")) { switch (form.ФормаОбучения) { case ФормаОбучения.Очная: multiplayer = 50; break; case ФормаОбучения.Заочная: multiplayer = 25; break; } } return(multiplayer * form.ПолнаяЧисленность); }
private static float CalcPr(F101Entry entry) { return(CalcAuditoryLessons(entry.НедельВСем, entry.ПрактическиеВНеделю, entry.ЧислоГрупп, entry.ФормаОбучения, entry.Кафедра)); }
private static float CalcLec(F101Entry entry) { return(CalcAuditoryLessons(entry.НедельВСем, entry.ЛекцииВНеделю, 1, entry.ФормаОбучения, entry.Кафедра)); }
private static float CalcRmp(F101Entry form) { return(form.Дисциплина.Contains("Руководство программой") ? 10 : 0); }
private static float CalcGak(F101Entry form) { var lvl = form.ИмяПотока.Substring(3, 1); float multiplayer = 0; if (form.Дисциплина.Contains("ВКР: Спец") || form.Дисциплина.Equals("ВКР")) { switch (lvl) { case Bac: multiplayer = 4; break; case Spec: multiplayer = 27; break; case Mag: multiplayer = 8; break; } } else if (form.Дисциплина.Contains("ВКР: Экон")) { switch (lvl) { case Bac: multiplayer = 2; break; case Spec: multiplayer = 3.5f; break; } } else if (form.Дисциплина.Contains("ВКР: Экол")) { switch (lvl) { case Bac: multiplayer = 1; break; case Spec: multiplayer = 1.75f; break; } } else if (form.Дисциплина.Contains("ГИА")) { switch (lvl) { case Bac: multiplayer = 19; break; case Spec: multiplayer = 27; break; case Mag: multiplayer = 37; break; } } return(multiplayer * form.ПолнаяЧисленность); }
private static float CalcExam(F101Entry form) { return((float)Math.Round(form.Экзамен ? form.ПолнаяЧисленность * Context.ExamMultiplayer : 0, 2)); }
private static float CalcZach(F101Entry form) { return((float)Math.Round(form.Зачет ? form.ПолнаяЧисленность * Context.ZachMultiplayer : 0, 2)); }
private static float CalcLab(F101Entry form) { return(CalcAuditoryLessons(form.НедельВСем, form.ЛабораторныеВНеделю, form.ЧислоПодгрупп, form.ФормаОбучения, form.Кафедра)); }