// GET: Classroom Rosters with Medical Conditions and Medications public async Task <IActionResult> RostersMedical(string session) { Enums.SessionPeriod sessionPeriod = Enums.SessionPeriod.AM; if (!string.IsNullOrEmpty(session) && session.ToUpper() == "PM") { sessionPeriod = Enums.SessionPeriod.PM; } var applicationDbContext = _context.Classes.Include(c => c.Session) .Include(c => c.Children) .Where(c => c.VBSId == this.CurrentVBSId && c.VBS.TenantId == this.TenantId && c.Session.Period == sessionPeriod) .OrderBy(c => c.SessionId) .ThenBy(c => c.Grade) .ThenBy(c => c.Name); //TODO: Use AutoMapper List <Classroom> dbClassrooms = await applicationDbContext.ToListAsync(); List <RostersMedicalViewModel> rosterMedicalVMs = new List <RostersMedicalViewModel>(); foreach (Classroom dbClass in dbClassrooms) { RostersMedicalViewModel vm = new RostersMedicalViewModel(); vm.Grade = dbClass.Grade; vm.Id = dbClass.Id; vm.Name = dbClass.Name; vm.SessionPeriod = dbClass.Session.Period; vm.Children = new List <RostersMedicalChildrenViewModel>(); List <Child> sortedChildren = dbClass.Children.OrderBy(c => c.LastName).ToList(); foreach (Child child in sortedChildren) { if (child.HasMedicalCondition || !string.IsNullOrEmpty(child.MedicalConditionDescription) || child.HasMedications || !string.IsNullOrEmpty(child.MedicationDescription)) { RostersMedicalChildrenViewModel childVM = new RostersMedicalChildrenViewModel(); childVM.Name = child.LastName + ", " + child.FirstName; childVM.MedicalConditionDescription = child.MedicalConditionDescription; childVM.MedicinesDescription = child.MedicationDescription; vm.Children.Add(childVM); } } rosterMedicalVMs.Add(vm); } return(View(rosterMedicalVMs)); }
// GET: Alphabetical listing of chidren and class assignments by session public async Task <IActionResult> AlphabeticalClassAssignments(string session) { Enums.SessionPeriod sessionPeriod = Enums.SessionPeriod.AM; if (!string.IsNullOrEmpty(session) && session.ToUpper() == "PM") { sessionPeriod = Enums.SessionPeriod.PM; } var applicationDbContext = _context.Children.Include(c => c.Session) .Include(c => c.Classroom) .Where(c => c.VBSId == this.CurrentVBSId && c.VBS.TenantId == this.TenantId && c.Session.Period == sessionPeriod) .OrderBy(c => c.LastName) .ThenBy(c => c.FirstName); //TODO: Use AutoMapper List <Child> dbChildren = await applicationDbContext.ToListAsync(); List <AlphabeticalClassAssignmentsViewModel> alphaAssignmentVMs = new List <AlphabeticalClassAssignmentsViewModel>(); foreach (Child dbChild in dbChildren) { AlphabeticalClassAssignmentsViewModel vm = new AlphabeticalClassAssignmentsViewModel(); vm.Name = dbChild.LastName + ", " + dbChild.FirstName; if (dbChild.Classroom != null) { vm.ClassAssignment = dbChild.Session.Period + " " + dbChild.Classroom.Grade.GetDisplayName() + " " + dbChild.Classroom.Name; } else { vm.ClassAssignment = "Not assigned to classroom"; } alphaAssignmentVMs.Add(vm); } return(View(alphaAssignmentVMs)); }
// GET: Children/AssignByGrade public async Task <IActionResult> Assign(string session) { Enums.SessionPeriod sessionPeriod = Enums.SessionPeriod.AM; if (!string.IsNullOrEmpty(session) && session.ToUpper() == "PM") { sessionPeriod = Enums.SessionPeriod.PM; } AssignViewModel assignByGradeViewModel = new Models.ChildrenViewModels.AssignViewModel(); //Set the default filter option values SetDefaultFilterOptions(assignByGradeViewModel); assignByGradeViewModel.SessionOption = sessionPeriod; //Get the possible class assignments await GetPossibleClassrooms(assignByGradeViewModel); //Get the children await GetChildrenForAssignment(assignByGradeViewModel); return(View(assignByGradeViewModel)); }