public ActionResult SchoolView(string selectedDate, string schoolName) { var tday = _ren.TeachableDays.OrderByDescending(x => x.TeachableDays).Take(10); var startDay = tday.First().TeachableDays; if (!string.IsNullOrEmpty(selectedDate)) { var date = Convert.ToDateTime(selectedDate); startDay = tday.FirstOrDefault(x => x.TeachableDays == date).TeachableDays; } var tenEntryDaysBack = _ren.TeachableDays.Where(x => x.TeachableDays <= startDay).OrderByDescending(x => x.TeachableDays).Take(10).ToList().Last().TeachableDays; var principalView = _db.SchoolTeachersWithADLogins.Where(x => x.Organization_Name == schoolName && x.COURSE_TITLE != "Kindergarten" && x.COURSE_TITLE != "PS - 6th SpEd").ToList(); // select all minutes from the school the principal belongs to var pivm = new PrincipalIndexViewModel(); foreach (var item in principalView) { var mr = new MeetingReq(); var name = item.TeacherFirstName + " " + item.TeacherLastName; var sumMinutes = _db.EnteredPeMinutes.Where(x => x.InstructionTime > tenEntryDaysBack && x.InstructionTime <= startDay && x.TeacherName == name).Sum(x => x.Minutes); if (!(sumMinutes >= 200)) { continue; } mr.TeacherName = name; mr.Minutes = sumMinutes; pivm.MeetReq.Add(mr); } foreach (var item in principalView) { var nmr = new NotMeetingReq(); var name = item.TeacherFirstName + " " + item.TeacherLastName; var sumMinutes = _db.EnteredPeMinutes.Where(x => x.InstructionTime > tenEntryDaysBack && x.InstructionTime <= startDay && x.TeacherName == name).Sum(x => x.Minutes); if (!(sumMinutes < 200 || sumMinutes == null)) { continue; } nmr.TeacherName = name; nmr.Minutes = sumMinutes; if (sumMinutes == null) { nmr.Minutes = 0; } pivm.NotReq.Add(nmr); } foreach (var item in principalView) { var g = new Graphing(); var name = item.TeacherFirstName + " " + item.TeacherLastName; var sumMinutes = _db.EnteredPeMinutes.Where(x => x.InstructionTime > tenEntryDaysBack && x.InstructionTime <= startDay && x.TeacherName == name).Sum(x => x.Minutes); g.TeacherName = name; g.Minutes = sumMinutes; pivm.Graph.Add(g); } pivm.School = schoolName; pivm.Date = startDay.ToShortDateString(); pivm.DateStart = tenEntryDaysBack.ToShortDateString(); pivm.DateEnd = startDay.ToShortDateString(); pivm.MeetReq = pivm.MeetReq.ToList(); pivm.NotReq = pivm.NotReq.ToList(); pivm.Graph = pivm.Graph.ToList(); // end of the data for the graph in admin view return(View(pivm)); }
// GET: /Principal/Index public ActionResult Index(string selectedDate) { var enteredBadgeString = User.Identity.Name; var selectedPrincipal = _db.SchoolToPrincipals.FirstOrDefault(i => i.BADGE_NUM == enteredBadgeString); var selectedSchool = selectedPrincipal.ORGANIZATION_NAME; ViewBag.Name = selectedPrincipal.Principal; // Find the first day teachable day by default var startDay = _ren.TeachableDays.OrderByDescending(x => x.TeachableDays).First().TeachableDays; if (!string.IsNullOrEmpty(selectedDate)) { // Use the input variable if selected startDay = Convert.ToDateTime(selectedDate); } var tenEntryDaysBack = _ren.TeachableDays.Where(x => x.TeachableDays <= startDay).OrderByDescending(x => x.TeachableDays).Take(10).ToList().Last().TeachableDays; var principalView = _db.SchoolTeachersWithADLogins.Where(x => x.Organization_Name == selectedSchool && x.COURSE_TITLE != "Kindergarten" && x.COURSE_TITLE != "PS - 6th SpEd").ToList(); // select all minutes from the school the principal belongs to var pivm = new PrincipalIndexViewModel(); foreach (var item in principalView) { var mr = new MeetingReq(); var name = item.TeacherFirstName + " " + item.TeacherLastName; var sumMinutes = _db.EnteredPeMinutes.Where(x => x.InstructionTime > tenEntryDaysBack && x.InstructionTime <= startDay && x.TeacherName == name).Sum(x => x.Minutes); if (!(sumMinutes >= 200)) { continue; } mr.TeacherName = name; mr.Minutes = sumMinutes; pivm.MeetReq.Add(mr); } foreach (var item in principalView) { var nmr = new NotMeetingReq(); var name = item.TeacherFirstName + " " + item.TeacherLastName; var sumMinutes = _db.EnteredPeMinutes.Where(x => x.InstructionTime > tenEntryDaysBack && x.InstructionTime <= startDay && x.TeacherName == name).Sum(x => x.Minutes); if (!(sumMinutes < 200 || sumMinutes == null)) { continue; } nmr.TeacherName = name; nmr.Minutes = sumMinutes; if (sumMinutes == null) { nmr.Minutes = 0; } pivm.NotReq.Add(nmr); } foreach (var item in principalView) { var g = new Graphing(); var name = item.TeacherFirstName + " " + item.TeacherLastName; var sumMinutes = _db.EnteredPeMinutes.Where(x => x.InstructionTime > tenEntryDaysBack && x.InstructionTime <= startDay && x.TeacherName == name).Sum(x => x.Minutes); g.TeacherName = name; g.Minutes = sumMinutes; pivm.Graph.Add(g); } pivm.Date = startDay.ToShortDateString(); pivm.DateStart = tenEntryDaysBack.ToShortDateString(); pivm.DateEnd = startDay.ToShortDateString(); pivm.MeetReq = pivm.MeetReq.ToList(); pivm.NotReq = pivm.NotReq.ToList(); pivm.Graph = pivm.Graph.ToList(); // end of the data for the graph in admin view return(View(pivm)); }