Пример #1
0
        // 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));
        }
Пример #2
0
        // 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));
        }
Пример #3
0
        // 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));
        }