public async Task <ActionResult> AdvancedSearch(AdvancedSearchDTO searchDTO, int?page) { ViewBag.SearchBox = searchDTO.SearchBox; ViewBag.Category = searchDTO.Category; ViewBag.MinimumPrice = searchDTO.MinimumPrice; ViewBag.MaximumPrice = searchDTO.MaximumPrice; ViewBag.AuctionEndTime = searchDTO.AuctionEndTime; string content = JsonConvert.SerializeObject(searchDTO); Byte[] buffer = System.Text.Encoding.UTF8.GetBytes(content); ByteArrayContent byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpResponseMessage responseMessage = await client.PutAsync(apiUrl + "/GetListingsByStringAdvanced", byteContent); if (responseMessage.StatusCode == HttpStatusCode.OK) { string responseData = responseMessage.Content.ReadAsStringAsync().Result; List <ListingDTO> listingList = JsonConvert.DeserializeObject <List <ListingDTO> >(responseData); int pageSize = 5; int pageNumber = (page ?? 1); return(View(listingList.OrderByDescending(l => l.AuctionEndTime).ToPagedList(pageNumber, pageSize))); } return(View("Error")); }
public IActionResult AdvancedSearchExamination(AdvancedSearchDTO advancedSearchDTO) { var available = _availableExaminationService.AdvancedSearch(advancedSearchDTO).Select( e => e.ToUnscheduledExaminationDTO()); return(Ok(available)); }
// Movie,Series,VideoGame, Book advanced searcing public AdvancedSearchDTO AdvancedSearch(string search) { var result = new AdvancedSearchDTO(); result.MovieList = (from m in _context.Movies join c in _context.Categories on m.CategoryId equals c.Id where m.MovieName.Contains(search) select new MovieShortDetailsDTO { Id = m.Id, MovieName = m.MovieName, ImageURL = m.ImageURL, CategoryName = c.CategoryName, IMDBScore = m.IMDBScore }).AsNoTracking().ToList(); result.SerieList = (from s in _context.Series join c in _context.Categories on s.CategoryId equals c.Id where s.SeriesName.Contains(search) select new SeriesShortDetailsDTO { Id = s.Id, SeriesName = s.SeriesName, ImageURL = s.ImageURL, CategoryName = c.CategoryName, IMDBScore = s.IMDBScore }).AsNoTracking().ToList(); result.VideoGameList = (from v in _context.VideoGames join c in _context.Categories on v.CategoryId equals c.Id where v.VideoGameName.Contains(search) select new VideoGameShortDetailsDTO { Id = v.Id, VideoGameName = v.VideoGameName, ImageURL = v.ImageURL, CategoryName = c.CategoryName, IMDBScore = v.IMDBScore }).AsNoTracking().ToList(); result.BookList = (from b in _context.Books join c in _context.Categories on b.CategoryId equals c.Id where b.BookName.Contains(search) select new BookShortDetailsDTO { Id = b.Id, BookName = b.BookName, ImageURL = b.ImageURL, CategoryName = c.CategoryName }).AsNoTracking().ToList(); return(result); }
private IAdvancedSearchStrategy GetAdvancedSearchStrategy(AdvancedSearchDTO advancedSearchDTO) { if (advancedSearchDTO.Priority == SearchPriority.Time) { ICollection <string> doctors = _doctorRepository.GetIdsBySpecialty(advancedSearchDTO.SpecialtyId); return(new TimeHasPriorityStrategy(advancedSearchDTO.InitialParameters, doctors)); } else { return(new DoctorHasPriorityStrategy(advancedSearchDTO.InitialParameters, 5)); } }
public IActionResult PrioritySearchAppointments(AdvancedSearchDTO parameters) { var patientJmbg = HttpContext.User.FindFirst("Jmbg").Value; parameters.InitialParameters.PatientJmbg = patientJmbg; parameters.InitialParameters.EarliestDateTime = InitializeEarliestTime( parameters.InitialParameters.EarliestDateTime); parameters.InitialParameters.LatestDateTime = InitializeLatestTime( parameters.InitialParameters.LatestDateTime); return(RequestAdapter.SendRequestWithBody(_serviceSettings.ScheduleServiceUrl, "/api/examination/search-free/advanced", parameters)); }
public IEnumerable <Examination> AdvancedSearch(AdvancedSearchDTO advancedSearchDTO) { IEnumerable <Examination> examinations = BasicSearch(advancedSearchDTO.InitialParameters); if (examinations.Any()) { return(examinations); } IAdvancedSearchStrategy strategy = GetAdvancedSearchStrategy(advancedSearchDTO); return(ApplyStrategy(strategy)); }
public List <ListingDTO> GetListingsByStringAdvanced(AdvancedSearchDTO searchDTO) { return(listingRepo.GetListingsByStringAdvanced(searchDTO.SearchBox, searchDTO.Category, searchDTO.MaximumPrice, searchDTO.MinimumPrice, searchDTO.AuctionEndTime).Select(l => mapper.CreateListingDTO(l)).ToList()); }