internal static List <AutocompleteVm> MapToAutocompleteVmList(this IEnumerable <SearchCriteria> criterias, SearchType searchType, string lookupString) { List <AutocompleteVm> autocompleteVms = new List <AutocompleteVm>(); foreach (SearchCriteria criteria in criterias) { AutocompleteVm autocompleteVm = new AutocompleteVm(); string lookupLocation = ClientViewModelsProvider.GetLookupLocation(criteria); if (lookupString.IsNullOrEmpty() || !lookupLocation.StartsWith(lookupString, StringComparison.InvariantCultureIgnoreCase)) { autocompleteVm.Start = lookupLocation; } else { autocompleteVm.Start = new string(lookupLocation.Take <char>(lookupString.Count <char>()).ToArray <char>()); autocompleteVm.End = new string(lookupLocation.Skip <char>(lookupString.Count <char>()).ToArray <char>()); } if (string.IsNullOrEmpty(autocompleteVm.LookupLocation)) { continue; } autocompleteVm.Url = MslcUrlBuilder.SearchUrl(criteria, searchType); SearchDepth depth = criteria.Depth; switch (depth) { case SearchDepth.State: { autocompleteVm.Template = "State"; break; } case SearchDepth.City: { autocompleteVm.Template = "City"; break; } case SearchDepth.Zip: { autocompleteVm.Template = "Zip"; break; } default: { depth = SearchDepth.Invalid; break; } } if (depth == SearchDepth.Invalid) { continue; } autocompleteVms.Add(autocompleteVm); } return(autocompleteVms); }
public override void OnException(ExceptionContext filterContext) { base.OnException(filterContext); Logger.Error(LogMessages.MvcUipcClient.Custom.ServerExceptionError, filterContext.Exception); if (ConfigurationManager.Instance.IsExceptionRewrite) { filterContext.HttpContext.Response.Clear(); filterContext.HttpContext.Response.StatusCode = 500; filterContext.HttpContext.Response.TrySkipIisCustomErrors = true; filterContext.ExceptionHandled = true; if (filterContext.HttpContext.Request.IsAjaxRequest()) { filterContext.Result = new AllowGetJsonResult(ErrorMessages.AjaxServerError); return; } filterContext.Result = new ViewResult { ViewName = "~/Views/Client/Error/Error.cshtml", ViewData = new ViewDataDictionary(ClientViewModelsProvider.GetStaticContent(PageType.Error500)) }; } }
internal static CrosslinksVm MapToCrosslinksVm(this NearbySearchResult searchResult, ISearchCriteria sourceCriteria) { CrosslinksVm crosslinksVm = new CrosslinksVm(); foreach (SearchCriteria nearbyCity in searchResult.NearbyCities) { if (!nearbyCity.MapToSearchCriteriaVm().Validate()) { continue; } LinkVm linkVm = new LinkVm() { InnerText = ClientViewModelsProvider.GetLookupLocation(nearbyCity), Href = MslcUrlBuilder.SearchUrl(nearbyCity, sourceCriteria.SearchType()) }; crosslinksVm.Cities.Add(linkVm); } foreach (ListingType availableListingType in searchResult.AvailableListingTypes) { LinkVm linkVm1 = new LinkVm() { InnerText = availableListingType.GetEnumLocalizedValue <ListingType>(), Href = MslcUrlBuilder.SearchUrl(sourceCriteria, availableListingType.ToSearchType()) }; crosslinksVm.Categories.Add(linkVm1); } if (searchResult.IsServiceProvidersAvailable) { LinkVm linkVm2 = new LinkVm() { InnerText = "Products & Services", Href = MslcUrlBuilder.SearchUrl(sourceCriteria, SearchType.ProductsAndServices) }; crosslinksVm.Categories.Add(linkVm2); } return(crosslinksVm); }