// GET: /JobOpportunity/ public ActionResult Index(string selectedLocation = "") { var jobList = _jobRepository.GetAllJobOpportunities(); var locations = _locationRepository.GetAllLocationNames(); const string placeholderLocations = "Todas las locaciones"; locations.Insert(0, placeholderLocations); if (!String.IsNullOrEmpty(selectedLocation) && !selectedLocation.Equals(placeholderLocations)) { var locationArgument = _locationRepository.GetLocationByName(selectedLocation); jobList = _jobRepository.GetAllJobOpportunitiesByLocation(locationArgument); } if (!jobList.Any()) { return(RedirectToAction("Index", "Home")); } var vm = new JobOpportunitySearchViewModel { JobOpportunities = jobList, Locations = locations }; return(View(vm)); }
// GET: /JobOpportunity/ public ActionResult Index(int selectedLocation = 0, int page = 1, int pageSize = 15) { var locations = _locationRepository.GetAllLocations(); locations.Insert(0, new Location { Id = 0, Name = "Todas" }); var viewModel = new JobOpportunitySearchViewModel { Locations = locations.ToSelectList(l => l.Id, l => l.Name, selectedLocation), SelectedLocation = selectedLocation }; var jobOpportunities = _jobRepository.GetAllJobOpportunitiesByLocationPaged(new JobOpportunityPagingParameter { SelectedLocation = selectedLocation, PageSize = pageSize, Page = page }); viewModel.Result = jobOpportunities; ViewBag.SelectedLocation = selectedLocation; return(View(viewModel)); }
// GET: /JobOpportunity/ public ActionResult Index(string selectedLocation = "") { var jobList = _databaseContext.JobOpportunities .OrderByDescending(e => e.PublishedDate) .ToList(); var locations = _databaseContext.JobOpportunities .Select(d => d.Location) .Distinct() .ToList(); locations.Insert(0, "Todas las locaciones"); if (!String.IsNullOrEmpty(selectedLocation) && selectedLocation != "Todas las locaciones") { jobList = jobList .Where(j => j.Location == selectedLocation) .ToList(); } var vm = new JobOpportunitySearchViewModel { JobOpportunities = jobList, Locations = locations }; if (!vm.JobOpportunities.Any()) { return(RedirectToAction("Index", "Home")); } return(View(vm)); }
/// <summary> /// Transform JobOpportunityPagingParameter into JobOpportunitySearchViewModel with Locations /// </summary> /// <param name="model"></param> /// <returns></returns> private JobOpportunitySearchViewModel GetSearchViewModel(JobOpportunityPagingParameter model) { var locations = _locationService.GetLocationsWithDefault(); var viewModel = new JobOpportunitySearchViewModel { Locations = locations.ToSelectList(l => l.Id, l => l.Name, model.SelectedLocation), SelectedLocation = model.SelectedLocation, JobCategory = model.JobCategory, Keyword = model.Keyword, IsRemote = model.IsRemote }; return(viewModel); }
/// <summary> /// Transform JobOpportunityPagingParameter into JobOpportunitySearchViewModel with Locations /// </summary> /// <param name="model"></param> /// <returns></returns> private JobOpportunitySearchViewModel GetSearchViewModel(JobOpportunityPagingParameter model) { if (string.IsNullOrWhiteSpace(model.SelectedLocationName)) { model.SelectedLocationLatitude = string.Empty; model.SelectedLocationLongitude = string.Empty; model.SelectedLocationPlaceId = string.Empty; } var viewModel = new JobOpportunitySearchViewModel { SelectedLocationPlaceId = model.SelectedLocationPlaceId, SelectedLocationName = model.SelectedLocationName, SelectedLocationLongitude = model.SelectedLocationLongitude, SelectedLocationLatitude = model.SelectedLocationLatitude, JobCategory = model.JobCategory, Keyword = model.Keyword, IsRemote = model.IsRemote, CategoriesCount = _jobOpportunityService.GetMainJobCategoriesCount(), }; return(viewModel); }