public async Task <ActionResult <List <JourneyDto> > > SearchJourney2([FromBody] JourneyAdvancedSearchDto dto) { if (!ModelState.IsValid) { return(BadRequest()); } var origin = await locationRepository.Get(dto.OriginId); var destination = await locationRepository.Get(dto.DestinationId); if (origin == null || destination == null) { return(NotFound("")); } // TODO : Send/Get all active the journeys into/from Redis var journeys = journeyRepository.GetAllLazy(); var eligibleJourneys = journeys.ToList().Where(j => j.IsActive && CoordinateHelper.IsBetween( new Coordinate { X = origin.CoorditateX, Y = origin.CoorditateY }, new Coordinate { X = destination.CoorditateX, Y = destination.CoorditateY }, new Coordinate { X = j.Origin.CoorditateX, Y = j.Origin.CoorditateY }, new Coordinate { X = j.Destination.CoorditateX, Y = j.Destination.CoorditateY } )); return(Ok(eligibleJourneys.ToList())); }