コード例 #1
0
        public ActionResult Instituicoes()
        {
            var model = new SearchFilterViewModel();

            model.Categorias = GetCategories();

            return(View("SearchInstitutions", model));
        }
コード例 #2
0
        public ActionResult SearchInstitutions(SearchFilterViewModel filter)
        {
            var lista = institutionService.ListByFilters(filter.SelectedCategories, filter.Nome, filter.Localidade);


            var model = ParseToResumedViewModel(lista);

            return(View("ViewInstitutions", model));
        }
コード例 #3
0
 private void InitializeSubmittedFormInfomationInViewData(SearchFilterViewModel searchFilterViewModel)
 {
     ViewData["query"]             = searchFilterViewModel.Query;
     ViewData["creationDateRange"] = searchFilterViewModel.CreationDateRange;
     ViewData["approvalDateRange"] = searchFilterViewModel.ApprovalDateRange;
     ViewData["author"]            = searchFilterViewModel.Author;
     ViewData["tags"]    = searchFilterViewModel.Tags;
     ViewData["orderBy"] = searchFilterViewModel.OrderBy;
 }
コード例 #4
0
        public IActionResult Index(SearchFilterViewModel search, int page = 1, string sort = "")
        {
            //if (ModelState.IsValid)
            //{
            var photos = _context.Photos
                         .Select(p => new PhotoViewModel
            {
                PhotoId     = p.PhotoId,
                PropertyId  = p.PropertyId,
                ImageString = string.Format("data:image/jpg;base64,{0}", Convert.ToBase64String(p.ImageData))
            });

            if (search.PhotoId != null)
            {
                photos = photos.Where(p => p.PhotoId == search.PhotoId);
            }
            if (search.PropertyId != null)
            {
                photos = photos.Where(p => p.PropertyId == search.PropertyId);
            }

            int filteredCount = photos.Count();
            int totalPages    = Convert.ToInt32(Math.Ceiling((decimal)filteredCount / PageSize));

            switch (sort.ToLower())
            {
            default:
                photos = photos.OrderBy(p => p.PropertyId);
                break;
                //case "namedesc":
                //    photos = photos.OrderByDescending(u => u.FirstName).ThenByDescending(u => u.LastName);
                //    break;
                //case "emailasc":
                //    photos = photos.OrderBy(u => u.Email);
                //    break;
                //case "emaildesc":
                //    photos = photos.OrderByDescending(u => u.Email);
                //    break;
                //case "typeasc":
                //    photos = photos.OrderBy(u => u.UsertypeSortingOrder);
                //    break;
                //case "typedesc":
                //    photos = photos.OrderByDescending(u => u.UsertypeSortingOrder);
                //    break;
            }

            photos = photos.Skip(PageSize * (page - 1)).Take(PageSize);

            return(View(photos));
            //}

            //return View();
        }
コード例 #5
0
        private async Task <List <Job> > GetFilteredJobs(SearchFilterViewModel searchFilterViewModel)
        {
            var category = searchFilterViewModel.Category;
            var jobs     = _context.Jobs
                           .Include(j => j.Company)
                           .Include(j => j.Category).AsQueryable();

            if (category != null && !category.ToLower().Equals("all"))
            {
                category         = category.ToLower();
                ViewBag.Category = category;
                jobs             = jobs.Where(j => j.Category.Name.ToLower().Equals(category));
            }
            var jobTypes           = searchFilterViewModel.Type;
            var selectedCategories = jobTypes.Where(j => j.Selected == true).Select(j => j.Value).ToList();

            if (selectedCategories.Count > 0)
            {
                jobs = jobs.Where(j => selectedCategories.Contains(j.Type));
            }

            var experienceRequired = searchFilterViewModel.Experience;
            var experienceLevels   = experienceRequired.Where(e => e.Selected == true).Select(j => j.Value).ToArray();

            if (experienceLevels.Length > 0)
            {
                var(min, max) = ExperienceLevelInfoHelper.GetNumberOfYears(experienceLevels);
                jobs          = jobs.Where(j => j.ExperienceRequired >= min && j.ExperienceRequired <= max);
            }

            var postedDuration = searchFilterViewModel.PostedWithin.Where(d => d.Selected == true).Select(d => d.Value).ToArray();

            if (postedDuration.Length > 0)
            {
                if (PostDurationHelper.ApplyDurationFilter(postedDuration, out int days))
                {
                    jobs = jobs.Where(j => j.CreatedOn.AddDays(days).Day >= DateTime.UtcNow.Day);
                }
            }

            if (searchFilterViewModel.MinSalary != null)
            {
                var minAmount = searchFilterViewModel.MinSalary * 10000;
                jobs = jobs.Where(j => j.SalaryMin >= minAmount);
            }
            if (searchFilterViewModel.MaxSalary != null)
            {
                var maxAmount = searchFilterViewModel.MaxSalary * 10000;
                jobs = jobs.Where(j => j.SalaryMin <= maxAmount);
            }
            return(await jobs.ToListAsync());
        }
