public static Task <ItineraryDto> UpdateItinerary(ItineraryDto itinerary) { return(PutObject("/Itinerary/Update", itinerary)); }
public async Task <Result <FlightSearchResponseDto> > SearchAsync(FlightSearchRequestDto request, CancellationToken cancellationToken) { if (request == null) { return(Result.ObjectValidationFail <FlightSearchResponseDto>("Invaid Request")); } if (!request.IsValid()) { return(Result.ObjectValidationFail <FlightSearchResponseDto>(request.Validate())); } var flightSearchEngine = new FlightSearchEngine("skyscanner"); var origin = request.OriginLocation; var destination = request.DestinationLocation; cancellationToken.ThrowIfCancellationRequested(); var result = await flightSearchEngine.SearchAsync( Settings.Skyscanner.APIKey, request.Markets, request.Currency, request.Locale, origin, destination, request.OutboundDate, request.InboundDate, int.Parse(request.Adults.GetEnumDescription()), int.Parse(request.Children.GetEnumDescription()), int.Parse(request.Infants.GetEnumDescription()), request.PriceMinFilter, request.PriceMaxFilter, request.MaxStopsFilter, request.FlightClass.GetEnumDescription(), request.SortType.GetEnumDescription(), request.SortOrder.GetEnumDescription(), request.OutboundDepartureTimeFromFilter, request.OutboundDepartureTimeToFilter, request.OutboundArrivalTimeFromFilter, request.OutboundArrivalTimeToFilter, request.InboundDepartureTimeFromFilter, request.InboundDepartureTimeToFilter, request.InboundArrivalTimeFromFilter, request.InboundArrivalTimeToFilter, cancellationToken).ConfigureAwait(false); var ItineraryDtos = new List <ItineraryDto>(); foreach (Itinerary i in result.FilteredItineraries) { var itinerary = new ItineraryDto().CopyFrom(i); ItineraryDtos.Add(itinerary); } var response = new FlightSearchResponseDto(ItineraryDtos, request.Skip ?? 0, request.Take ?? 10, result.TotalResults); response.Request = request; return(Result.Ok(response)); }
public static async Task <TripDto> AddTrip(string title, DateTime startDate, DateTime endDate, ItineraryDto itinerary) { TripDto trip = new TripDto { Title = title, StartDate = startDate, EndDate = endDate, }; var result = await PutObject("/Trip/Create", trip); itinerary.TripId = result.Id; await CreateItinerary(itinerary); return(result); }