private ActionResult NoResults(EstablishmentSearchViewModel model) { var routeDictionary = new RouteValueDictionary { { "action", "Index" }, { "controller", "Search" }, { "area", string.Empty }, { "SearchType", model.SearchType } }; string queryStringToAppend = string.Empty; switch (model.SearchType) { case eSearchType.Text: routeDictionary.Add("TextSearchModel.Text", model.TextSearchModel.Text); routeDictionary.Add("NoResults", true); break; case eSearchType.Location: routeDictionary.Add("LocationSearchModel.Text", model.LocationSearchModel.Text); routeDictionary.Add("NoResults", true); break; case eSearchType.ByLocalAuthority: queryStringToAppend = string.Concat("&", QueryStringHelper.ToQueryString(EstablishmentSearchViewModel.BIND_ALIAS_LAIDS, model.SelectedLocalAuthorityIds.ToArray())); routeDictionary.Add("NoResults", true); break; } return(new RedirectResult(string.Concat(Url.RouteUrl(routeDictionary), queryStringToAppend))); }
public async Task <ActionResult> Index(SearchViewModel viewModel) { if (!viewModel.NoResultsForLocation && !viewModel.NoResultsForName && !viewModel.NoResultsForLA) { if (viewModel.LocalAuthorityToRemove.HasValue) { return(Redirect("/?" + QueryStringHelper.ToQueryString(SearchViewModel.BIND_ALIAS_LAIDS, viewModel.RemoveLocalAuthorityId(viewModel.LocalAuthorityToRemove.Value).SelectedLocalAuthorityIds.ToArray()) + "#la")); } if (viewModel.SearchType.HasValue) { if (viewModel.SearchType == eSearchType.LocalAuthorityDisambiguation) { return(await ProcessLocalAuthorityDisambiguation(viewModel)); } if (ModelState.IsValid) { if (viewModel.SearchType == eSearchType.Location && LatLon.Parse(viewModel.LocationSearchModel.AutoSuggestValue) == null && !viewModel.LocationSearchModel.Text.IsNullOrEmpty()) { return(await ProcessLocationDisambiguation(viewModel)); } } } } viewModel.LocalAuthorities = (await _cachedLookupService.LocalAuthorityGetAllAsync()).OrderBy(x => x.Name).Select(x => new LookupItemViewModel(x)); viewModel.GovernorRoles = (await _cachedLookupService.GovernorRolesGetAllAsync()).OrderBy(x => x.Name).Select(x => new LookupItemViewModel(x)); return(View("Index", viewModel)); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { Query query = (Query)value; string queryString = QueryStringHelper.ToQueryString(query); writer.WriteValue(queryString); }
public string?GetResolvedName() { if (Parameter == null) { return(PageName); } var queryString = QueryStringHelper.ToQueryString(Parameter); return($"{PageName}?{queryString}"); }
static void Main() { var obj = new { a = "apple", b = "ball", c = "cat" }; var result = QueryStringHelper.ToQueryString(obj); var d = result; }
public async Task <ActionResult> IndexResults(SearchViewModel viewModel) { if (!viewModel.NoResultsForLocation && !viewModel.NoResultsForName && !viewModel.NoResultsForLA) { if (viewModel.LocalAuthorityToRemove.HasValue) { return(Redirect("/?" + QueryStringHelper.ToQueryString(SearchViewModel.BIND_ALIAS_LAIDS, viewModel.RemoveLocalAuthorityId(viewModel.LocalAuthorityToRemove.Value).SelectedLocalAuthorityIds.ToArray()) + "#la")); } if (viewModel.SearchType.HasValue) { if (viewModel.SearchType == eSearchType.LocalAuthorityDisambiguation) { return(await ProcessLocalAuthorityDisambiguation(viewModel)); } if (ModelState.IsValid) { if (viewModel.SearchType == eSearchType.Location && LatLon.Parse(viewModel.LocationSearchModel.AutoSuggestValue) == null && !viewModel.LocationSearchModel.Text.IsNullOrEmpty()) { return(await ProcessLocationDisambiguation(viewModel)); } if (viewModel.SearchType.OneOfThese(eSearchType.ByLocalAuthority, eSearchType.Location, eSearchType.Text, eSearchType.EstablishmentAll)) { var url = Url.Action("Index", "EstablishmentsSearch", new { area = "Establishments" }); url = viewModel.OpenOnly ? $"{url}?{Request.QueryString.AddIfNonExistent(SearchViewModel.BIND_ALIAS_STATUSIDS, (int)eStatus.Open, (int)eStatus.OpenButProposedToClose)}" : $"{url}?{Request.QueryString.AddIfNonExistent("OpenOnly", "false")}"; return(Redirect(url)); } if (viewModel.SearchType == eSearchType.Group) { return(Redirect(Url.Action("Index", "GroupSearch", new { area = "Groups" }) + "?" + Request.QueryString)); } if (viewModel.SearchType == eSearchType.Governor) { return(Redirect( $"{Url.Action("Index", "GovernorSearch", new { area = "Governors" })}?{Request.QueryString}&{string.Join("&", viewModel.GovernorSearchModel.RoleId.Select(r => $"&{Areas.Governors.Models.GovernorSearchViewModel.BIND_ALIAS_ROLE_ID}={r}"))}")); } throw new NotSupportedException($"The search type '{viewModel.SearchType}' is not recognised."); } } } return(await Index(viewModel)); }
public async Task <ActionResult> CreateEditPredefinedLASet(PredefinedLASetViewModel viewModel) { if (ModelState.ContainsKey(nameof(viewModel.SuppressWarning))) { ModelState.Remove(nameof(viewModel.SuppressWarning)); } if (ModelState.IsValid) { var sets = await _localAuthoritySetRepository.GetAllAsync(); var duplicate = sets.Items.Where(x => x.Title == viewModel.Title && (viewModel.IsNewEntity || viewModel.Id != x.RowKey)).Select(x => x.RowKey).FirstOrDefault(); if (duplicate == null || viewModel.SuppressWarning) { var entity = viewModel.IsNewEntity ? new LocalAuthoritySet() : await _localAuthoritySetRepository.GetAsync(viewModel.Id); entity.Title = viewModel.Title; entity.Ids = viewModel.SelectedLocalAuthorityIds.ToArray(); if (viewModel.IsNewEntity) { await _localAuthoritySetRepository.CreateAsync(entity); } else { await _localAuthoritySetRepository.UpdateAsync(entity); } if (duplicate != null) { await _localAuthoritySetRepository.DeleteAsync(duplicate); } if (viewModel.Referrer == "results") { return(Redirect(string.Concat(Url.RouteUrl("IndSchSearch"), "?a=search&Mode=", viewModel.Mode, "&", QueryStringHelper.ToQueryString(IndSchoolsSearchViewModel.BindAliasForSelectedLocalAuthorityIds, viewModel.SelectedLocalAuthorityIds.ToArray())))); } return(RedirectToRoute("PredefinedLASets")); } else if (duplicate != null) { viewModel.WarningNameClash = true; } } viewModel.LocalAuthorities = (await _lookup.LocalAuthorityGetAllAsync()).OrderBy(x => x.Name).Select(x => new LookupItemViewModel(x)); return(View("CreateEditPredefinedLASet", viewModel)); }
private async Task <ActionResult> ProcessLocalAuthorityDisambiguation(SearchViewModel model) { var localAuthorities = await _cachedLookupService.LocalAuthorityGetAllAsync(); var localAuthority = localAuthorities.FirstOrDefault(x => x.Name.Equals(model.LocalAuthorityToAdd, StringComparison.OrdinalIgnoreCase)); if (localAuthority != null) { return(Redirect("/?SearchType=ByLocalAuthority&" + QueryStringHelper.ToQueryString(SearchViewModel.BIND_ALIAS_LAIDS, model.AddLocalAuthorityId(localAuthority.Id).SelectedLocalAuthorityIds.ToArray()) + "#la")); } else { var localAuthorityDisambiguationViewModel = new LocalAuthorityDisambiguationViewModel(model.SelectedLocalAuthorityIds, model.LocalAuthorityToAdd ?? "", localAuthorities.Where(x => x.Name.IndexOf(model.LocalAuthorityToAdd ?? "", StringComparison.OrdinalIgnoreCase) > -1).Take(10).ToList()); return(View("LocalAuthorityDisambiguation", localAuthorityDisambiguationViewModel)); } }
public async Task <JArray> GetEventsAsync(NewFilterInput filterInput, long blockFrom, long blockTo) { var parameters = new { module = "logs", action = "getLogs", fromBlock = blockFrom, toBlock = blockTo, address = filterInput.Address.First(), apikey = _options.ApiKey, topic0 = filterInput.Topics.Length > 0 ? filterInput.Topics[0] : null, topic1 = filterInput.Topics.Length > 1 ? filterInput.Topics[1] : null, topic2 = filterInput.Topics.Length > 2 ? filterInput.Topics[2] : null }; var url = _options.ApiUrl + QueryStringHelper.ToQueryString(parameters); var response = await GetJsonTimedAsync <EventsResult>(url); return(response.Result); }
public async Task <ActionResult> IndependentSchoolsSearch(IndSchoolsSearchViewModel viewModel) { await PopulateLookupData(viewModel); if (!string.Equals(viewModel.ActionName, IndSchoolsSearchViewModel.ActionSearch)) { ModelState.Clear(); } if (viewModel.MinDate.ToDateTime().HasValue&& viewModel.MaxDate.ToDateTime().HasValue&& viewModel.MinDate.ToDateTime() > viewModel.MaxDate.ToDateTime()) { ModelState.AddModelError("date-range", "Please use a valid date range"); } if (ModelState.IsValid) { switch (viewModel.ActionName) { case IndSchoolsSearchViewModel.ActionSearch: return(View("IndependentSchoolsSearchResults", viewModel.SetResults( new PaginatedResult <EstablishmentSearchResultModel>(viewModel.Skip, viewModel.Take, await _establishmentReadService.SearchAsync(await CreateIndSchoolSearchPayload(viewModel), User))))); case IndSchoolsSearchViewModel.ActionSaveSet: return(Redirect(string.Concat(Url.RouteUrl("CreatePredefinedLASet"), "?", QueryStringHelper.ToQueryString(IndSchoolsSearchViewModel.BindAliasForSelectedLocalAuthorityIds, viewModel.SelectedLocalAuthorityIds.ToArray())))); default: break; } } viewModel.LocalAuthoritySets = (await _localAuthoritySetRepository.GetAllAsync()).Items .OrderBy(x => x.Title) .Select(x => new IndSchoolsSearchViewModel.LASetViewModel(x)); return(View(viewModel)); }
/// <summary> /// Returns the Query as a query string /// Example : "query= distinct=0" /// </summary> public string ToQueryString() { return(QueryStringHelper.ToQueryString(this)); }
public async Task <ActionResult> Index(SearchViewModel viewModel) { if (!viewModel.NoResults) { if (viewModel.LocalAuthorityToRemove.HasValue) { return(Redirect("/?" + QueryStringHelper.ToQueryString(SearchViewModel.BIND_ALIAS_LAIDS, viewModel.RemoveLocalAuthorityId(viewModel.LocalAuthorityToRemove.Value).SelectedLocalAuthorityIds.ToArray()) + "#la")); } if (viewModel.SearchType.HasValue) { if (viewModel.SearchType == eSearchType.LocalAuthorityDisambiguation) { return(await ProcessLocalAuthorityDisambiguation(viewModel)); } if (ModelState.IsValid) { if (viewModel.SearchType == eSearchType.Location && LatLon.Parse(viewModel.LocationSearchModel.AutoSuggestValue) == null && !viewModel.LocationSearchModel.Text.IsNullOrEmpty()) { var disambiguationResult = await ProcessLocationDisambiguation(viewModel.LocationSearchModel.Text); if (disambiguationResult != null) { return(disambiguationResult); } } } else if (viewModel.SearchType == eSearchType.GovernorReference) { var fieldError = viewModel.GovernorSearchModel.Gid.HasValue ? "We could not find any governors matching your search criteria" : "Please enter a governor ID to start a search"; viewModel.ErrorPanel = "GovernorId"; ModelState.AddModelError("GovernorSearchModel.Gid", fieldError); } } } else { var fieldId = "TextSearchModel.Text"; var fieldError = "We could not find any establishments matching your search criteria"; var la = Request.QueryString["LocalAuthorityToAdd"]; switch (viewModel.SearchType) { case eSearchType.Text: if (viewModel.TextSearchModel.Text.IsNullOrEmpty()) { fieldError = "Please enter an establishment name, URN, LAESTAB or UKPRN to start a search"; } viewModel.ErrorPanel = "Name"; break; case eSearchType.Location: fieldId = "LocationSearchModel.Text"; fieldError = "Please enter a postcode, town or city to start a search"; viewModel.ErrorPanel = "Location"; break; case eSearchType.ByLocalAuthority: if (!string.IsNullOrEmpty(viewModel.LocalAuthorityToAdd)) { return(await ProcessLocalAuthorityDisambiguation(viewModel)); } fieldId = "LocalAuthorityToAdd"; fieldError = viewModel.SelectedLocalAuthorityIds.Any() ? "We could not find any local authorities matching your search criteria" : "Please enter a local authority to start a search"; viewModel.ErrorPanel = "LocalAuthority"; break; case eSearchType.Group: fieldId = "GroupSearchModel.Text"; fieldError = viewModel.GroupSearchModel.Text.IsNullOrEmpty() ? "Please enter an establishment group to start a search" : "We could not find any establishment groups matching your search criteria"; viewModel.ErrorPanel = "Group"; break; case eSearchType.Governor: fieldId = "GovernorSearchModel.Forename"; fieldError = viewModel.GovernorSearchModel.Forename.IsNullOrEmpty() && viewModel.GovernorSearchModel.Surname.IsNullOrEmpty() && viewModel.GovernorSearchModel.RoleId.Length == 0 ? "Please enter a governor to start a search" : "We could not find any governors matching your search criteria"; viewModel.ErrorPanel = "Governor"; break; case eSearchType.GovernorReference: fieldId = "GovernorSearchModel.Gid"; fieldError = viewModel.GovernorSearchModel.Gid.HasValue ? "We could not find any governors matching your search criteria" : "Please enter a governor ID to start a search"; viewModel.ErrorPanel = "GovernorId"; break; } ModelState.AddModelError(fieldId, fieldError); } viewModel.LocalAuthorities = (await _cachedLookupService.LocalAuthorityGetAllAsync()).OrderBy(x => x.Name).Select(x => new LookupItemViewModel(x)); viewModel.GovernorRoles = (await _cachedLookupService.GovernorRolesGetAllAsync()).OrderBy(x => x.Name).Select(x => new LookupItemViewModel(x)); return(View("Index", viewModel)); }