コード例 #6
0
        public virtual ActionResult Search(SearchFilterViewModel filter)
        {
            var responseMVC = new ReloadHtmlContentResponse();
            var model       = new StatusSearchViewModel();

            model.Filter = filter;
            model        = GetStatusSearch(model);

            var html = this.RenderRazorViewToString("ReadPartial/NonPagedTables", model.Tables);

            responseMVC.ContentToReplace.Add("[data-section=\"NonPagedTables\"]", html);
            return(Json(responseMVC));
        }
コード例 #7
0
        public async Task <ActionResult> SearchFilters(SearchFilterViewModel searchFilterViewModel)
        {
            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var user   = _userManager.FindByIdAsync(userId).Result;
            var roles  = await _userManager.GetRolesAsync(user);

            var managementService = _resourceManagementStrategy.FindService(roles.FirstOrDefault());

            var resourceFilter = ConvertToSearchFilterDto(searchFilterViewModel);
            var resources      = managementService.SearchResourcesByFilterObject(resourceFilter, user);

            InitializeSubmittedFormInfomationInViewData(searchFilterViewModel);
            return(View("SearchResults", resources));
        }
コード例 #8
0
        public ActionResult SearchUserRecord()
        {
            var countriesList = db.Countries.ToList();
            var coursesList   = db.Courses.ToList();
            var rolesList     = db.Roles.ToList();
            SearchFilterViewModel searchFilterViewModel = new SearchFilterViewModel
            {
                CountryList = countriesList,
                CourseList  = coursesList,
                RoleList    = rolesList
            };


            return(View(searchFilterViewModel));
        }
コード例 #9
0
        public async Task <IActionResult> HomeAsync([Bind(Prefix = "Filter")] SearchFilterViewModel searchFilter)
        {
            var filteredJobs = await GetFilteredJobs(searchFilter);

            var categories = await _context.Set <JobCategory>().Include(jc => jc.Jobs).ToListAsync();

            var testimonials = await _context.Testimonials.ToListAsync();

            var blogPosts = await _context.Posts.Select(p => p.ToViewModel()).ToListAsync();

            var vm = new HomeViewModel {
                Jobs = filteredJobs, Categories = categories, Testimonials = testimonials, Posts = blogPosts
            };

            return(View(vm));
        }
コード例 #10
0
        private void Convert(SearchFilterViewModel <T> f)
        {
            m_paramIdx++;
            var param = string.Format("p{0}", m_paramIdx);

            m_parameters.Add(param, "%" + f.Term + "%");

            var q = new List <string>();

            foreach (string column in f.Columns)
            {
                q.Add(string.Format("[{0}] LIKE @{1}", column, param));
            }
            var clause = string.Format("({0})", string.Join(" OR ", q.ToArray()));

            m_clauses.Add(clause);
        }
コード例 #11
0
        private static ResourceFilter ConvertToSearchFilterDto(SearchFilterViewModel searchFilterViewModel)
        {
            var tagNames = new Collection <string>();

            if (!string.IsNullOrEmpty(searchFilterViewModel.Tags))
            {
                tagNames = new Collection <string>(searchFilterViewModel.Tags.Split(','));
            }

            var creationDateRange = searchFilterViewModel.CreationDateRange.ParseToDateRange();
            var approvalDateRange = searchFilterViewModel.ApprovalDateRange.ParseToDateRange();

            return(new ResourceFilter()
            {
                Query = searchFilterViewModel.Query, Tags = tagNames, CreationDateRange = creationDateRange,
                ApprovalDateRange = approvalDateRange, AuthorName = searchFilterViewModel.Author,
                OrderBy = searchFilterViewModel.OrderBy
            });
        }
