public async Task <Result <LocationResponseDto> > GetLocationAsync(LocationRequestDto request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                return(Result.ObjectValidationFail <LocationResponseDto>("Invaid Request"));
            }

            if (!request.IsValid())
            {
                return(Result.ObjectValidationFail <LocationResponseDto>(request.Validate()));
            }

            var locationSearchEngine = new LocationSearchEngine("skyscanner");

            var p = await locationSearchEngine.GetByIDAsync(request.Market[0], request.Currency, request.Locale, request.Id, cancellationToken).ConfigureAwait(false);

            var location = new LocationResponseDto {
                PlaceId = p.PlaceId.Replace("-sky", ""), PlaceName = p.PlaceName, CityId = p.CityId.Replace("-sky", ""), CountryId = p.CountryId.Replace("-sky", ""), CountryName = p.CountryName, RegionId = ""
            };

            return(Result.Ok(location));
        }
예제 #2
0
 public async Task <Result <LocationResponseDto> > GetLocationAsync(LocationRequestDto request, CancellationToken cancellationToken)
 {
     return(await DomainService.GetLocationAsync(request, cancellationToken));
 }