Ejemplo n.º 1
0
        public IActionResult SearchGet(string query, string orderBy = "relevance")
        {
            if (query == null)
            {
                return(View("../Admin/Search", new AdminSearchViewModel()));
            }

            var viewModel = new AdminSearchViewModel {
                SearchQuery = query, OrderBy = orderBy
            };

            if (string.IsNullOrWhiteSpace(query))
            {
                viewModel.Error = "Search query must not be empty";
            }
            else
            {
                bool orderByRelevance = orderBy == "relevance";
                AdminSearchResultsViewModel results = adminSearchService.Search(query, orderByRelevance);

                viewModel.SearchResults = results;
            }

            return(View("../Admin/Search", viewModel));
        }
Ejemplo n.º 2
0
        public IActionResult Search(string searchTerm, string categoryName, int pagenumber = 1)
        {
            var news = _newsService.SearchByCategoryandSearchTerm(searchTerm, categoryName);

            var newsList = new List <NewsWithAuthor>();

            foreach (var item in news)
            {
                newsList.Add(new NewsWithAuthor
                {
                    News = item,

                    AuthorName = item.AuthorId == null
                                      ? "Undefined"
                                      : _userManager.FindByIdAsync(item.AuthorId).Result.UserName ?? "Undefined"
                });
            }
            var adminSearchViewModel = new AdminSearchViewModel()
            {
                News         = newsList.ToPagedList(pagenumber, 10),
                SearchTerm   = searchTerm,
                CategoryName = categoryName
            };

            return(View(adminSearchViewModel));
        }
Ejemplo n.º 3
0
        public ActionResult Index(PagerParameters pagerParameters, AdminSearchViewModel adminViewModel)
        {
            var categoriesList = _campCategService.GetAllCategories().OrderBy(c => c.Name).ToList();

            if (!string.IsNullOrEmpty(adminViewModel.SearchString))
            {
                categoriesList = categoriesList.Where(c => c.Name.ToLower().Contains(adminViewModel.SearchString)).OrderBy(c => c.Name).ToList();
            }

            var entriesProjection = categoriesList.Select(e =>
            {
                return(Shape.FaqEntry(
                           Id: e.Id,
                           Name: e.Name,
                           IsVisible: e.IsVisible
                           ));
            });

            var pager      = new Pager(_siteService.GetSiteSettings(), pagerParameters.Page, pagerParameters.PageSize);
            var entries    = entriesProjection.Skip(pager.GetStartIndex()).Take(pager.PageSize);
            var pagerShape = Shape.Pager(pager).TotalItemCount(entriesProjection.Count());

            return(View("Index", new AdminSearchViewModel {
                CampaignCategoriesList = entries.ToArray(), Action = Actions, Pager = pagerShape
            }));
        }
Ejemplo n.º 4
0
        public ActionResult AdsList(string search, int?page, ItemsPerPage itemsPerPage = ItemsPerPage.p05, SearchConfirm searchconfirm = SearchConfirm.all)
        {
            try
            {
                var    query  = from obj in _ctx.Houses select obj;
                string header = "";
                switch (searchconfirm)
                {
                case 0:
                    query  = query.Where(x => x.IsConfirmed == Confirmation.Pass);
                    header = "Έγγκεκριμένες αγγελίες ";
                    break;

                case (SearchConfirm)1:
                    query  = query.Where(x => x.IsConfirmed == Confirmation.Pending);
                    header = "Εκκρεμών αγγελίες";
                    break;

                case (SearchConfirm)2:
                    query  = query.Where(x => x.IsConfirmed == Confirmation.Cancel);
                    header = "Απορριφθέντες αγγελίες";
                    break;

                default:
                    header = "Όλες οι αγγελίες";
                    break;
                }

                var houses = query
                             .Include(x => x.Area)
                             .Include(x => x.State)
                             .Include(x => x.User)
                             .OrderByDescending(x => x.Created)
                             .ToList().ToPagedList(page ?? 1, (int)itemsPerPage);


                AdminSearchViewModel vm = new AdminSearchViewModel
                {
                    Houses        = houses,
                    ItemsPerPage  = itemsPerPage,
                    SearchConfirm = searchconfirm,
                };
                ViewBag.Header = header;
                return(View(vm));
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, $"{ex.Message}"));
            }
        }
