public async Task <JsonResult> GetMapData(long fuid)
        {
            var context = await _contextDataService.GetSchoolDataObjectByUrnAsync(fuid);

            var schoolsInFederation = (await _contextDataService.GetMultipleSchoolDataObjectsByUrnsAsync(context.FederationMembers.ToList())).Select(d => new SchoolViewModel(d));

            var results = new List <SchoolSummaryViewModel>();

            foreach (var school in schoolsInFederation)
            {
                var schoolVm = new SchoolSummaryViewModel(school);
                results.Add(schoolVm);
            }

            return(Json(new { count = results.Count, results = results }, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public async Task AddSchoolsToBenchmarkListAsync(ComparisonType comparison, List <long> urnList)
        {
            var benchmarkSchoolDataObjects = await _contextDataService.GetMultipleSchoolDataObjectsByUrnsAsync(urnList);

            foreach (var schoolContextData in benchmarkSchoolDataObjects)
            {
                var benchmarkSchoolToAdd = new BenchmarkSchoolModel(schoolContextData);

                if (comparison == ComparisonType.BestInClass)
                {
                    var schoolFinancialData = await _financialDataService.GetSchoolsLatestFinancialDataModelAsync(long.Parse(benchmarkSchoolToAdd.Urn), (EstablishmentType)Enum.Parse(typeof(EstablishmentType), benchmarkSchoolToAdd.EstabType));

                    benchmarkSchoolToAdd.ProgressScore = schoolFinancialData.ProgressScore;
                }
                TryAddSchoolToBenchmarkList(benchmarkSchoolToAdd);
            }
        }
示例#3
0
        public async Task <ActionResult> Index()
        {
            var comparisonList = _benchmarkBasketService.GetSchoolBenchmarkList();

            var benchmarkSchoolDataObjects = await _contextDataService.GetMultipleSchoolDataObjectsByUrnsAsync(comparisonList.BenchmarkSchools.Select(b => long.Parse(b.Urn)).ToList());

            comparisonList.BenchmarkSchools = new List <BenchmarkSchoolModel>();

            if (benchmarkSchoolDataObjects != null)
            {
                foreach (var benchmarkSchoolDataObject in benchmarkSchoolDataObjects)
                {
                    BenchmarkSchoolModel benchmarkSchool;

                    if (benchmarkSchoolDataObject.IsFederation)
                    {
                        var federation         = new FederationViewModel(benchmarkSchoolDataObject);
                        var financialDataModel = await _financialDataService.GetSchoolsLatestFinancialDataModelAsync(federation.Id, federation.EstablishmentType);

                        benchmarkSchool = new BenchmarkSchoolModel(federation)
                        {
                            IsReturnsComplete    = financialDataModel.IsReturnsComplete,
                            WorkforceDataPresent = financialDataModel.WorkforceDataPresent
                        };
                    }
                    else
                    {
                        var school             = new SchoolViewModel(benchmarkSchoolDataObject);
                        var financialDataModel = await _financialDataService.GetSchoolsLatestFinancialDataModelAsync(school.Id, school.EstablishmentType);

                        benchmarkSchool = new BenchmarkSchoolModel(school)
                        {
                            Address              = school.Address,
                            IsReturnsComplete    = financialDataModel.IsReturnsComplete,
                            WorkforceDataPresent = financialDataModel.WorkforceDataPresent
                        };
                    }

                    comparisonList.BenchmarkSchools.Add(benchmarkSchool);
                }
            }

            comparisonList.BenchmarkSchools = comparisonList.BenchmarkSchools.OrderBy(s => SanitizeSchoolName(s.Name)).ToList();

            return(View(comparisonList));
        }