예제 #1
0
        public ActionResult GetAberdeenProfileData(string sSchoolType)
        {
            List <string>              templistSelectedSchoolname = new List <string>();
            List <StudentObj>          listAllPupils          = new List <StudentObj>();
            List <AaeAttendanceObj>    listAaeAttendancelists = new List <AaeAttendanceObj>();
            List <ExclusionStudentObj> listExclusionPupils    = new List <ExclusionStudentObj>();

            List <School> listSchoolType = GetSchoolType();
            bool          yesrIsSelected = false;
            Year          selectedYear   = null;

            vmIndexAberdeenCityProfilesModel = Session["vmIndexAberdeenCityProfilesModel"] as IndexAberdeenProfileViewModel;

            List <Year> templistYears = vmIndexAberdeenCityProfilesModel.listYears;

            if (Request["stringYear"] != null)
            {
                yesrIsSelected = true;
                string year = Request["stringYear"].ToString();
                vmIndexAberdeenCityProfilesModel.stringYear = year;
                selectedYear = templistYears.Where(x => x.year.Contains(year)).FirstOrDefault();
            }

            if (yesrIsSelected)
            {
                listAllPupils          = GetListAllPupils(rpGeneric2nd, selectedYear, sSchoolType);
                listAaeAttendancelists = GetAaeAttendanceLists(rpGeneric2nd, sSchoolType, selectedYear, new List <School>(), listAllPupils);
                listExclusionPupils    = GetListExclusionPupils(rpGeneric2nd, selectedYear, sSchoolType);
            }

            vmIndexAberdeenCityProfilesModel.profiletitle = "Aberdeen City";

            //store selected school into view model
            //vmIndexAberdeenCityProfilesModel.listSelectedSchoolname = listSelectedSchoolname;
            vmIndexAberdeenCityProfilesModel.selectedYear  = selectedYear;
            vmIndexAberdeenCityProfilesModel.listAllPupils = listAllPupils;
            //setting english data and table
            List <DataSeries> temp = GetDataSeriesForAberdeenCity("englishlevel", listAllPupils, listSchoolType, selectedYear);

            vmIndexAberdeenCityProfilesModel.listDataSeriesEnglishLevel = temp;
            vmIndexAberdeenCityProfilesModel.dataTableEnglishLevel      = GenerateTransposedTable(CreateDataTable(temp, vmIndexAberdeenCityProfilesModel.DicEnglishLevel, "Level of English", "percentage"));
            //setting ethnic data and table
            temp = GetDataSeriesForAberdeenCity("ethnicity", listAllPupils, listSchoolType, selectedYear);
            vmIndexAberdeenCityProfilesModel.listDataSeriesEthnicBackground = temp;
            vmIndexAberdeenCityProfilesModel.dataTableEthnicBackground      = GenerateTransposedTable(CreateDataTable(temp, vmIndexAberdeenCityProfilesModel.DicEthnicBG, "Ethnicity", "percentage"));
            //setting Nationality data and table
            temp = GetDataSeriesForAberdeenCity("nationality", listAllPupils, listSchoolType, selectedYear);
            vmIndexAberdeenCityProfilesModel.listDataSeriesNationality = temp;
            vmIndexAberdeenCityProfilesModel.dataTableNationality      = GenerateTransposedTable(CreateDataTable(temp, vmIndexAberdeenCityProfilesModel.DicNationalIdentity, "Nationality", "percentage"));
            //setting Stage data and table
            temp = GetDataSeriesForAberdeenCity("stage", listAllPupils, listSchoolType, selectedYear);
            vmIndexAberdeenCityProfilesModel.listDataSeriesStage = temp;
            vmIndexAberdeenCityProfilesModel.dataTableStage      = CreateDataTaleWithCheckSumTotal(temp, "School Roll", "number");

            vmIndexAberdeenCityProfilesModel.dataTableStagePrimary   = CreateDataTaleWithTotal(temp.Where(x => x.school.schooltype.Equals("2")).ToList(), GetDicStage(rpGeneric2nd, "2"), "Stage", "number");
            vmIndexAberdeenCityProfilesModel.dataTableStageSecondary = CreateDataTaleWithTotal(temp.Where(x => x.school.schooltype.Equals("3")).ToList(), GetDicStage(rpGeneric2nd, "3"), "Stage", "number");
            vmIndexAberdeenCityProfilesModel.dataTableStageSpecial   = CreateDataTaleWithTotal(temp.Where(x => x.school.schooltype.Equals("4")).ToList(), GetDicStage(rpGeneric2nd, "4"), "Stage", "number");

            //vmIndexAberdeenCityProfilesModel.dataTableStage = CreateDataTaleWithTotal(temp, vmIndexAberdeenCityProfilesModel.DicStage, "Stage", "number");
            //setting FreeSchoolMeal data and table
            temp = GetDataSeriesForAberdeenCity("freemeal", listAllPupils, listSchoolType, selectedYear);
            vmIndexAberdeenCityProfilesModel.listDataSeriesFreeMeal  = temp;
            vmIndexAberdeenCityProfilesModel.dataTableFreeSchoolMeal = GenerateTransposedTable(CreateDataTable(temp, vmIndexAberdeenCityProfilesModel.DicFreeMeal, "Free School Meal Entitlement", "percentage"));

            //setting LookAfter data and table
            temp = GetDataSeriesForAberdeenCity("lookafter", listAllPupils, listSchoolType, selectedYear);
            vmIndexAberdeenCityProfilesModel.listDataSeriesLookedAfter = temp;
            vmIndexAberdeenCityProfilesModel.dataTableLookedAfter      = GenerateTransposedTable(CreateDataTaleWithTotal(temp, vmIndexAberdeenCityProfilesModel.DicLookedAfter, "Looked After Children", "no+%"));
            //Attendance
            vmIndexAberdeenCityProfilesModel.showTableAttendance = listAaeAttendancelists.Count == 0 ? false : true;
            temp = listAaeAttendancelists.Count == 0 ? new List <DataSeries>() : GetAttendanceDataSeriesForAberdeenCity("attendance", listAaeAttendancelists, listSchoolType, selectedYear);
            vmIndexAberdeenCityProfilesModel.listDataSeriesAttendance = temp;
            vmIndexAberdeenCityProfilesModel.dataTableAttendance      = temp.Count == 0 ? null : GenerateTransposedTable(CreateDataTable(temp, "School Attendance", "percentage"));

            //Exclusion
            vmIndexAberdeenCityProfilesModel.showTableExclusion = listExclusionPupils.Count == 0 ? false : true;
            temp = listExclusionPupils.Count == 0 ? new List <DataSeries>() : GetExclusionDataSeriesForAberdeenCity("exclusion", listExclusionPupils, listSchoolType, selectedYear);
            vmIndexAberdeenCityProfilesModel.listDataSeriesExclusion = temp;
            vmIndexAberdeenCityProfilesModel.dataTableExclusion      = temp.Count == 0 ? null : GenerateTransposedTable(CreateDataTable(temp, "Exclusions-Annual", "number"));

            Session["vmIndexAberdeenCityProfilesModel"] = vmIndexAberdeenCityProfilesModel;
            return(View("IndexAberdeenCity", vmIndexAberdeenCityProfilesModel));
        }
예제 #2
0
 public IndexAberdeenProfileController(IGenericRepository2nd rpGeneric2nd)
 {
     this.rpGeneric2nd = rpGeneric2nd; //connect to accdatastore database in MySQL
     this.vmIndexAberdeenCityProfilesModel = new IndexAberdeenProfileViewModel();
 }