コード例 #12
0
ファイル: TableViewModel.cs プロジェクト: jbinder/dragon
        public void SetupSearch(string searchString = "")
        {
            if (!string.IsNullOrWhiteSpace(searchString))
            {
                SortingPaging.SearchString = searchString;
            }

            var searchable = Columns.Where(c => c.Searchable);

            if (searchable.Count() > 0)
            {
                IsSearchingEnabled = true;
                var columns = searchable.ToList().ConvertAll(c => c.PropertyName);
                SearchableColumnsString = string.Join(", ", columns.ToArray());

                string term = SortingPaging.SearchString;
                if (!string.IsNullOrWhiteSpace(term))
                {
                    var filter = new SearchFilterViewModel <T>(columns, term);
                    Filters.Add(filter);
                }
            }
        }
コード例 #13
0
        public ActionResult SearchUserRecord(SearchFilterViewModel objSearchFilterViewModel)
        {
            UserInRole            userInRole            = new UserInRole();
            SearchFilterViewModel searchFilterViewModel = new SearchFilterViewModel();

            try
            {
                //var tempResult = (db.UserRegistrations.Where((i =>
                //  i.Fname.Contains(objSearchFilterViewModel.Fname.Trim()) ||
                //  i.Lname.Contains(objSearchFilterViewModel.Lname.Trim()) ||
                //  i.Email.Contains(objSearchFilterViewModel.Email.Trim()) ||
                //  i.Hobbies.Contains(objSearchFilterViewModel.Hobbies.Trim()) ||
                //  i.Gender.Contains(objSearchFilterViewModel.Gender) ||
                //  i.Address.CurrentAddress.Contains(objSearchFilterViewModel.UserAddress.Trim()) ||
                //  i.Address.PermanentAddress.Contains(objSearchFilterViewModel.UserAddress.Trim()) ||
                //  i.CourseId.Equals(objSearchFilterViewModel.CourseId) ||
                //  i.Address.State.Equals(objSearchFilterViewModel.StateId) ||
                //  i.Address.CityId.Equals(objSearchFilterViewModel.CityId) ||
                //  i.Address.CountryId.Equals(objSearchFilterViewModel.CountryId) ||
                //  i.Address.ZipCode.Equals(objSearchFilterViewModel.ZipCode) ||
                //  i.DateOfBirth.Equals(objSearchFilterViewModel.DateOfBirth) ||
                //  i.DateCreated.Equals(objSearchFilterViewModel.DateCreated)))
                //  .Select(i => i.UserId));


                //using linq

                //List<SearchFilterViewModel> searchFilterViewModel = new List<SearchFilterViewModel>();
                //List<UserRegistrationViewModel> userList = db.UserRegistrations.Where(x =>
                //        x.Fname.Contains(searchFilterViewModel.Fname) ||
                //        x.Lname.Contains(searchFilterViewModel.Lname)||
                //        x.DateOfBirth.Equals(searchFilterViewModel.DateOfBirth) ||
                //        x.CourseId.Equals(searchFilterViewModel.CourseId) ||
                //        x.Email.Contains(searchFilterViewModel.Email) ||
                //        x.Fname.Contains(searchFilterViewModel.Fname) ||
                //        x.Gender.Contains(searchFilterViewModel.Gender) ||
                //        x.IsActive.Equals(searchFilterViewModel.IsActive) ||
                //        x.IsVerified.Equals(searchFilterViewModel.IsVerified) ||
                //        x.Address.PermanentAddress.Contains(searchFilterViewModel.UserAddress)||
                //        x.Address.CurrentAddress.Contains(searchFilterViewModel.UserAddress) ||
                //        x.Address.CountryId.Equals(searchFilterViewModel.CountryId) ||
                //        x.Address.StateId.Equals(searchFilterViewModel.StateId) ||
                //        x.Address.CityId.Equals(searchFilterViewModel.CityId) ||
                //        x.Address.ZipCode.Equals(searchFilterViewModel.ZipCode) ||
                //        x.Hobbies.Contains(searchFilterViewModel.Hobbies))
                //        .Select(x => new UserRegistrationViewModel
                //        {
                //            UserId = x.UserId,
                //            Fname = x.Fname,
                //            Lname = x.Lname,
                //            DateOfBirth = x.DateOfBirth,
                //            Hobbies = x.Hobbies,
                //            Email = x.Email,
                //            Gender = x.Gender,
                //            CourseId = x.CourseId,
                //            IsActive = x.IsActive,
                //            IsVerified = x.IsVerified,
                //            AddressId = x.AddressId,
                //            CurrentAddress = x.Address.CurrentAddress,
                //            PermanentAddress = x.Address.PermanentAddress,
                //            ZipCode = x.Address.ZipCode,
                //            CountryId = x.Address.CountryId,
                //            StateId = x.Address.StateId,
                //            CityId = x.Address.CityId,

                //        }).ToList();

                List <SearchFilterViewModel> temp = new List <SearchFilterViewModel>();
                var result = (from pd in db.Addresses
                              join od in db.UserRegistrations on pd.AddressId equals od.AddressId
                              join ct in db.UserInRoles on od.UserId equals ct.UserId
                              where (pd.CountryId.Equals(searchFilterViewModel.CountryList.Select(m => m.CountryId)) || pd.CountryId == 0) &&
                              (pd.StateId.Equals(searchFilterViewModel.StateList.Select(m => m.StateId)) || pd.StateId == 0) &&
                              (pd.CityId.Equals(searchFilterViewModel.CityList.Select(m => m.CityId)) || pd.CityId == 0) &&
                              (pd.CurrentAddress.Contains(searchFilterViewModel.UserAddress) || pd.CurrentAddress == null) &&
                              (pd.PermanentAddress.Contains(searchFilterViewModel.UserAddress) || pd.PermanentAddress == null) &&
                              (pd.ZipCode.Equals(searchFilterViewModel.ZipCode) || pd.ZipCode == null) &&
                              (od.Fname.Contains(searchFilterViewModel.Fname) || od.Fname == null) &&
                              (od.Lname.Contains(searchFilterViewModel.Lname) || od.Lname == null) &&
                              (od.Gender.Contains(searchFilterViewModel.Gender) || od.Gender == null) &&
                              (od.DateCreated.Equals(searchFilterViewModel.DateCreated) || od.DateCreated == null) &&
                              (od.DateOfBirth.Equals(searchFilterViewModel.DateOfBirth) || od.DateOfBirth == null) &&
                              (od.IsActive.Equals(searchFilterViewModel.IsActive) || od.IsActive == false) &&
                              (od.IsVerified.Equals(searchFilterViewModel.IsVerified) || od.IsVerified == false) &&
                              (od.Email.Contains(searchFilterViewModel.Email) || od.Email == null) &&
                              (od.CourseId.Equals(searchFilterViewModel.CourseList.Select(m => m.CourseId)) || od.CourseId == null) &&
                              (od.Hobbies.Contains(searchFilterViewModel.Hobbies) || od.Hobbies == null) &&
                              (ct.RoleId.Equals(searchFilterViewModel.RoleId) || ct.RoleId == null)

                              select new SearchFilterViewModel
                {
                    //UserId = od.UserId,
                    Fname = od.Fname,
                    Lname = od.Lname,
                    DateOfBirth = od.DateOfBirth,
                    Hobbies = od.Hobbies,
                    Email = od.Email,
                    Gender = od.Gender,
                    CourseId = od.CourseId,
                    IsActive = od.IsActive,
                    IsVerified = od.IsVerified,
                    AddressId = od.AddressId,
                    UserAddress = od.Address.CurrentAddress,
                    // UserAddress = od.Address.PermanentAddress,
                    ZipCode = od.Address.ZipCode,
                    CountryId = od.Address.CountryId,
                    StateId = od.Address.StateId,
                    CityId = od.Address.CityId,
                }).ToList();
                foreach (var item in result)
                {
                    SearchFilterViewModel tempList = new SearchFilterViewModel();

                    temp.Add(tempList);
                }

                return(View(temp));
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception source: {0}", ex.Message);
            }

            return(View());
        }
コード例 #14
0
        public async Task <ActionResult> JobFilters([Bind(Prefix = "Filter")] SearchFilterViewModel searchFilterViewModel)
        {
            var jobLists = await GetFilteredJobs(searchFilterViewModel);

            return(PartialView("_JobFilters", jobLists));
        }