public void AddRoute(Ride ride, Address startPoint, Address destination) { var routeMatchedByStartPoint = ride.Routes.SingleOrDefault(x => x.DestinationPoint == startPoint); var routeToUpdate = ride.Routes.SingleOrDefault(x => x.PreviousRoute == routeMatchedByStartPoint); var newRoute = _routeService.CreateRoute(destination, routeMatchedByStartPoint); routeToUpdate.PreviousRoute = newRoute; ride.AddRoute(newRoute); }
public Route AddRoute(Ride ride, int previousRouteId, Address destination) { var previousRoute = ride.Routes.SingleOrDefault(x => x.Id == previousRouteId); var routeToUpdate = ride.Routes.SingleOrDefault(x => x.PreviousRoute == previousRoute); var newRoute = _routeService.CreateRoute(destination, previousRoute); routeToUpdate.PreviousRoute = newRoute; ride.AddRoute(newRoute); return(newRoute); }