public RouteToPointOfInterestDTO StartUserTour(int userID, int tourID, double currentLatitude, double currentLongitude)
        {
            VerifyNoTourIsStarted(userID);
            _userTourRepo.StartUserTour(userID, tourID);
            UserTour activeTour = _userTourRepo.GetActiveTour(userID);
            POI      nextPOI    = _userPOIRepo.GetNextPOI(activeTour.Id);
            IEnumerable <CoordinateDTO> route = _geoLocationService.GetRoute(currentLatitude, currentLongitude,
                                                                             nextPOI.Coordinates.Latitude.Value,
                                                                             nextPOI.Coordinates.Longitude.Value);

            return(new RouteToPointOfInterestDTO {
                NextPOI = PointOfInterestDTO.Create().Compile()(nextPOI), RouteToNextPOI = route
            });
        }
Exemplo n.º 2
0
        public PointOfInterestDTO GetNextPOI(int userID)
        {
            var nextPOI = GetNextPOIInternal(userID);

            return(PointOfInterestDTO.Create().Compile()(nextPOI));
        }
Exemplo n.º 3
0
 public IEnumerable <PointOfInterestDTO> GetPOIsByTour(int tourID)
 {
     return(_poiRepo.GetPOIsByTour(tourID).Select(PointOfInterestDTO.Create()));
 }
Exemplo n.º 4
0
 public IEnumerable <PointOfInterestDTO> GetPOIs()
 {
     return(_poiRepo.GetPOIs().Select(PointOfInterestDTO.Create()));
 }