public async Task TryAddSchoolToBenchmarkListAsync(long urn) { var schoolDataObject = await _contextDataService.GetSchoolDataObjectByUrnAsync(urn); if (schoolDataObject != null) { var benchmarkSchool = new SchoolViewModel(schoolDataObject, null); try { AddSchoolToBenchmarkList(benchmarkSchool); } catch (ApplicationException) { }//ignore duplicate add } }
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)); }
public async Task <ActionResult <SelfAssesmentModel> > GetAsync(long urn) { try { var schoolContextData = await _contextDataService.GetSchoolDataObjectByUrnAsync(urn); var financeType = (EstablishmentType)Enum.Parse(typeof(EstablishmentType), schoolContextData.FinanceType); var schoolFinancialData = await _financialDataService.GetSchoolFinancialDataObjectAsync(urn, financeType, CentralFinancingType.Include); if (schoolContextData.IsFederation) { var selfAssesmentModel = await BuildSelfAssesmentModel(urn, schoolContextData.FederationName, financeType, schoolContextData, schoolFinancialData); return(selfAssesmentModel); } else { var selfAssesmentModel = await BuildSelfAssesmentModel(urn, schoolContextData.EstablishmentName, financeType, schoolContextData, schoolFinancialData); return(selfAssesmentModel); } } catch (Exception ex) { _logger.LogError(ex.Message); return(NoContent()); } }
private async Task <ActionResult> SearchSchoolByUrnOrLaEstab(string nameId, bool openOnly = false, string orderby = "", int page = 1, string referrer = "home/index") { var schoolComparisonList = _schoolBenchmarkListService.GetSchoolBenchmarkList(); dynamic searchResp = null; var errorMessage = _valService.ValidateSchoolIdParameter(nameId); if (string.IsNullOrEmpty(errorMessage)) { try { if (IsLaEstab(nameId)) { searchResp = await _contextDataService.GetSchoolDataObjectByLaEstabAsync(nameId, openOnly); if (searchResp.Count == 0) { return(ErrorView(SearchTypes.SEARCH_BY_LA_ESTAB, referrer, SearchErrorMessages.NO_SCHOOL_NAME_RESULTS, schoolComparisonList)); } else if (searchResp.Count == 1) { return(RedirectToAction("Index", "School", new { urn = (searchResp as List <EdubaseDataObject>).First().URN })); } else { searchResp = await GetSearchResultsAsync(nameId, SearchTypes.SEARCH_BY_LA_ESTAB, null, null, null, null, openOnly, orderby, page); return(View("SearchResults", GetSearchedSchoolViewModelList(searchResp, schoolComparisonList, orderby, page, SearchTypes.SEARCH_BY_NAME_ID, nameId, null, null))); } } else { searchResp = await _contextDataService.GetSchoolDataObjectByUrnAsync(long.Parse(nameId)); return(RedirectToAction("Index", "School", new { urn = searchResp.URN })); } } catch (Exception) { return(ErrorView(SearchTypes.SEARCH_BY_LA_ESTAB, referrer, SearchErrorMessages.NO_SCHOOL_NAME_RESULTS, schoolComparisonList)); } } else { return(ErrorView(SearchTypes.SEARCH_BY_NAME_ID, referrer, errorMessage, schoolComparisonList)); } }
/// <summary> /// Step 1 - Basic /// </summary> /// <param name="urn"></param> /// <param name="comparisonType"></param> /// <returns></returns> public async Task <ViewResult> SelectBasketSize(long urn, ComparisonType comparisonType) { ViewBag.URN = urn; ViewBag.ComparisonType = comparisonType; ViewBag.BasketSize = ComparisonListLimit.DEFAULT; var benchmarkSchool = new SchoolViewModel(await _contextDataService.GetSchoolDataObjectByUrnAsync(urn), _benchmarkBasketService.GetSchoolBenchmarkList()); return(View("SelectBasketSize", benchmarkSchool)); }
public async Task BuildCoreAsync(long urn) { SchoolVM = new SchoolViewModel(await _contextDataService.GetSchoolDataObjectByUrnAsync(urn), _schoolBenchmarkListService.GetSchoolBenchmarkList()); SchoolVM.LatestTerm = await LatestTermAsync(SchoolVM.EstablishmentType); }
public async Task <PartialViewResult> GetBenchmarkControls(long urn) { return(PartialView("Partials/BenchmarkControlButtons", new SchoolViewModel(await _contextDataService.GetSchoolDataObjectByUrnAsync(urn), _benchmarkBasketService.GetSchoolBenchmarkList()))); }
public async Task <ActionResult> Search( string nameId, string searchType, string suggestionUrn, string locationorpostcode, string locationCoordinates, string laCodeName, decimal?radius, bool openOnly = false, string orderby = "", int page = 1, string tab = "list", string referrer = "home/index") { ViewBag.OpenOnly = openOnly; ViewBag.SearchMethod = "Manual"; ViewBag.LaCodeName = laCodeName; var comparisonList = _schoolBenchmarkListService.GetSchoolBenchmarkList(); var manualComparisonList = _manualBenchmarkListService.GetManualBenchmarkList(); EdubaseDataObject contextDataObject = null; if (!string.IsNullOrEmpty(comparisonList.HomeSchoolUrn)) { await _contextDataService.GetSchoolDataObjectByUrnAsync(int.Parse(comparisonList.HomeSchoolUrn)); } dynamic searchResp = null; string errorMessage; switch (searchType) { case SearchTypes.SEARCH_BY_NAME_ID: if (string.IsNullOrEmpty(comparisonList.HomeSchoolUrn)) { var vm = new SchoolViewModelWithNoDefaultSchool(manualComparisonList); return(View("AddSchoolsManually", vm)); } else { var vm = new SchoolViewModel(contextDataObject, comparisonList, manualComparisonList); return(View("AddSchoolsManually", vm)); } case SearchTypes.SEARCH_BY_LA_CODE_NAME: if (!IsNumeric(laCodeName)) { errorMessage = _valService.ValidateLaNameParameterForComparison(laCodeName); if (string.IsNullOrEmpty(errorMessage)) { var exactMatch = _laSearchService.SearchExactMatch(laCodeName); if (exactMatch != null) { laCodeName = exactMatch.Id; return(await Search(nameId, searchType, suggestionUrn, locationorpostcode, locationCoordinates, laCodeName, radius, openOnly, orderby, page, tab)); } var similarMatch = _laSearchService.SearchContains(laCodeName); if (similarMatch.Count == 0) { var svm = new SearchViewModel(comparisonList, searchType) { SearchType = searchType, Authorities = _laService.GetLocalAuthorities(), ErrorMessage = SearchErrorMessages.NO_LA_RESULTS }; return(View("Index", svm)); } TempData["SearchMethod"] = "Manual"; return(RedirectToAction("Search", "La", new { name = laCodeName, openOnly = openOnly })); } else { var svm = new SearchViewModel(comparisonList, searchType) { SearchType = searchType, Authorities = _laService.GetLocalAuthorities(), ErrorMessage = errorMessage }; return(View("Index", svm)); } } else { errorMessage = _valService.ValidateLaCodeParameterForComparison(laCodeName); if (string.IsNullOrEmpty(errorMessage)) { searchResp = await GetSearchResultsAsync(nameId, searchType, locationorpostcode, locationCoordinates, laCodeName, radius, openOnly, orderby, page); int resultCount = searchResp.NumberOfResults; if (resultCount == 0) { var svm = new SearchViewModel(comparisonList, searchType) { SearchType = searchType, Authorities = _laService.GetLocalAuthorities(), ErrorMessage = SearchErrorMessages.NO_LA_RESULTS }; return(View("Index", svm)); } else { ViewBag.manualCount = manualComparisonList?.BenchmarkSchools?.Count(); return(View("ManualSearchResults", GetSearchedSchoolViewModelList(searchResp, manualComparisonList, orderby, page, searchType, nameId, locationorpostcode, _laService.GetLaName(laCodeName)))); } } else { var svm = new SearchViewModel(comparisonList, searchType) { SearchType = searchType, Authorities = _laService.GetLocalAuthorities(), ErrorMessage = errorMessage }; return(View("Index", svm)); } } case SearchTypes.SEARCH_BY_LOCATION: default: errorMessage = _valService.ValidateLocationParameterForComparison(locationorpostcode); if (string.IsNullOrEmpty(errorMessage)) { if (string.IsNullOrEmpty(locationCoordinates)) { var result = _locationSearchService.SuggestLocationName(locationorpostcode); switch (result.Matches.Count) { case 0: var svm = new SearchViewModel(comparisonList, searchType) { SearchType = searchType, Authorities = _laService.GetLocalAuthorities(), ErrorMessage = SearchErrorMessages.NO_LOCATION_RESULTS }; return(View("Index", svm)); default: TempData["LocationResults"] = result; TempData["SearchMethod"] = "Manual"; return(RedirectToAction("Suggest", "Location", new { locationOrPostcode = locationorpostcode, openOnly = openOnly })); } } else { searchResp = await GetSearchResultsAsync(nameId, searchType, locationorpostcode, locationCoordinates, laCodeName, radius, openOnly, orderby, page); if (searchResp.NumberOfResults == 0) { var svm = new SearchViewModel(comparisonList, searchType) { SearchType = searchType, Authorities = _laService.GetLocalAuthorities(), ErrorMessage = SearchErrorMessages.NO_LOCATION_RESULTS }; return(View("Index", svm)); } ViewBag.manualCount = manualComparisonList?.BenchmarkSchools?.Count(); return(View("ManualSearchResults", GetSearchedSchoolViewModelList(searchResp, manualComparisonList, orderby, page, searchType, nameId, locationorpostcode, _laService.GetLaName(laCodeName)))); } } else { var svm = new SearchViewModel(comparisonList, searchType) { SearchType = searchType, Authorities = _laService.GetLocalAuthorities(), ErrorMessage = errorMessage }; return(View("Index", svm)); } } }
public async Task AddSchoolToManualBenchmarkListAsync(long urn) { var benchmarkSchool = new SchoolViewModel(await _contextDataService.GetSchoolDataObjectByUrnAsync(urn), null); AddSchoolToManualBenchmarkList(benchmarkSchool); }