public PartialViewResult CreateSubGr(int num, string sel) { ScheduleContext sc = new ScheduleContext(); List <EditUserViewModel> listst = sc.GetStudentsGroup(sel); List <string> stud = new List <string>(); foreach (var y in listst) { stud.Add(y.FIO); } ViewData["num"] = num; TempData["lststud"] = listst; TempData.Keep("lststud"); TempData["group"] = sel; TempData.Keep("group"); ViewData["ListSt[]"] = new SelectList(stud); return(PartialView("ListStudView")); }
public async Task <ActionResult> CreateGrid(string[] marks, string[] subgro, string[] prot) { ScheduleContext sc = new ScheduleContext(); Grid gr = (Grid)TempData["Mod"]; NapravContext nc = new NapravContext(); string group = gr.Group; string g = ""; bool pun = false; int numsem = 0; int numgr = 0; int countsub = 0; int countsub1 = 0; int countsub2 = 0; int tekcount = 0; int su = 0; Marks m = new Marks(); for (int i = 0; i < marks.Count(); i++) { if (marks[i] == "1") { m.M1 = true; } if (marks[i] == "2") { if (gr.KindOfSubject == "Лекция") { m.M2 = ""; } else { m.M6 = true; m.M7 = ""; } } if (gr.KindOfSubject == "Практическое занятие") { if (marks[i] == "3") { m.M5 = ""; } if (marks[i] == "4") { m.M8 = true; } } } for (int i = 0; i < prot.Count(); i++) { if (gr.KindOfSubject == "Лабораторная работа") { if (prot[i] == "6") { m.M3 = ""; break; } if (prot[i] == "7") { m.M4 = true; break; } } } if (subgro != null) { if (subgro[0] == "3") { su = 1; } else if (subgro[0] == "4") { su = 2; } else { su = 3; } gr.subgr = su + " подгруппа"; } for (int i = 0; i < group.Count(); i++) { if (Char.IsPunctuation(group[i])) { pun = true; if (Char.IsLetter(group[i + 1])) { g += group[i + 1]; } } else if (!pun) { g += group[i]; } if (Char.IsNumber(group[i])) { numgr = Convert.ToInt32(group[i].ToString()); if (gr.Date.Month <= 6) { numsem = numgr * 2; } else { numsem = numgr * 2 - 1; } break; } } gr.Semestr = numsem + " семестр"; string coll = nc.GetNameColl(g); List <Disci> d = (List <Disci>) await nc.GetDis(coll, gr.SubjectName); RabProg rp = d[0].rp; Dictionary <int, DateTime> numDate = new Dictionary <int, DateTime>(); ScheduleView scv = sc.GetSchedule(User.Identity.Name); bool se = false; bool s1s2 = false; foreach (var w in scv.Weeks) { foreach (var day in w.Days) { if (day.Subjects != null && day.Subjects.Count != 0) { foreach (var sub in day.Subjects) { if (!sub.Cancel && sub.SubjectName == gr.SubjectName && sub.KindOfSubject == gr.KindOfSubject) { if (gr.KindOfSubject == "Лабораторная работа") { if (sub.SubGroup[0] && sub.SubGroup[1]) { s1s2 = true; } if (sub.SubGroup[0]) { countsub++; } if (sub.SubGroup[1]) { countsub1++; } if (sub.SubGroup[2]) { countsub2++; } } else { countsub++; } } } } if (se = (day.Date == gr.Date)) { if (su == 2) { tekcount = countsub1; } else if (su == 3) { tekcount = countsub2; } else { tekcount = countsub; } break; } } if (se) { break; } } if (s1s2 && su != 3) { tekcount /= 2; } List <string> Them = new List <string>(); foreach (var s in rp.Sect) { if (s.NumSem == numsem.ToString()) { foreach (var s1 in s.Sections) { if (gr.KindOfSubject == "Лабораторная работа") { foreach (var s2 in s1.SectLabs) { if (s2.LaborLabClass > 4) { for (int i = 0; i < (s2.LaborLabClass / 4); i++) { Them.Add(s2.NameLabW); } } else { Them.Add(s2.NameLabW); } } } else if (gr.KindOfSubject == "Практическое занятие") { foreach (var s2 in s1.SectPracs) { if (s2.LaborPracClass > 2) { for (int i = 0; i < (s2.LaborPracClass / 2); i++) { Them.Add(s2.NamePracW); } } else { Them.Add(s2.NamePracW); } } } else { foreach (var s2 in s1.SectLecs) { if (s2.LaborLecClass > 2) { for (int i = 0; i < (s2.LaborLecClass / 2); i++) { Them.Add(s2.NameTheme); } } else { Them.Add(s2.NameTheme); } } } } } } if (tekcount <= Them.Count) { gr.Theme = Them[tekcount - 1]; } else { gr.Theme = ""; } if (gr.KindOfSubject == "Лабораторная работа") { List <SubgroupView> ls = sc.GetSubgroup(gr.Group, gr.SubjectName, User.Identity.Name); gr.StudMarks = new List <StudMarks>(); foreach (var l in ls) { foreach (var s in l.Subgroups) { if (su.ToString() == s.NumSubgroup) { foreach (var k in s.Students) { StudMarks sm = new StudMarks() { IdStud = k.Id, FIO = k.FIO, UserNameStud = k.UserName, marks = m, listMarks = new Marks(), Comment = "" }; gr.StudMarks.Add(sm); } } } } } else { List <EditUserViewModel> stud = sc.GetStudentsGroup(gr.Group); gr.StudMarks = new List <StudMarks>(); foreach (var s in stud) { StudMarks sm = new StudMarks() { IdStud = s.Id, FIO = s.FIO, UserNameStud = s.UserName, marks = m, listMarks = new Marks(), Comment = "" }; gr.StudMarks.Add(sm); } } Grid kfk = (Grid)ViewData.Model; return(View("Grid", gr)); }