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);
        }
Example #4
0
 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" };
 }
Example #6
0
 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);
 }
Example #7
0
        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);
 }
Example #13
0
 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);
     }
 }
Example #14
0
 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;
 }
Example #16
0
        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();
        }
Example #17
0
        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));
        }
Example #18
0
        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);
 }
Example #20
0
        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;

        }
Example #21
0
		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"]
        }
Example #26
0
 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();
 }
Example #27
0
        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;
            };
        }
Example #29
0
        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);
                }
            };
        }
Example #31
0
 public SearchView(SearchViewModel viewModel)
 {
     this.Build();
     this.viewModel = viewModel;
     ConfigureDlg();
 }
Example #32
0
 public CustomNodeSearchElementViewModel(CustomNodeSearchElement element, SearchViewModel svm)
     : base(element, svm)
 {
     Path = Model.Path;
 }
 public void Init()
 {
     model     = new NodeSearchModel();
     viewModel = new SearchViewModel(model);
 }
Example #34
0
        /// <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);
            }
        }
Example #35
0
        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
        }
Example #36
0
 public IActionResult Search(SearchViewModel Search)
 {
     Search = PerformSearch(Search);
     return(View("Index", Search));
 }
Example #37
0
        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));
        }
Example #38
0
        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));
        }
Example #39
0
        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);
        }
Example #41
0
 public ActionResult Partial(SearchViewModel searchModel)
 {
     return(PartialView(searchModel));
 }
Example #42
0
        // 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);
 }
Example #44
0
        private void SearchViewControl_OnLoaded(object sender, RoutedEventArgs e)
        {
            var searchViewModel = new SearchViewModel();

            SearchViewControl.DataContext = searchViewModel;
        }
Example #45
0
        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);
        }
Example #46
0
        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()));
        }
Example #47
0
 public ActionResult GridCustomCall(SearchViewModel search)
 {
     return(PartialView("_Grid", GetData(search, true)));
 }
Example #48
0
        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 }));
        }
Example #49
0
        //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
            }));
        }
Example #51
0
 public SearchPage()
 {
     InitializeComponent();
     BindingContext = viewModel = new SearchViewModel();
 }
Example #52
0
        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));
        }
Example #53
0
        /// <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);
        }
Example #54
0
 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());
            }
        }
Example #56
0
 public ActionResult Grid(SearchViewModel search)
 {
     return(PartialView("_Grid", GetData(search, false)));
 }
Example #57
0
        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;
     }
 }
Example #59
0
        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);
        }
Example #60
0
        public async Task <IActionResult> Index()
        {
            SearchViewModel model = await this.PrepareSearchViewModel();

            return(View(model));
        }