示例#1
0
        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));
        }
示例#2
0
        // 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));
        }