public async Task <FlightDetailsModel> GetFlightDetails(GetFlightDetailsRequest request) { var flightTime = new Random().Next(2, 10); var arrivalDate = request.DepartueDate.AddHours(12 + flightTime); var deepLink = $@"https://bookerproxy.lot.com/service.php?COUNTRY_CODE=PL&LANGUAGE_CODE=PL&ORIGIN={request.OriginCode}&DESTINATION={request.DestinationCode}&DEPARTURE_DATE={request.DepartueDate.ToLotFormat()}&ARRIVAL_DATE={arrivalDate.ToLotFormat()}&ADULT_COUNT={request.NumberOfAdults}&CHILD_COUNT=0&INFANT_COUNT=0&PARTNER=TFFNZEZK88W4&CLASS=E&utm_source=github&utm_medium=api"; var data = await GetMockData <IEnumerable <FlightModel> >("flights"); var flight = data.FirstOrDefault(a => a.DestinationCode == request.DestinationCode && a.OriginCode == request.OriginCode); if (flight == null) { throw new Exception("Invalid flight data!"); } var result = new FlightDetailsModel() { DepartueDate = request.DepartueDate.AddHours(12), DeepLink = deepLink, LocalArrivalDate = arrivalDate, DepartuePlaneSeats = GeneratePlaneSeats(), ReturnPlaneSeats = request.ReturnDate.HasValue ? GeneratePlaneSeats() : null, ReturnDate = request.ReturnDate, ArrivalReturnDate = request.ReturnDate.HasValue ? request.ReturnDate.Value.AddHours(flightTime) : (DateTime?)null, PlaneName = "Dreamliner", TotalPrice = flight.MinPrice * request.NumberOfAdults }; return(result); }
public async Task <FlightDetailsModel> Get([FromQuery] GetFlightDetailsRequest request) => await flightService.GetFlightDetails(request);
public Task <FlightDetailsModel> GetFlightDetails(GetFlightDetailsRequest id) { throw new NotImplementedException(); }
public async Task <FlightDetailsModel> GetFlightDetails(GetFlightDetailsRequest request) { return(await lotApiClient.GetFlightDetails(request)); }