public ActionResult Search(string query) { var users = this.userManager .Users .Where(x => x.FirstName.ToLower().Contains(query.ToLower()) || x.LastName.ToLower().Contains(query.ToLower())) .To<ProfileViewModel>() .ToList(); var articles = this.articles .GetAll() .Where(x => x.Title.ToLower().Contains(query.ToLower()) || x.Content.ToLower().Contains(query.ToLower())) .To<ArticleViewModel>() .ToList(); var events = this.events .GetAll() .Where(x => x.Title.ToLower().Contains(query.ToLower()) || x.Description.ToLower().Contains(query.ToLower())) .To<EventViewModel>() .ToList(); var model = new SearchViewModel { Query = query, Users = users, Articles = articles, Events = events }; return this.View(model); }
public SearchView(SearchViewModel searchViewModel, DynamoViewModel dynamoViewModel) { viewModel = searchViewModel; this.dynamoViewModel = dynamoViewModel; DataContext = viewModel; InitializeComponent(); Loaded += OnSearchViewLoaded; Unloaded += OnSearchViewUnloaded; SearchTextBox.IsVisibleChanged += delegate { if (SearchTextBox.IsVisible) { this.viewModel.SearchCommand.Execute(null); Keyboard.Focus(this.SearchTextBox); var view = WpfUtilities.FindUpVisualTree<DynamoView>(this); SearchTextBox.InputBindings.AddRange(view.InputBindings); SearchTextBlock.Text = Properties.Resources.SearchTextBlockText; } }; searchForegroundBrushNormal.Freeze(); searchForegroundBrushHover.Freeze(); }
public async Task<ActionResult> Index(Guid id) { var model = new SearchViewModel(); model.LatestCurrentMovementNumber = await mediator.SendAsync(new GetLatestMovementNumber(id)); return View(model); }
public async Task<IActionResult> Index(SearchViewModel searchVM) { string searchString = searchVM == null ? null : searchVM.SearchString; var carriers = await _carrierRepository.GetCarriersAsync(searchString); var model = new CarrierListViewModel(carriers); return View("Index", model); }
public async Task<IActionResult> Index(SearchViewModel searchVM) { string searchString = searchVM == null ? null : searchVM.SearchString; var carriers = await _carrierRepository.GetCarriersAsync(searchString); ViewData.Model = new CarrierListViewModel(carriers); return new ViewResult() { ViewData = ViewData, ViewName = "Index" }; }
public ActionResult Index(string search) { var model = new SearchViewModel(); var channel = new GoogleNews(search); model.Items.AddRange(channel.ReadFeedItems()); ViewBag.Search = search; return View(model); }
public static SearchViewModel GetSearchResultModel() { if (SearchResultModel == null ) { SearchResultModel = new SearchViewModel(); } return SearchResultModel; }
public void Index_ShouldReturnViewModel() { var result = ((ViewResult)_subject.Index(new SearchPage(), new FilterOptionFormModel())).Model as SearchViewModel<SearchPage>; var expectedResult = new SearchViewModel<SearchPage> { ErrorMessage = "Error" }; result.ShouldBeEquivalentTo(expectedResult); }
public async Task<ActionResult> Search() { IEnumerable<OrganisationUserData> organisations = await GetOrganisations(); SearchViewModel model = new SearchViewModel { ShowPerformAnotherActivityLink = organisations.Any() }; return View(model); }
private void OnLibrarySearchViewLoaded(object sender, RoutedEventArgs e) { viewModel = DataContext as SearchViewModel; viewModel.SearchTextChanged +=viewModel_SearchTextChanged; // RequestReturnFocusToSearch calls, when workspace was clicked. // We should hide tooltip. viewModel.RequestReturnFocusToSearch += OnRequestCloseToolTip; // When workspace was changed, we should hide tooltip. viewModel.RequestCloseSearchToolTip += OnRequestCloseToolTip; }
public NodeSearchElementViewModel(NodeSearchElement element, SearchViewModel svm) { Model = element; searchViewModel = svm; Model.VisibilityChanged += ModelOnVisibilityChanged; if (searchViewModel != null) Clicked += searchViewModel.OnSearchElementClicked; ClickedCommand = new DelegateCommand(OnClicked); }
public ActionResult Search(String searchtext) { SearchViewModel m = new SearchViewModel(); if (searchtext == null) { m.Results = db.Articles.ToList(); } m.Results = db.Articles.Where(i => i.Body.Contains(searchtext)).ToList(); m.SearchTerm = searchtext; return View(m); }
public void Initalize() { if (null == viewModel) { viewModel = container.Resolve<SearchViewModel>(); viewModel.Search = new DelegateCommand(Search); viewModel.Download = new DelegateCommand(Download); viewModel.ViewShare = new DelegateCommand(ViewShare); viewModel.Reset = new DelegateCommand(Reset); } }
public SearchWindow() { InitializeComponent(); //SearchViewModel vm = new SearchViewModel(); vm = new SearchViewModel(); this.DataContext = vm; if (vm.CloseWindowAction == null) { vm.CloseWindowAction = new Action(() => this.Close()); } }
/// <summary> /// Static <c>Map</c> method maps a <see cref="Core.Model.SearchCriteria"/> class to a /// <see cref="THLibrary.DataModel.SearchViewModel"/> class. /// </summary> /// <param name="criteria">The SearchCriteria instance.</param> /// <returns>The SearchViewModel instance.</returns> public static SearchViewModel Map(SearchCriteria criteria) { SearchViewModel searchVM = new SearchViewModel() { UniqueId = "", Type = Enum.GetName(typeof(SearchTypeEnum), criteria.Type), SearchString = criteria.SearchString, SearchDate = criteria.SearchDate.ToString() }; return searchVM; }
protected override void OnSearchActivated(SearchActivatedEventArgs args) { base.OnSearchActivated(args); var view = new SearchView(); var viewModel = new SearchViewModel(); viewModel.SearchText = args.QueryText; view.DataContext = viewModel; Window.Current.Content = view; Window.Current.Activate(); }
public void SetLayoutTest() { #region Arrange var layoutFieldViewModelFactory = new ExportFactory<LayoutFieldViewModel>(() => new Tuple<LayoutFieldViewModel, Action>(new LayoutFieldViewModel(), () => { })); var field1Name = "BaseField1"; var field2Name = "BaseField2"; var field3Name = "Field1"; var field4Name = "Field2"; var field1Prefix = Constants.BaseInfoPropertyName; var field2Prefix = string.Format("{0}.{0}.{0}", Constants.BaseInfoPropertyName); string field3Prefix = null; string field4Prefix = null; var column1 = CreateColumnItem(field1Name, field1Prefix); var column2 = CreateColumnItem(field2Name, field2Prefix); var column3 = CreateColumnItem(field3Name, field3Prefix); var column4 = CreateColumnItem(field4Name, field4Prefix); var columns = new ColumnCollection() { column1, column2, column3, column4 }; var modelLayoutList = new List<string>() { GetFullyQualifiedName(field1Name, field1Prefix), GetFullyQualifiedName(field2Name, field2Prefix), GetFullyQualifiedName(field3Name, field3Prefix), GetFullyQualifiedName(field4Name, field4Prefix) }; var model = new SearchViewModel() { LayoutList = modelLayoutList, Columns = columns }; var vm = new LayoutViewModel() { Model = model, LayoutFieldViewModelFactory = layoutFieldViewModelFactory }; #endregion Arrange //Act SetupRadGridViewHelper(new RadGridView(), new[] { column2, column3 }); vm.SetLayout(new List<string>()); //Assert Assert.AreEqual(vm.LayoutList.Count, 0); //Assert.AreEqual(vm.LayoutList[0].ColumnSystemName, GetFullyQualifiedName(field2Name, field2Prefix)); //Assert.AreEqual(vm.LayoutList[1].ColumnSystemName, GetFullyQualifiedName(field3Name, field3Prefix)); ////Act //SetupRadGridViewHelper(new RadGridView(), new[] { column1, column4 }); //vm.SetLayout(new List<string>()); ////Assert //Assert.AreEqual(vm.LayoutList.Count, 2); //Assert.AreEqual(vm.LayoutList[0].ColumnSystemName, GetFullyQualifiedName(field1Name, field1Prefix)); //Assert.AreEqual(vm.LayoutList[1].ColumnSystemName, GetFullyQualifiedName(field4Name, field4Prefix)); }
public SearchView() { InitializeComponent(); SearchViewModel viewModel = new SearchViewModel(MediaFileWatcher.Instance); DataContext = viewModel; firstFocus = true; TabName = "Search"; TabIsSelected = false; TabMargin = new Thickness(2); TabBorderThickness = new Thickness(2); TabBorderBrush = ClassicBorderDecorator.ClassicBorderBrush; }
public virtual ActionResult Search() { var model = new SearchViewModel(ViewData.Model as BaseViewModel); var order = new OrderViewModel {Id = 100, Deadline = DateTime.Now, Title = "Karrbros Official", Group = "Best Group Evar"}; var order2 = new OrderViewModel {Id = 101, Deadline = DateTime.Now.AddDays(15), Title = "Clinton Wrestling", Group = "Time To Get Live" }; model.Orders.Add(order); model.Orders.Add(order2); var crumb = new BreadCrumbViewModel {Display = "Order Search", Title = "order search", Url = "/Order/Search"}; model.BreadCrumbs.Add(crumb); return View("Search", model); }
void SearchView_Loaded(object sender, RoutedEventArgs e) { DataContext = _viewModel = dynSettings.Controller.SearchViewModel; this.MouseEnter += SearchView_MouseEnter; this.MouseLeave += SearchView_MouseLeave; PreviewKeyDown += KeyHandler; this.SearchTextBox.PreviewKeyDown += new KeyEventHandler(OnSearchBoxPreviewKeyDown); this.SearchTextBox.KeyDown += new KeyEventHandler(OnSearchBoxKeyDown); dynSettings.Controller.SearchViewModel.RequestFocusSearch += SearchViewModel_RequestFocusSearch; dynSettings.Controller.SearchViewModel.RequestReturnFocusToSearch += SearchViewModel_RequestReturnFocusToSearch; }
public ActionResult Index() { var response = _client.Search<Session>(s => s .From(0) .Size(50) .MatchAll() ); var model = new SearchViewModel { Sessions = response.Hits.ToList(), TotalHits = response.Total }; return View(model); }
/// <summary> /// This handles the click event of the Search Button. This handler /// constructs a <see cref="THLibrary.DataModel.SearchViewModel"/> containing /// the search criteria, which are then passed to the ExecuteSearch event in /// the <see cref="THLibrary.Infrastructure.EventArguments.SearchEventArgs"/>. /// </summary> /// <param name="sender">Object raising the event</param> /// <param name="e">Arguments for the event</param> private void btnSearch_Click(object sender, RoutedEventArgs e) { // Create the search Criteria var criteria = new SearchViewModel(); criteria.UniqueId = string.Empty; criteria.SearchString = this.txtSearchString.Text; var selectedType = (SearchTypesViewModel)this.cbSearchType.SelectedItem; criteria.Type = selectedType.Type; criteria.SearchDate = DateTime.Now.ToString(); // Raise the Search event and pass the newly constructed SearchCriteria EventHandler<SearchEventArgs> handler = ExecuteSearch; if (handler != null) { handler(this, new SearchEventArgs() { SearchCriteria = criteria }); } }
public async Task<ActionResult> Index(Guid id, SearchViewModel model) { if (!ModelState.IsValid) { return View(model); } var result = await mediator.SendAsync(new GetImportMovementIdIfExists(id, model.Number.Value)); if (!result.HasValue) { TempData[NumberKey] = model.Number.Value; return RedirectToAction("Create"); } return RedirectToAction("Index", "Home", new { area = "AdminImportMovement", id = result.Value }); }
public async Task<ActionResult> Index(Guid id, SearchViewModel model) { if (!ModelState.IsValid) { return View(model); } var movementId = await mediator.SendAsync(new GetMovementIdIfExists(id, model.Number.Value)); if (!movementId.HasValue) { TempData[MovementNumberKey] = model.Number; return RedirectToAction("Create"); } return RedirectToAction("Index", "InternalCapture", new { area = "AdminExportMovement", id = movementId.Value }); }
/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="navigationParameter">The parameter value passed to /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested. /// </param> /// <param name="pageState">A dictionary of state preserved by this page during an earlier /// session. This will be null the first time a page is visited.</param> protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState) { Search search = navigationParameter as Search; SearchViewModel svm = new SearchViewModel(); if (!string.IsNullOrWhiteSpace(search.Text)) { var results = svm.LastSearchAlbum(search.Text); this.DefaultViewModel["Items"] = results.results.albummatches; } else { //ErrorMessage.Text = "Oops, you need to enter a search term."; } // TODO: Assign a bindable collection of items to this.DefaultViewModel["Items"] }
public ActionResult SearchResult(int? page,SearchViewModel sview) { string TuKhoa = sview.tukhoa; if(sview.tukhoa== null && sview.dropdown=="-Select-") { ViewBag.message = "Nhập từ khóa"; return RedirectToAction("SearchResult", "Search"); } var kqFAQ = db.FAQs.Where(x => x.Question.Contains(TuKhoa) || x.Answer.Contains(TuKhoa)).ToList(); var kqEguide = db.EGuides.Where(x => x.Contents.Contains(TuKhoa)).OrderBy(x => x.EGuildID).ToList(); var k = new List<SearchViewModel>(); var p = new List<SearchViewModel>(); foreach (var item in kqFAQ) { var l = new SearchViewModel { Answer = item.Answer, Question = item.Question, MaChuDeFAQ = item.MaChuDeFAQ, }; k.Add(l); } foreach (var item in kqEguide) { var o = new SearchViewModel { Contents = item.Contents, }; p.Add(o); } //Phan trang tim kiem, int pageNumber = (page ?? 1); int pageSize = 5; if (k != null && sview.dropdown == "FAQs") { return View(k.ToPagedList(pageNumber, pageSize)); } else if (p != null && sview.dropdown == "eGuide") { return View(p.ToPagedList(pageNumber, pageSize)); } ViewBag.message = "Không tìm thấy kết quả"; return View(); }
public ActionResult Search(string query) { SearchViewModel model = new SearchViewModel(); try { model.Results = this.SearchService.Search(query); } catch(SearchException ex) { model.ErrorMessage = ex.ErrorMessage; } catch(Exception ex) { model.ErrorMessage = string.Format("Unknown error occured: {0}", ex.Message); } return View(model); }
public SearchView(SearchViewModel searchViewModel, DynamoViewModel dynamoViewModel) { viewModel = searchViewModel; this.dynamoViewModel = dynamoViewModel; DataContext = viewModel; InitializeComponent(); Loaded += OnSearchViewLoaded; Unloaded += OnSearchViewUnloaded; SearchTextBox.IsVisibleChanged += delegate { if (!SearchTextBox.IsVisible) return; this.viewModel.SearchCommand.Execute(null); Keyboard.Focus(SearchTextBox); SearchTextBlock.Text = Properties.Resources.SearchTextBlockText; }; }
public IActionResult Index(string searchString) { var isAjax = Context.Request.Headers["X-Requested-With"] == "XMLHttpRequest"; var model = new SearchViewModel { SearchString = searchString, Result = new List<string> { "found " + searchString } }; if (isAjax) { return Json(model, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); } return View(model); }
public SearchView(SearchViewModel searchViewModel, DynamoViewModel dynamoViewModel) { this.viewModel = searchViewModel; this.dynamoViewModel = dynamoViewModel; InitializeComponent(); Loaded += OnSearchViewLoaded; Unloaded += OnSearchViewUnloaded; SearchTextBox.IsVisibleChanged += delegate { if (SearchTextBox.IsVisible) { this.viewModel.SearchCommand.Execute(null); Keyboard.Focus(this.SearchTextBox); var view = WPF.FindUpVisualTree<DynamoView>(this); SearchTextBox.InputBindings.AddRange(view.InputBindings); } }; }
public SearchView(SearchViewModel viewModel) { this.Build(); this.viewModel = viewModel; ConfigureDlg(); }
public CustomNodeSearchElementViewModel(CustomNodeSearchElement element, SearchViewModel svm) : base(element, svm) { Path = Model.Path; }
public void Init() { model = new NodeSearchModel(); viewModel = new SearchViewModel(model); }
/// <summary> /// Search for e.g. -Tags:"test" /// </summary> /// <param name="model">Model</param> /// <param name="itemName">e.g. Tags or Description</param> private void SearchItemName(SearchViewModel model, string itemName) { // ignore double quotes model.SearchQuery = model.SearchQuery.Replace("\"\"", "\""); // Escape special quotes model.SearchQuery = Regex.Replace(model.SearchQuery, "[“”‘’]", "\""); // Without double escapes: // (:|=|;|>|<)(([\w\!\~\-_\.\/:]+)|(\"|').+(\"|')) // new: unescaped // (:|=|;|>|<|-)((["'])(\\?.)*?\3|[\w\!\~\-_\.\/:]+)( \|\|| \&\&)? Regex inurlRegex = new Regex( "-" + itemName + "(:|=|;|>|<|-)(([\"\'])(\\\\?.)*?\\3|[\\w\\!\\~\\-_\\.\\/:]+)( \\|\\|| \\&\\&)?", RegexOptions.IgnoreCase); _defaultQuery = inurlRegex.Replace(_defaultQuery, ""); // the current query is removed from the list, so the next item will not search on it var regexInUrlMatches = inurlRegex.Matches(model.SearchQuery); if (regexInUrlMatches.Count == 0) { return; } foreach (Match regexInUrl in regexInUrlMatches) { var itemQuery = regexInUrl.Value; // ignore fake results if (string.IsNullOrEmpty(itemQuery)) { continue; } // put ||&& in operator field => next regex > removed model.SetAndOrOperator(model.AndOrRegex(itemQuery)); Regex rgx = new Regex("-" + itemName + "(:|=|;|>|<|-)", RegexOptions.IgnoreCase); // To Search Type var itemNameSearch = rgx.Match(itemQuery).Value; if (!itemNameSearch.Any()) { continue; } // replace itemQuery = rgx.Replace(itemQuery, string.Empty); // Option last of itemNameSearch var searchForOption = itemNameSearch[itemNameSearch.Length - 1].ToString(); model.SetAddSearchForOptions(searchForOption); // Remove parenthesis itemQuery = itemQuery.Replace("\"", string.Empty); itemQuery = itemQuery.Replace("'", string.Empty); // Remove || / && at the end of the string // (\|\||\&\&)$ string pattern = "(\\|\\||\\&\\&)$"; itemQuery = Regex.Replace(itemQuery, pattern, string.Empty); model.SetAddSearchFor(itemQuery.Trim()); model.SetAddSearchInStringType(itemName); } }
public async Task <IActionResult> Create([Bind("ReservationID,ReservationNum,ReservationDate,ReservationNotes, FlightDetail")] Reservation reservation, int flightdetailID, SearchViewModel svm) { reservation.ReservationNum = Utilities.GenerateNextReservationNumber.GetNextReservationNumber(_context); reservation.ReservationDate = DateTime.Now; FlightDetail DBfd = _context.FlightDetails.Find(svm.FlightDetail.FlightDetailID); reservation.AppUser = await _userManager.FindByNameAsync(User.Identity.Name); if (ModelState.IsValid) { _context.Add(reservation); await _context.SaveChangesAsync(); return(RedirectToAction("Create", "Tickets", new { reservationId = reservation.ReservationID, flightdetailID = svm.FlightDetail.FlightDetailID })); // No more user input } return(View(reservation)); // Need User input }
public IActionResult Search(SearchViewModel Search) { Search = PerformSearch(Search); return(View("Index", Search)); }
public IActionResult SearchResult(SearchViewModel searchViewModel) { List <bool> onlineList = new List <bool>(); if (searchViewModel.Online == "yes") { onlineList.Add(true); } if (searchViewModel.Online == "no") { onlineList.Add(false); } if (searchViewModel.Online == null || searchViewModel.Online == "both") { onlineList.Add(true); onlineList.Add(false); } var query = context.ChildActivites .Where(ca => onlineList.Contains(ca.Activity.IsOnline)); if (searchViewModel.ChildIds != null) { query = query.Where(ca => searchViewModel.ChildIds.Contains(ca.ChildId)); } if (searchViewModel.StatusList != null) { query = query.Where(ca => searchViewModel.StatusList.Contains(ca.Status)); } if (searchViewModel.StartTimeChoice) { query = query.Where(ca => ca.Activity.StartTime > searchViewModel.StartTime); } if (searchViewModel.EndTimeChoice) { query = query.Where(ca => ca.Activity.EndTime < searchViewModel.EndTime); } if (searchViewModel.SortItem != null) { switch (searchViewModel.SortItem) { case "ChildId": query = query.OrderBy(ca => ca.Child.Name); break; case "StartTime": query = query.OrderBy(ca => ca.Activity.StartTime); break; case "IsOnline": query = query.OrderBy(ca => ca.Activity.IsOnline); break; case "Status": query = query.OrderBy(ca => ca.Status); break; } } query = query.Include(ca => ca.Activity) .Include(ca => ca.Child); List <ChildActivity> selectedChildActivity = query.ToList(); searchViewModel.ChildActivities = selectedChildActivity; return(View(searchViewModel)); }
public IActionResult Search(SearchViewModel model) { int InOnePage = 10; model.SeriesDataSet ??= _ctx.Books.AsNoTracking().Select(x => x.Series).OrderBy(x => x).ToList(); model.AuthorDataSet ??= _ctx.Authors.AsNoTracking().Select(x => x.Name).OrderBy(x => x).ToList(); model.GenreDataSet ??= _ctx.Genres.AsNoTracking().Select(x => x.Title).OrderBy(x => x).ToList(); model.TitleDataSet ??= _ctx.Books.AsNoTracking().Select(x => x.Title).OrderBy(x => x).ToList(); // Filtration IQueryable <BookDTO> books = GeneralSearch(model.GeneralSearch); // Title if (!string.IsNullOrEmpty(model.TitleInput)) { books = books.Where(x => x.Title.Contains(model.TitleInput.Trim())); } List <int> bookId; List <string> InputSplit; // Author if (!string.IsNullOrEmpty(model.AuthorInput)) { bookId = new List <int>(); InputSplit = new List <string>(); var i = model.AuthorInput.Split(", ", StringSplitOptions.RemoveEmptyEntries); foreach (var str in i.Select(x => x.Split(' ', StringSplitOptions.RemoveEmptyEntries))) { InputSplit.AddRange(str); } foreach (var str in InputSplit) { bookId.AddRange(_ctx.AuthorBook.AsNoTracking() .Where(x => _ctx.Authors.AsNoTracking() .Where(y => y.Name.Contains(str)) .Select(y => y.Id) .Contains(x.AuthorId)) .Select(x => x.BookId)); } books = books.Where(x => bookId.Contains(x.Id)); } // Genre if (!string.IsNullOrEmpty(model.GenreInput)) { var j = _ctx.GenreBook.AsNoTracking().Where(x => _ctx.Genres.AsNoTracking() .Where(y => y.Title.Contains(model.GenreInput.Trim())) .Select(y => y.Id) .Contains(x.GenreId)) .Select(x => x.BookId); books = books.Where(x => j.Contains(x.Id)); } // Series if (!string.IsNullOrEmpty(model.SeriesInput)) { books = books.Where(x => x.Series.Contains(model.SeriesInput.Trim())); } // Sorting books = model.SortingMethod switch { SortStates.TitleAsc => books.OrderBy(x => x.Title), SortStates.TitleDesc => books.OrderByDescending(x => x.Title), SortStates.PopularityAsc => books.OrderBy(x => x.Popularity), SortStates.PopularityDesc => books.OrderByDescending(x => x.Popularity), SortStates.RatingAsc => books.OrderBy(x => x.Rating), SortStates.RatingDesc => books.OrderByDescending(x => x.Rating), SortStates.SeriesAsc => books.OrderBy(x => x.Series), SortStates.SeriesDesc => books.OrderByDescending(x => x.Series), _ => throw new ArgumentOutOfRangeException() }; // Pagination if (model.Pages == null) { model.Pages = new PaginationViewModel(); } model.Pages.TotalPages = (int)Math.Ceiling(books.Count() / (double)InOnePage); if (model.Pages.TotalPages < 1) { model.Pages.TotalPages = 1; } if (model.Pages.PageNumber < 1) { model.Pages.PageNumber = 1; } else if (model.Pages.PageNumber > model.Pages.TotalPages) { model.Pages.PageNumber = model.Pages.TotalPages; } model.List = books .Skip((model.Pages.PageNumber - 1) * InOnePage) .Take(InOnePage) .Select(book => new ShortBookViewModel { Id = book.Id, Title = book.Title, Annotation = book.Annotation, Author = _ctx.AuthorBook.AsNoTracking() .Where(x => x.BookId == book.Id) .Select(pair => _ctx.Authors.AsNoTracking() .FirstOrDefault(a => a.Id == pair.AuthorId)) .ToList(), Genre = _ctx.GenreBook.AsNoTracking() .Where(x => x.BookId == book.Id) .Select(pair => _ctx.Genres.AsNoTracking() .FirstOrDefault(g => g.Id == pair.GenreId)) .ToList(), Image = $"../../img/books/{book.Id}/{Path.GetFileName(Directory.GetFiles($"{img_path}{book.Id}")[0])}", NumberOfPages = book.NumberOfPages, Popularity = book.Popularity, Rating = book.Rating, Series = book.Series }) .ToList(); return(View("Search", model)); }
public async Task <List <TutorViewModel> > SearchTutorsAsync(SearchViewModel model) { List <TutorViewModel> _tutorsList = new List <TutorViewModel>(); try { model.SearchText = model.SearchText?.ToLower(); if (string.IsNullOrEmpty(model.GradeLevel) && string.IsNullOrEmpty(model.Gender) && string.IsNullOrEmpty(model.Subject)) { var _tutors = await _dbContext.Tutors .Include(x => x.User) .ToListAsync(); _tutorsList.AddRange(await this.GetTutorsModelAsync(_tutors)); } else if (!string.IsNullOrEmpty(model.GradeLevel) && !string.IsNullOrEmpty(model.Gender) && !string.IsNullOrEmpty(model.Subject)) { var _tutors = await _dbContext.Tutors .Include(x => x.User) //.Include(x => x.TuitionSubjects).Include(x => x.TutorAvailability) .Where(x => (x.User.Gender == null ? false : x.User.Gender == model.Gender) && (x.GradeLevel == null ? false : x.GradeLevel.ToLower().Contains(model.GradeLevel.ToLower())) && (x.PreviousSubjects == null ? false : x.PreviousSubjects.ToLower().Contains(model.Subject.ToLower()))).ToListAsync(); _tutorsList.AddRange(await this.GetTutorsModelAsync(_tutors)); } else if (!string.IsNullOrEmpty(model.GradeLevel)) { var _tutors = await _dbContext.Tutors .Include(x => x.User) //.Include(x => x.TuitionSubjects).Include(x => x.TutorAvailability) .Where(x => x.GradeLevel == null ? false : x.GradeLevel.ToLower().Contains(model.GradeLevel.ToLower())).ToListAsync(); _tutorsList.AddRange(await this.GetTutorsModelAsync(_tutors)); } else if (!string.IsNullOrEmpty(model.Subject) && !string.IsNullOrEmpty(model.Gender)) { var _tutors = await _dbContext.Tutors .Include(x => x.User) //.Include(x=>x.Sessions) //.Include(x => x.TuitionSubjects).Include(x => x.TutorAvailability) .Where(x => x.PreviousSubjects.Contains(model.Subject) && (x.User.Gender == null ? false : x.User.Gender.ToLower().Contains(model.Gender.ToLower())) ).ToListAsync(); _tutorsList.AddRange(await this.GetTutorsModelAsync(_tutors)); } else if (!string.IsNullOrEmpty(model.Gender)) { var _tutors = await _dbContext.Tutors .Include(x => x.User) //.Include(x => x.TuitionSubjects).Include(x => x.TutorAvailability) .Where(x => x.User.Gender == null ? false : x.User.Gender == model.Gender).ToListAsync(); _tutorsList.AddRange(await this.GetTutorsModelAsync(_tutors)); } else if (!string.IsNullOrEmpty(model.Subject)) { var _tutors = await _dbContext.Tutors .Include(x => x.User) //.Include(x=>x.Sessions) //.Include(x => x.TuitionSubjects).Include(x => x.TutorAvailability) .Where(x => x.PreviousSubjects.Contains(model.Subject)).ToListAsync(); _tutorsList.AddRange(await this.GetTutorsModelAsync(_tutors)); } List <TutorViewModel> __tutorsList = new List <TutorViewModel>(); foreach (var t in _tutorsList) { if (t.User.FirstName == null ? false : t.User.FirstName.ToLower().Contains(model.SearchText ?? "")) { __tutorsList.Add(t); } else if (t.User.LastName == null ? false : t.User.LastName.ToLower().Contains(model.SearchText ?? "")) { __tutorsList.Add(t); } else if (t.NameOfSchool == null ? false : t.NameOfSchool.Contains(model.SearchText ?? "")) { __tutorsList.Add(t); } } return(__tutorsList); } catch (Exception ex) { //throw error } return(_tutorsList); }
private SqlParameter[] createParameters(SearchViewModel searchViewModel) { SqlParameter zipCodeParameter = new SqlParameter { ParameterName = "@ZIP_CODE", SqlDbType = SqlDbType.VarChar, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.ZipCode == null) ? (object)DBNull.Value : searchViewModel.ZipCode }; SqlParameter radiusParameter = new SqlParameter { ParameterName = "@RADIUS", SqlDbType = SqlDbType.Int, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.QZipCodeRadius == null) ? (object)DBNull.Value : searchViewModel.QZipCodeRadius }; SqlParameter typeParameter = new SqlParameter { ParameterName = "@TYPE", SqlDbType = SqlDbType.Int, Direction = System.Data.ParameterDirection.Input, Value = searchViewModel.QType }; SqlParameter makeParameter = new SqlParameter { ParameterName = "@MAKE", SqlDbType = SqlDbType.Int, Direction = System.Data.ParameterDirection.Input, Value = searchViewModel.QMake }; SqlParameter makeOtherParameter = new SqlParameter { ParameterName = "@MAKE_OTHER", SqlDbType = SqlDbType.VarChar, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.QMakeOther == null) ? (object)DBNull.Value : searchViewModel.QMakeOther }; SqlParameter modelParameter = new SqlParameter { ParameterName = "@MODEL", SqlDbType = SqlDbType.Int, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.QModel == null) ? (object)DBNull.Value : searchViewModel.QModel }; SqlParameter modelOtherParameter = new SqlParameter { ParameterName = "@MODEL_OTHER", SqlDbType = SqlDbType.VarChar, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.QModelOther == null) ? (object)DBNull.Value : searchViewModel.QModelOther }; SqlParameter trimParameter = new SqlParameter { ParameterName = "@TRIM", SqlDbType = SqlDbType.Int, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.QModelOption == null) ? (object)DBNull.Value : searchViewModel.QModelOption }; SqlParameter trimOtherParameter = new SqlParameter { ParameterName = "@TRIM_OTHER", SqlDbType = SqlDbType.VarChar, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.QModelOptionOther == null) ? (object)DBNull.Value : searchViewModel.QModelOptionOther }; SqlParameter dealerIdParameter = new SqlParameter { ParameterName = "@DEALERID", SqlDbType = SqlDbType.Int, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.DealerId == null) ? (object)DBNull.Value : searchViewModel.DealerId }; SqlParameter engineBrandParameter = new SqlParameter { ParameterName = "@ENGINE_BRAND", SqlDbType = SqlDbType.VarChar, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.EngineBrand == null) ? (object)DBNull.Value : searchViewModel.EngineBrand }; SqlParameter horsePowerMaxParameter = new SqlParameter { ParameterName = "@HORSE_POWER_MAX", SqlDbType = SqlDbType.SmallInt, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.HorsePowerMax == null) ? (object)DBNull.Value : searchViewModel.HorsePowerMax }; SqlParameter horsePowerMinParameter = new SqlParameter { ParameterName = "@HORSE_POWER_MIN", SqlDbType = SqlDbType.SmallInt, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.HorsePowerMin == null) ? (object)DBNull.Value : searchViewModel.HorsePowerMin }; SqlParameter minYearParameter = new SqlParameter { ParameterName = "@MIN_YEAR", SqlDbType = SqlDbType.SmallInt, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.MinYear == null) ? (object)DBNull.Value : searchViewModel.MinYear }; SqlParameter maxYearParameter = new SqlParameter { ParameterName = "@MAX_YEAR", SqlDbType = SqlDbType.SmallInt, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.MaxYear == null) ? (object)DBNull.Value : searchViewModel.MaxYear }; SqlParameter minPriceParameter = new SqlParameter { ParameterName = "@MIN_PRICE", SqlDbType = SqlDbType.Decimal, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.MinPrice == null) ? (object)DBNull.Value : searchViewModel.MinPrice }; SqlParameter maxPriceParameter = new SqlParameter { ParameterName = "@MAX_PRICE", SqlDbType = SqlDbType.Decimal, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.MaxPrice == null) ? (object)DBNull.Value : searchViewModel.MaxPrice }; SqlParameter minHoursParameter = new SqlParameter { ParameterName = "@MIN_HOURS", SqlDbType = SqlDbType.Int, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.MinHours == null) ? (object)DBNull.Value : searchViewModel.MinHours }; SqlParameter maxHoursParameter = new SqlParameter { ParameterName = "@MAX_HOURS", SqlDbType = SqlDbType.Int, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.MaxHours == null) ? (object)DBNull.Value : searchViewModel.MaxHours }; SqlParameter isSoldParameter = new SqlParameter { ParameterName = "@ISSOLD", SqlDbType = SqlDbType.Bit, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.IsSold == null) ? (object)DBNull.Value : searchViewModel.IsSold }; SqlParameter keywordsParameter = new SqlParameter { ParameterName = "@KEYWORDS", SqlDbType = SqlDbType.VarChar, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.KeyWords == null) ? (object)DBNull.Value : searchViewModel.KeyWords }; SqlParameter orderByParameter = new SqlParameter { ParameterName = "@ORDER_BY", SqlDbType = SqlDbType.VarChar, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.OrderBy == null) ? (object)DBNull.Value : searchViewModel.OrderBy }; SqlParameter ascendingParameter = new SqlParameter { ParameterName = "@ASCENDING", SqlDbType = SqlDbType.VarChar, Direction = System.Data.ParameterDirection.Input, Value = (searchViewModel.Ascending == null) ? (object)DBNull.Value : searchViewModel.Ascending }; SqlParameter resultsPerPageParameter = new SqlParameter { ParameterName = "@RESULTS_PER_PAGE", SqlDbType = SqlDbType.SmallInt, Direction = System.Data.ParameterDirection.Input, Value = searchViewModel.ResultsPerPage }; SqlParameter pageNumParameter = new SqlParameter { ParameterName = "@PAGE_NUM", SqlDbType = SqlDbType.SmallInt, Direction = System.Data.ParameterDirection.Input, Value = searchViewModel.PageNum }; SqlParameter totalResultsParameter = new SqlParameter { ParameterName = "@TOTAL_RESULTS", SqlDbType = SqlDbType.Int, Direction = System.Data.ParameterDirection.Output }; var sqlParams = new[] { zipCodeParameter, radiusParameter, typeParameter, makeParameter, makeOtherParameter, modelParameter, modelOtherParameter, trimParameter, trimOtherParameter, dealerIdParameter, engineBrandParameter, horsePowerMaxParameter, horsePowerMinParameter, minYearParameter, maxYearParameter, minPriceParameter, maxPriceParameter, minHoursParameter, maxHoursParameter, isSoldParameter, keywordsParameter, orderByParameter, ascendingParameter, resultsPerPageParameter, pageNumParameter, totalResultsParameter }; return(sqlParams); }
public ActionResult Partial(SearchViewModel searchModel) { return(PartialView(searchModel)); }
// GET: Home public ActionResult Index(string restaurantName, string sortColumn, string direction, int pageIndex = 1, int categoryID = 0) { RestaurantsS1Entities dbContext = new RestaurantsS1Entities(); List <Category> allCategories = dbContext.Categories.ToList(); ViewBag.AllCategories = new SelectList(allCategories, "ID", "Name", categoryID); IQueryable <Restaurant> records = dbContext.Restaurants.AsQueryable(); //first filter the results if (string.IsNullOrEmpty(restaurantName) == false) { records = records.Where(r => r.Name.Contains(restaurantName)); } if (categoryID != 0) { records = records.Where(r => r.CategoryID == categoryID); } //then sort by the specified column string sortColDirection = sortColumn + direction; switch (sortColDirection) { case "Category": records = records.OrderBy(r => r.Category.Name); break; case "CategoryDesc": records = records.OrderByDescending(r => r.Category.Name); break; case "City": records = records.OrderBy(r => r.City.Name); break; case "CityDesc": records = records.OrderByDescending(r => r.City.Name); break; case "NameDesc": records = records.OrderByDescending(r => r.Name); break; default: records = records.OrderBy(r => r.Name); break; } //convert the IQueryable list to list (i.e. retrieve the data from the database) //List<Restaurant> list = records.ToList(); //old List <Restaurant> list = records .Skip((pageIndex - 1) * SearchViewModel.PageSize) .Take(SearchViewModel.PageSize) .ToList(); int allRecordsCount = records.Count(); // //create the view model //SearchViewModel viewModel = new SearchViewModel(list); //old SearchViewModel viewModel = new SearchViewModel(list, pageIndex, allRecordsCount); viewModel.LastSortColumn = sortColumn; viewModel.LastSortDirection = direction; return(View(viewModel)); }
public SearchPage() { ViewModel = new SearchViewModel(); this.InitializeComponent(); Microsoft.HockeyApp.HockeyClient.Current.TrackEvent(this.GetType().FullName); }
private void SearchViewControl_OnLoaded(object sender, RoutedEventArgs e) { var searchViewModel = new SearchViewModel(); SearchViewControl.DataContext = searchViewModel; }
protected SearchViewModel PerformSearch(SearchViewModel Search) { try { if (TryValidateModel(Search)) { if (!string.IsNullOrWhiteSpace(Search.SearchQuery)) { List <string> searchTerms = new List <string>(Search.SearchQuery.Split(" ")); string excludedTerms = string.Empty; string includedTerms = string.Empty; string searchQuery = string.Empty; foreach (string term in searchTerms) { if (term.StartsWith('-')) { excludedTerms += $"+{term.Substring(1)}"; } else if (term.StartsWith('+')) { includedTerms += $"+{term.Substring(1)}"; } else { searchQuery += $"+{term}"; } } if (!string.IsNullOrWhiteSpace(excludedTerms)) { excludedTerms = excludedTerms.Substring(1); } if (!string.IsNullOrWhiteSpace(includedTerms)) { includedTerms = includedTerms.Substring(1); } if (!string.IsNullOrWhiteSpace(searchQuery)) { searchQuery = searchQuery.Substring(1); } string query = $"{GetApiString(Search.api)}{searchQuery}&start={Search.Index*10 +1}"; if (!string.IsNullOrWhiteSpace(includedTerms)) { query += $"&exactTerms={includedTerms}"; } if (!string.IsNullOrWhiteSpace(excludedTerms)) { query += $"&excludeTerms={excludedTerms}"; } string json = new WebClient().DownloadString(query); SearchObject.Rootobject searchObj = JsonConvert.DeserializeObject <SearchObject.Rootobject>(json); Search.Results = Get_Results(searchObj); Search.TotalResults = Convert.ToInt32(searchObj.searchInformation.totalResults); Search.SetMaxPages(); } } } catch { Search = new SearchViewModel(); } return(Search); }
public async Task <IActionResult> Search(string searchString) { var getu = _userManager.GetUserId(User); ViewBag.loggedinuser = getu; var comp = (from i in _context.CompanyClaim where i.UserId == getu select i.CompanyId).Single(); var logostring = (from i in _context.TheCompanyInfo where i.CompanyId == comp select i.Logo).Single(); ViewBag.logostring = logostring; var top = (from i in _context.SOPTopTemplates where i.CompanyId == comp select i.TopTempId).Single(); var getinstances = from m in _context.SOPNewTemplate select m; if (!String.IsNullOrEmpty(searchString)) { getinstances = getinstances.Where(s => s.TempName.Contains(searchString)); } var newtemps = (from t in _context.SOPNewTemplate where t.TopTempId == top select new SOPTemplateList { SOPTemplateID = t.SOPTemplateID, TempName = t.TempName, SOPCode = t.SOPCode, ExpireDate = t.ExpireDate }).ToList(); ViewBag.newtemps = newtemps; var getexe = (from y in _context.ExecutedSop select new SOPTemplateList { ExecuteSopID = y.ExecuteSopID, SectionId = y.SectionId, UserId = y.UserId }).ToList(); ViewBag.getexe = getexe; var getinst = (from y in _context.NewInstance select new SOPTemplateList { SOPTemplateID = y.SOPTemplateID, InstanceExpire = y.InstanceExpire, ProjectId = y.ProjectId, InstanceRef = y.InstanceRef, InstanceId = y.InstanceId }).ToList(); ViewBag.getinst = getinst; ViewBag.searchString = searchString; ViewBag.getinstances = getinstances; var theprojects = (from x in _context.Projects where x.CompId == comp select new SOPTemplateList { ProjectId = x.ProjectId, ProjectName = x.ProjectName }).ToList(); ViewBag.theprojects = theprojects; var instanceVM = new SearchViewModel(); return(View(await getinstances.ToListAsync())); }
public ActionResult GridCustomCall(SearchViewModel search) { return(PartialView("_Grid", GetData(search, true))); }
public async Task <IActionResult> infoper([FromBody] SearchViewModel request) { var user = await userManager.FindByIdAsync(request.Id); return(new OkObjectResult(new { user.FirstName, user.LastName, user.pan1, user.pan2 })); }
//client id //a6603f0e913d4511bdfe8aa0c167d293 //client secret //aaf58db86409493487c372a89a7b5abc public ActionResult Index() { var model = new SearchViewModel(); return(View(model)); }
/// <summary> /// This returns the results for Search Result View /// </summary> /// <param name="searchText">search Text</param> /// <param name="selectedTab">selected Tab Text</param> /// <returns>EntityViewModel collection</returns> private async Task <JsonResult> GetSearchResults(string searchText, string selectedTab, int currentPage, SearchViewModel searchQuery, SearchSortBy sortBy = SearchSortBy.Rating) { ViewData["SearchText"] = searchText = (string.IsNullOrWhiteSpace(searchText) || searchText.ToLower(CultureInfo.CurrentCulture).Equals(Resources.DefaultSearchText.ToLower(CultureInfo.CurrentCulture))) ? string.Empty : searchText; ViewData["SearchMessage"] = string.Empty; IEnumerable <EntityViewModel> results = null; var pageDetails = new PageDetails(currentPage); if (!string.IsNullOrWhiteSpace(searchText)) { pageDetails.ItemsPerPage = searchQuery.ResultsPerPage; var searchQueryDetails = new SearchQueryDetails(); if (searchQuery.ContentTypeFilter != null) { foreach (var contentFilterValue in searchQuery.ContentTypeFilter.Split(',')) { searchQueryDetails.ContentTypeFilter.Add(Convert.ToInt32(contentFilterValue, CultureInfo.CurrentCulture)); } } if (searchQuery.CategoryFilter != null) { foreach (var categoryFilterValue in searchQuery.CategoryFilter.Split(',')) { searchQueryDetails.CategoryFilter.Add(Convert.ToInt32(categoryFilterValue, CultureInfo.CurrentCulture)); } } searchQueryDetails.SortBy = searchQuery.SortBy.ToEnum <string, SearchSortBy>(sortBy); results = await _searchService.SimpleSearch(searchText.Replace("'", "''"), CurrentUserId, pageDetails, searchQueryDetails); // If the total count of items are less than the selected per page items, select previous per page items //ViewData["CurrentPage"] = currentPage; //ViewData["TotalPage"] = pageDetails.TotalPages; //ViewData["TotalCount"] = pageDetails.TotalCount; } return(Json(new{ searchResults = results, pageInfo = pageDetails })); }
public SearchPage() { InitializeComponent(); BindingContext = viewModel = new SearchViewModel(); }
public JsonResult Order(PriceSortBy?order, string pattern) { var model = new SearchViewModel(this.armchairDb, this.chairDb, this.cubeSeatDb, this.sofaDb, pattern, base.BasketCount, order); return(Json(new { armchairs = model.Armchairs, sofas = model.Sofas, chairs = model.Chairs, cubeSeats = model.CubeSeat }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Main method to query the database, in other function there is sorting needed /// </summary> /// <param name="sourceList">IQueryable database</param> /// <param name="model">temp output model</param> /// <returns>search model with content</returns> private SearchViewModel WideSearch(IQueryable <FileIndexItem> sourceList, SearchViewModel model) { var predicates = new List <Expression <Func <FileIndexItem, bool> > >(); // .AsNoTracking() => never change data to update for (var i = 0; i < model.SearchIn.Count; i++) { Enum.TryParse <SearchViewModel.SearchInTypes>(model.SearchIn[i].ToLowerInvariant(), true, out var searchInType); if (model.SearchForOptions[i] == SearchViewModel.SearchForOptionType.Not) { continue; } switch (searchInType) { case SearchViewModel.SearchInTypes.imageformat: Enum.TryParse <ExtensionRolesHelper.ImageFormat>( model.SearchFor[i].ToLowerInvariant(), out var castImageFormat); predicates.Add(x => x.ImageFormat == castImageFormat); break; case SearchViewModel.SearchInTypes.description: // need to have description out of the Func<> // ToLowerInvariant.Contains(__description_1))' could not be translated. var description = model.SearchFor[i]; predicates.Add(x => x.Description.ToLower().Contains(description)); break; case SearchViewModel.SearchInTypes.filename: var filename = model.SearchFor[i]; predicates.Add(x => x.FileName.ToLower().Contains(filename)); break; case SearchViewModel.SearchInTypes.filepath: var filePath = model.SearchFor[i]; predicates.Add(x => x.FilePath.ToLower().Contains(filePath)); break; case SearchViewModel.SearchInTypes.parentdirectory: var parentDirectory = model.SearchFor[i]; predicates.Add(x => x.ParentDirectory.ToLower().Contains(parentDirectory)); break; case SearchViewModel.SearchInTypes.title: var title = model.SearchFor[i]; predicates.Add(x => x.Title.ToLower().Contains(title)); break; case SearchViewModel.SearchInTypes.make: // is in the database one field => will be filtered in narrowSearch var make = model.SearchFor[i]; predicates.Add(x => x.MakeModel.ToLower().Contains(make)); break; case SearchViewModel.SearchInTypes.model: // is in the database one field => will be filtered in narrowSearch var modelMake = model.SearchFor[i]; predicates.Add(x => x.MakeModel.ToLower().Contains(modelMake)); break; case SearchViewModel.SearchInTypes.filehash: var fileHash = model.SearchFor[i]; predicates.Add(x => x.FileHash != null && x.FileHash.ToLower().Contains(fileHash)); break; case SearchViewModel.SearchInTypes.software: var software = model.SearchFor[i]; predicates.Add(x => x.Software.ToLower().Contains(software)); break; case SearchViewModel.SearchInTypes.isdirectory: bool.TryParse(model.SearchFor[i].ToLowerInvariant(), out var boolIsDirectory); predicates.Add(x => x.IsDirectory == boolIsDirectory); model.SearchFor[i] = boolIsDirectory.ToString(); break; case SearchViewModel.SearchInTypes.lastedited: predicates.Add(new SearchWideDateTime(). WideSearchDateTimeGet(model, i, SearchWideDateTime.WideSearchDateTimeGetType.LastEdited)); break; case SearchViewModel.SearchInTypes.addtodatabase: predicates.Add(new SearchWideDateTime(). WideSearchDateTimeGet(model, i, SearchWideDateTime.WideSearchDateTimeGetType.AddToDatabase)); break; case SearchViewModel.SearchInTypes.datetime: predicates.Add(new SearchWideDateTime(). WideSearchDateTimeGet(model, i, SearchWideDateTime.WideSearchDateTimeGetType.DateTime)); break; case SearchViewModel.SearchInTypes.colorclass: Enum.TryParse <ColorClassParser.Color>( model.SearchFor[i].ToLowerInvariant(), out var castColorClass); predicates.Add(x => x.ColorClass == castColorClass); break; case SearchViewModel.SearchInTypes.tags: default: var tags = model.SearchFor[i]; predicates.Add(x => x.Tags.ToLower().Contains(tags)); break; } // Need to have the type registered in FileIndexPropList } _logger?.LogInformation($"search --> {model.SearchQuery}"); var predicate = PredicateBuilder.False <FileIndexItem>(); for (int i = 0; i < predicates.Count; i++) { if (i == 0) { predicate = predicates[i]; } else { var item = predicates[i - 1]; var item2 = predicates[i]; // Search for OR if (!model.SearchOperatorContinue(i, model.SearchIn.Count)) { predicate = item.Or(item2); continue; } predicate = item.AndAlso(item2); } } model.FileIndexItems = sourceList.Where(predicate).ToList(); return(model); }
public SearchPage() { ViewModel = new SearchViewModel(); this.InitializeComponent(); new Microsoft.ApplicationInsights.TelemetryClient().TrackPageView(this.GetType().FullName); }
public ActionResult Search(string departureCity, string destinationCity, int?adults, string departureDate, string returnDate, string classType, int?children) { children = children ?? 0; adults = adults ?? 1; if (String.IsNullOrEmpty(departureCity) || String.IsNullOrEmpty(destinationCity) || String.IsNullOrEmpty(departureDate)) { ModelState.AddModelError("", "Departure City, Destination City and Departure Date are required fields"); var flights = db.Flights.Select(x => x); var searchVM = new SearchViewModel() { departuresList = flights.Select(x => x.Departure_Airport).Distinct().ToList(), destinationsList = flights.Select(x => x.Arrival_Airport).Distinct().ToList() }; return(View()); } else { var results = db.Flights.Select(x => x); List <Flights> resultsGo = new List <Flights>(); List <Flights> resultsReturn = new List <Flights>(); DateTime datevalue; DateTime dep; DateTime ret; if (DateTime.TryParse(departureDate, out datevalue)) { dep = datevalue; } else { dep = new DateTime(1970, 01, 01); } if (DateTime.TryParse(returnDate, out datevalue)) { ret = datevalue; } else { ret = new DateTime(1970, 01, 01); } if (String.IsNullOrEmpty(returnDate)) { if (String.IsNullOrEmpty(destinationCity) && (children + adults) > 0 && !String.IsNullOrEmpty(departureDate)) { resultsGo = results.OrderBy(x => x.Departure_Date).Where(x => x.Departure_Airport == departureCity && x.Arrival_Airport == destinationCity && x.Available_Seats >= (children + adults) && DbFunctions.TruncateTime(x.Departure_Date) == DbFunctions.TruncateTime(dep) && DbFunctions.TruncateTime(x.Departure_Date) >= DateTime.Today).ToList(); } } else { resultsGo = results.OrderBy(x => x.Departure_Date) .Where(x => x.Departure_Airport == departureCity && x.Arrival_Airport == destinationCity && x.Available_Seats >= (children + adults) && DbFunctions.TruncateTime(x.Departure_Date) == DbFunctions.TruncateTime(dep) && DbFunctions.TruncateTime(x.Departure_Date) >= DateTime.Today).ToList(); resultsReturn = results.OrderBy(x => x.Departure_Date) .Where(x => x.Departure_Airport == destinationCity && x.Arrival_Airport == departureCity && x.Available_Seats >= (children + adults) && DbFunctions.TruncateTime(x.Departure_Date) == DbFunctions.TruncateTime(ret) && DbFunctions.TruncateTime(x.Departure_Date) >= DateTime.Today).ToList(); var searchVM = new SearchViewModel() { adults = (int)adults, children = (int)children, classType = classType, resultsGo = resultsGo, resultsReturn = resultsReturn, departuresList = db.Flights.Select(x => x.Departure_Airport).Distinct().ToList() }; return(View(searchVM)); } return(View()); } }
public ActionResult Grid(SearchViewModel search) { return(PartialView("_Grid", GetData(search, false))); }
public SearchViewModel GetReceiptsBySearch(string query) { IQueryable <ReceiptViewModel> locationFiledQuery = dbContext.Receipts .Where(receipt => receipt.Location.ToLower().Contains(query.ToLower())) .Select(receipt => new ReceiptViewModel { Id = receipt.IdReceipt, TransactionMethod = dbContext.TransMethods .Where(transactionMethod => transactionMethod.IdTransMethod == receipt.IdTransactionMethod) .Select(method => new TransactionMethods { ImagePath = method.TransImagePath, PaymentMethod = method.PaymentMethod }).Single(), Location = receipt.Location, DateTime = receipt.FullDate, Price = receipt.Price, StoreItems = receipt.StoreItems.Select(item => new StoreItem { Amount = item.Amount, Currency = item.Currency, Name = item.Name }).ToList() }); IQueryable <ReceiptViewModel> itemsFieldQuery = dbContext.Receipts .Where(receipt => receipt.StoreItems .Select(item => new StoreItem { Name = item.Name }).Single().Name.ToLower().Contains(query.ToLower())) .Select(receipt => new ReceiptViewModel { Id = receipt.IdReceipt, TransactionMethod = dbContext.TransMethods .Where(transactionMethod => transactionMethod.IdTransMethod == receipt.IdTransactionMethod) .Select(method => new TransactionMethods { ImagePath = method.TransImagePath, PaymentMethod = method.PaymentMethod }).Single(), Location = receipt.Location, DateTime = receipt.FullDate, Price = receipt.Price, StoreItems = receipt.StoreItems .Select(item => new StoreItem { Amount = item.Amount, Currency = item.Currency, Name = item.Name }).ToList() }); Task <List <ReceiptViewModel> > locationsSearched = locationFiledQuery.AsNoTracking().ToListAsync(); Task <List <ReceiptViewModel> > itemsSearched = itemsFieldQuery.AsNoTracking().ToListAsync(); SearchViewModel searchQuery = new SearchViewModel { Query = query, LocationsFoundedAsync = locationsSearched, ItemsFoundedAsync = itemsSearched, ResultCounter = locationFiledQuery.Count() + itemsFieldQuery.Count() }; return(searchQuery); }
public static ResponseViewModel<PageViewModel<GetProductList_Result>> GetProductList(SearchViewModel searchViewModel) { using (EcommerceEntities entities = new EcommerceEntities()) { ResponseViewModel<PageViewModel<GetProductList_Result>> ViewModel = new ResponseViewModel<PageViewModel<GetProductList_Result>>(); List<GetProductList_Result> getProductResult = new List<GetProductList_Result>(); PageViewModel<GetProductList_Result> pageViewModel = new PageViewModel<GetProductList_Result>(); getProductResult = entities.GetProductList(searchViewModel.pageIndex, searchViewModel.pageSize, searchViewModel.searchText == ""?null:searchViewModel.searchText, searchViewModel.sortOrder, searchViewModel.sortColoumn).ToList(); pageViewModel.Data = getProductResult; pageViewModel.totalRecords = getProductResult.Count(); if(((pageViewModel.totalRecords % searchViewModel.pageSize) == 0)) { if(pageViewModel.totalRecords < searchViewModel.pageSize) { pageViewModel.totalPage = 1; } else { pageViewModel.totalPage = (pageViewModel.totalRecords / searchViewModel.pageSize); } } else { pageViewModel.totalPage = (pageViewModel.totalRecords / 10) + 1; } ViewModel.Data = pageViewModel; return ViewModel; } }
public StringBuilder BuildQuery(SearchViewModel model) { var query = new StringBuilder(); // add hidden search field query.AppendFormat("-{0}:1 ", model.HideFromSearchField); // Set search path var contentPathFilter = model.RootContentNodeId > 0 ? $"{StaticValues.Properties.__IndexType}:{UmbracoExamine.IndexTypes.Content} +searchPath:{model.RootContentNodeId} -template:0" : $"{StaticValues.Properties.__IndexType}:{UmbracoExamine.IndexTypes.Content} -template:0"; var mediaPathFilter = model.RootMediaNodeId > 0 ? $"{StaticValues.Properties.__IndexType}:{UmbracoExamine.IndexTypes.Media} +searchPath:{model.RootMediaNodeId}" : $"{StaticValues.Properties.__IndexType}:{UmbracoExamine.IndexTypes.Media}"; switch (model.IndexType) { case UmbracoExamine.IndexTypes.Content: query.AppendFormat("+({0}) ", contentPathFilter); break; case UmbracoExamine.IndexTypes.Media: query.AppendFormat("+({0}) ", mediaPathFilter); break; default: query.AppendFormat("+(({0}) ({1})) ", contentPathFilter, mediaPathFilter); break; } // Ensure page contains all search terms in some way foreach (string term in model.SearchTerms) { var groupedOr = new StringBuilder(); foreach (string searchField in model.SearchFields) { //check if phrase or keyword bool isPhraseTerm = term.IndexOf(' ') != -1; //contains space - is phrase if (!isPhraseTerm) { groupedOr.AppendFormat("{0}:{1}* ", searchField, term); } else { //lucene phrase searches should be enclosed in quotes and don't support wildcard groupedOr.AppendFormat(@"{0}:""{1}"" ", searchField, term); } } query.Append("+(" + groupedOr + ") "); } // Rank content based on positon of search terms in fields for (var i = 0; i < model.SearchFields.Count; i++) { foreach (string term in model.SearchTerms) { //check if phrase or keyword bool isPhraseTerm = term.IndexOf(' ') != -1; //contains space - is phrase if (!isPhraseTerm) { query.AppendFormat("{0}:{1}*^{2} ", model.SearchFields[i], term, model.SearchFields.Count - i); } else { //lucene phrase searches should be enclosed in quotes and don't support wildcard query.AppendFormat(@"{0}:""{1}""^{2} ", model.SearchFields[i], term, model.SearchFields.Count - i); } } } return(query); }
public async Task <IActionResult> Index() { SearchViewModel model = await this.PrepareSearchViewModel(); return(View(model)); }