Ejemplo n.º 5
0
        private AdminSearchViewModel GetCourseBySearchQuery(AdminSearchViewModel model)
        {
            var dto = _adminService.GetAllCourseBySearchQuery(new SearchFormHomeDto
            {
                Countries = model.Countries.Select(x => x.Text).ToList(),
                Types     = model.Types.Select(x => x.Text).ToList(),
                Country   = model.Country,
                Query     = model.Query,
                Type      = model.Type,
            });

            model.SearchResultAjaxFormViewModel = _mapper.Map <List <SearchResultAjaxFormViewModel> >(dto);

            return(model);
        }
Ejemplo n.º 6
0
        public IActionResult SearchFormAjax([Bind("Type", "Country", "Query", "Types", "Countries")] AdminSearchViewModel model)
        {
            var searchOptionModel = SetCountriesAndTypesViewModel();

            model.Types     = searchOptionModel.Types;
            model.Countries = searchOptionModel.Countries;

            if (ModelState.IsValid)
            {
                model = GetCourseBySearchQuery(model);

                return(PartialView("_CourseSearchResult", model.SearchResultAjaxFormViewModel));
            }

            return(PartialView("_CourseSearchResult", model.SearchResultAjaxFormViewModel));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> Search(PagerParameters pagerParameters, IList <KeyValuePair <string, string[]> > filters, string searchTerm)
        {
            var siteSettings = await _siteService.GetSiteSettingsAsync();

            var searchContext = new AdminSearchContext
            {
                Index               = _adminSearchSettings.AdminSearchIndex,
                ContentTypes        = _contentDefinitionManager.ListTypeDefinitions().Select(c => c.Name).ToArray(), // TODO: Once content types have a setting for which indexes they use, this should be updated to obey that
                IndexFieldsToSearch = _adminSearchSettings.AdminSearchFields,
                PageSize            = pagerParameters.PageSize ?? siteSettings.PageSize,
                PageNumber          = pagerParameters.Page ?? 1,
                Filters             = filters,
                SearchTerm          = searchTerm
            };

            var searchResults = new AdminSearchResult();

            if (filters.Any() || !string.IsNullOrWhiteSpace(searchTerm))
            {
                searchResults = await _searchService.SearchContent(searchContext);
            }

            var model = new AdminSearchViewModel
            {
                SearchFilters    = await _adminSearchFilters.InvokeAsync(x => x.GetFilter(searchContext.ContentTypes), null),
                SearchTerm       = searchContext.SearchTerm,
                ContentItems     = searchResults.ContentItems,
                TotalRecordCount = searchResults.TotalRecordCount,
                PageSize         = searchContext.PageSize,
                PageNumber       = searchContext.PageNumber,
                Filters          = searchContext.Filters
            };

            var pager      = new Pager(pagerParameters, siteSettings.PageSize);
            var pagerShape = (await New.Pager(pager))
                             .TotalItemCount(searchResults.TotalRecordCount)
                             .ShowNext(searchResults.TotalRecordCount > searchContext.PageSize * (searchContext.PageNumber + 1));

            model.Pager = pagerShape;

            return(View(model));
        }
Ejemplo n.º 8
0
        public ActionResult ChangeNameCategory(AdminSearchViewModel adminViewModel)
        {
            if (!string.IsNullOrEmpty(adminViewModel.NewCategory))
            {
                if (_campCategService.ChnageNameCategory(adminViewModel.CategoryId, adminViewModel.NewCategory))
                {
                    Services.Notifier.Add(Orchard.UI.Notify.NotifyType.Information, T("The name was chenged successfully!"));
                }
                else
                {
                    Services.Notifier.Add(Orchard.UI.Notify.NotifyType.Error, T("Can not change name for category. Try again late!"));
                }
            }
            else
            {
                Services.Notifier.Add(Orchard.UI.Notify.NotifyType.Warning, T("You did not enter a name for the update"));
            }

            return(this.RedirectToAction("EditCategory", new { id = adminViewModel.CategoryId, searchString = adminViewModel.SearchString, searchStringOther = adminViewModel.SearchStringOther }));
        }
Ejemplo n.º 9
0
        private AdminSearchViewModel SetCountriesAndTypesViewModel()
        {
            var model = new AdminSearchViewModel();
            var dto   = _homeService.ConfigureCountriesAndTypes(new SearchFormHomeDto());

            foreach (var country in dto.Countries)
            {
                model.Countries.Add(new SelectListItem {
                    Value = country, Text = country
                });
            }

            foreach (var type in dto.Types)
            {
                model.Types.Add(new SelectListItem {
                    Value = type, Text = type
                });
            }

            return(model);
        }
Ejemplo n.º 10
0
        public ActionResult Index(SearchParams search)
        {
            if (TempData["DeleteSearchParams"] != null)
            {
                search = (SearchParams)TempData["DeleteSearchParams"];
                TempData["DeleteSearchParams"] = null;
            }
            var companies = _companyRepository.GetCompanySearch(search, out var hasMore, out var count);

            ViewBag.HasMoreResults = hasMore;
            ViewBag.Count          = count;
            ViewBag.IndustryList   = _companyRepository.GetIndustryList();

            var model = new AdminSearchViewModel
            {
                Companies    = companies,
                SearchParams = search
            };

            return(View(model));
        }
        public IActionResult SearchGet(string query)
        {
            if (query == null)
            {
                return(View("../Admin/Search", new AdminSearchViewModel()));
            }

            var viewModel = new AdminSearchViewModel {
                SearchQuery = query
            };

            if (string.IsNullOrWhiteSpace(query))
            {
                viewModel.Error = "Search query must not be empty";
            }
            else
            {
                var results = adminSearchService.Search(query);

                viewModel.SearchResults = results;
            }

            return(View("../Admin/Search", viewModel));
        }
Ejemplo n.º 12
0
        public ActionResult AddNewCategory(AdminSearchViewModel adminViewModel)
        {
            if (!string.IsNullOrEmpty(adminViewModel.NewCategory))
            {
                if (_campCategService.AddCategory(adminViewModel.NewCategory) > 0)
                {
                    Services.Notifier.Add(Orchard.UI.Notify.NotifyType.Information, T("The New Category has been created."));
                }
                else
                {
                    Services.Notifier.Add(Orchard.UI.Notify.NotifyType.Warning, T("This Category already exists!"));
                }
            }
            else
            {
                Services.Notifier.Add(Orchard.UI.Notify.NotifyType.Error, T("Please, enter name of the Category"));
            }

            //CampaignCategoriesPart campaignCategoryPart = Services.ContentManager.New<CampaignCategoriesPart>("CampaignCategories");
            //var model = Services.ContentManager.BuildEditor(campaignCategoryPart);


            return(this.RedirectToAction("Index"));
        }
        /*
         * this generates the table based on the search criteria given from the form on the index page.
         * the search variables will hold data based on what the admin wants to search users by.
         * the Filter variables are used to hold/store the search variables when a page change is made, this way you don't
         * lose the search criteria when you change to another page of the table.
         */
        public PartialViewResult _UserSearchResults(
            string sortOrder,
            string nameFilter, string hometownFilter, string daysFilter, string lockedOutFilter, string rolesFilter,
            string searchName, string searchHometown, string searchDays, string searchLockedOut, string searchRoles,
            int?page)
        {
            // Tanvir(23/12/16): Creating Paged List
            ViewBag.CurrentSort = sortOrder;
            ApplicationDbContext acSearchResults = new ApplicationDbContext();
            BewanderContext      bcSearchResults = new BewanderContext();

            var Users   = from u in bcSearchResults.Users select u;
            var Places  = from p in bcSearchResults.Places select p;
            int maxDays = 0;

            //these if's are needed to reset the page to 1 should the search criteria change while on a page other than 1
            //I believe you need one for each search criteria
            if (searchName != null)
            {
                page = 1;
            }
            else
            {
                searchName = nameFilter;
            }
            ViewBag.nameFilter = searchName;
            if (searchHometown != null)
            {
                page = 1;
            }
            else
            {
                searchHometown = hometownFilter;
            }
            ViewBag.hometownFilter = searchHometown;
            if (searchDays != null)
            {
                page = 1;
            }
            else
            {
                searchDays = daysFilter;
            }
            ViewBag.daysFilter = searchDays;
            if (searchLockedOut != null)
            {
                page = 1;
            }
            else
            {
                searchLockedOut = lockedOutFilter;
            }
            ViewBag.lockedOutFilter = searchLockedOut;
            if (searchRoles != null)
            {
                page = 1;
            }
            else
            {
                searchRoles = rolesFilter;
            }
            ViewBag.rolesFilter = searchRoles;
            if (!String.IsNullOrEmpty(searchName))
            {
                Users = Users.Where(u => u.LastName.ToLower().Contains(searchName.ToLower()) || u.FirstName.ToLower().Contains(searchName.ToLower()));
            }

            if (!String.IsNullOrEmpty(searchHometown))
            {
                Places = Places.Where(p => p.Name.ToLower().Contains(searchHometown.ToLower()));
            }

            if (!String.IsNullOrEmpty(searchDays))
            {
                maxDays = int.Parse(searchDays);
            }

            int pageSize   = 20;
            int pageNumber = (page ?? 1);

            // End of PagedList


            // Create ViewModel to run list function
            AdminSearchViewModel vm = new AdminSearchViewModel();
            // Assemble lists to be passed to list function
            List <AdminSearchViewModel> viewModels       = new List <AdminSearchViewModel>();
            List <ApplicationUser>      applicationUsers = acSearchResults.Users.ToList();
            List <User>        users        = Users.ToList();
            List <UserProfile> userProfiles = bcSearchResults.UserProfiles.ToList();
            List <Place>       places       = Places.ToList();
            List <Review>      reviews      = bcSearchResults.Reviews.ToList();
            List <Post>        posts        = bcSearchResults.Posts.ToList();

            //pass data to list function
            vm.AdminSearchList(viewModels,
                               users,
                               userProfiles,
                               places,
                               applicationUsers,
                               posts,
                               reviews,
                               searchHometown,
                               maxDays,
                               searchLockedOut,
                               searchRoles
                               );
            // for each viewModel, convert Id hash store in Role to name of role
            foreach (AdminSearchViewModel viewModel in viewModels)
            {
                viewModel.Role = acSearchResults.Roles.Where(a => a.Id == viewModel.Role).Select(a => a.Name).FirstOrDefault();
            }

            //SORTING CODE HERE
            ViewBag.NameSort        = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            ViewBag.DaysSort        = sortOrder == "Days" ? "days_desc" : "Days";
            ViewBag.HometownSort    = String.IsNullOrEmpty(sortOrder) ? "hometown_desc" : "";
            ViewBag.FlaggedPostSort = sortOrder == "Flagged Posts" ? "flagged_post_desc" : "Flagged Posts";
            ViewBag.LockedOutSort   = sortOrder == "Locked Out" ? "locked_out_desc" : "Locked Out";
            ViewBag.RolesSort       = sortOrder == "Roles" ? "roles_desc" : "Roles";

            switch (sortOrder)
            {
            case "name_desc":
                viewModels = viewModels.OrderByDescending(v => v.LastName).ToList();
                break;

            case "Days":
                viewModels = viewModels.OrderBy(v => v.DaysAsMember).ToList();
                break;

            case "days_desc":
                viewModels = viewModels.OrderByDescending(v => v.DaysAsMember).ToList();
                break;

            case "hometown_desc":
                viewModels = viewModels.OrderByDescending(v => v.HomeTownName).ToList();
                break;

            case "Flagged Posts":
                viewModels = viewModels.OrderBy(v => v.PostFlag).ToList();
                break;

            case "flagged_post_desc":
                viewModels = viewModels.OrderByDescending(v => v.PostFlag).ToList();
                break;

            case "Locked Out":
                viewModels = viewModels.OrderBy(v => v.LockOutEnabled).ToList();
                break;

            case "locked_out_desc":
                viewModels = viewModels.OrderByDescending(v => v.LockOutEnabled).ToList();
                break;

            case "Roles":
                viewModels = viewModels.OrderBy(v => v.Role).ToList();
                break;

            case "roles_desc":
                viewModels = viewModels.OrderByDescending(v => v.Role).ToList();
                break;

            default:
                viewModels = viewModels.OrderBy(v => v.LastName).ToList();
                break;
            }
            //END OF SORTING CODE

            //these need to be here, you get connection to DB issue otherwise
            acSearchResults.Dispose();
            bcSearchResults.Dispose();

            //if there are no results, display the PartialView for that.
            if (viewModels.Count == 0)
            {
                return(PartialView("_UserSearchNoResults"));
            }
            else //otherwise displays PartialView with results from search
            {
                return(PartialView("_UserSearchResults", viewModels.ToPagedList(pageNumber, pageSize)));
            }
        }
Ejemplo n.º 14
0
 public ActionResult SearchCampaignForCategory(PagerParameters pagerParameters, AdminSearchViewModel adminViewModel)
 {
     return(this.RedirectToAction("AddCampaignForCategory", new { id = adminViewModel.CategoryId, searchString = adminViewModel.SearchString }));
 }
 public AdminSearchPage()
 {
     this.InitializeComponent();
     this.viewModel   = new AdminSearchViewModel();
     this.DataContext = this.viewModel;
 }