public ActionResult Index(string urlName) { var model = new JobProfileSearchBoxViewModel { PlaceholderText = PlaceholderText, HeaderText = HeaderText, TotalResultsMessage = NoResultsMessage, JobProfileUrl = new Uri(urlName, UriKind.RelativeOrAbsolute), AutoCompleteMinimumCharacters = AutoCompleteMinimumCharacters, AutoCompleteMaximumCharacters = AutoCompleteMaximumCharacters, MaximumNumberOfDisplayedSuggestions = MaximumNumberOfDisplayedSuggestions, UseFuzzyAutoCompleteMatching = UseFuzzyAutoCompleteMatching }; return(View("JobProfile", model)); }
public ActionResult Search(string searchTerm, string jobProfileUrl) { if (!string.IsNullOrWhiteSpace(searchTerm)) { return(Redirect($"{SearchResultsPage}?searchTerm={GetUrlEncodedString(searchTerm)}")); } switch (CurrentPageMode) { case SearchWidgetPageMode.SearchResults: var searchModel = new JobProfileSearchResultViewModel { PlaceholderText = PlaceholderText, AutoCompleteMinimumCharacters = AutoCompleteMinimumCharacters, AutoCompleteMaximumCharacters = AutoCompleteMaximumCharacters, MaximumNumberOfDisplayedSuggestions = MaximumNumberOfDisplayedSuggestions, UseFuzzyAutoCompleteMatching = UseFuzzyAutoCompleteMatching, SalaryBlankText = SalaryBlankText }; return(View("SearchResult", searchModel)); case SearchWidgetPageMode.JobProfile: bool isValidUrl = this.webAppContext.IsValidAndFormattedUrl($"{JobProfileDetailsPage}{jobProfileUrl}/"); return(isValidUrl ? (ActionResult) new RedirectResult($"{JobProfileDetailsPage}{jobProfileUrl}") : HttpNotFound()); default: var model = new JobProfileSearchBoxViewModel { PlaceholderText = PlaceholderText, AutoCompleteMinimumCharacters = AutoCompleteMinimumCharacters, AutoCompleteMaximumCharacters = AutoCompleteMaximumCharacters, MaximumNumberOfDisplayedSuggestions = MaximumNumberOfDisplayedSuggestions, UseFuzzyAutoCompleteMatching = UseFuzzyAutoCompleteMatching }; return(View("Index", model)); } }
public void DFC1330ForSearchBoxonJobProfilePage() { // Arrange var indexView = new _MVC_Views_JobProfileSearchBox_JobProfile_cshtml(); var headerText = nameof(JobProfileSearchBoxController.HeaderText); var jobProfileUrl = nameof(JobProfileSearchBoxViewModel.JobProfileUrl); var placeholderText = nameof(JobProfileSearchBoxController.PlaceholderText); var model = new JobProfileSearchBoxViewModel { HeaderText = headerText, JobProfileUrl = new Uri(jobProfileUrl, UriKind.RelativeOrAbsolute), PlaceholderText = placeholderText }; // Act var htmlDom = indexView.RenderAsHtml(model); // Asserts GetHeaderText(htmlDom).Should().Be(headerText); GetJobProfileUrlText(htmlDom).Should().Be(jobProfileUrl); GetPlaceholderText(htmlDom).Should().Be(placeholderText); }
public ActionResult Index(string searchTerm, int page = 1) { switch (CurrentPageMode) { case SearchWidgetPageMode.SearchResults: //Damn!!!! Sitefinity doesnt support Async await //https://feedback.telerik.com/Project/153/Feedback/Details/165662-mvc-ability-to-use-async-actions-in-mvc-widgets return(asyncHelper.Synchronise(() => DisplaySearchResultsAsync(searchTerm, page))); case SearchWidgetPageMode.Landing: default: var model = new JobProfileSearchBoxViewModel { PlaceholderText = PlaceholderText, TotalResultsMessage = NoResultsMessage, AutoCompleteMinimumCharacters = AutoCompleteMinimumCharacters, AutoCompleteMaximumCharacters = AutoCompleteMaximumCharacters, MaximumNumberOfDisplayedSuggestions = MaximumNumberOfDisplayedSuggestions, UseFuzzyAutoCompleteMatching = UseFuzzyAutoCompleteMatching }; return(View("Index", model)); } }