public GetOffersRequest(HotelsOffersFilter filter) { APIName = "getOffers"; ApiVersion = 2; HttpMethod = HttpMethod.Get; _filter = filter; }
/// <summary> /// Get Offers from the service API, and do the needed filtering and sorting. /// </summary> /// <param name="filter">The filter of offers.</param> /// <param name="sorting">The sorting order.</param> /// <returns> /// An instance of the <see cref="T:Expedia.CodingExercise.DataType.ActivityResult"/> class. /// </returns> public ActivityResult GetOffers(HotelsOffersFilter filter, HotelsOffersSorting sorting) { /// <summary> /// Returned calss /// </summary> ActivityResult activityResult = new ActivityResult(); /// <summary> /// The needed parameters to make the API request /// </summary> GetOffersRequest request = new GetOffersRequest(filter); try { using (HotelsOfferingDataSource dataSource = new HotelsOfferingDataSource()) { var offers = dataSource.GetOffers(request); if (offers != null) { HotelOfferModel hotelOffersModel = new HotelOfferModel(); hotelOffersModel.Offers = offers.GetHotelsOffersDetailsModel(); hotelOffersModel.Filter = filter ?? new HotelsOffersFilter(); hotelOffersModel.Sorting = sorting ?? new HotelsOffersSorting(); if (sorting != null) { hotelOffersModel.Offers = hotelOffersModel.Offers.ApplyOrder(sorting.OrderBy); } activityResult.IsPassed = true; activityResult.ReturnedObject = hotelOffersModel; } else { activityResult.IsPassed = false; activityResult.Code = eResponseCode.General_Error; } } } catch (Exception ex) { activityResult.IsPassed = false; activityResult.Code = eResponseCode.General_Error; } return(activityResult); }
public void AddFilter(HotelsOffersFilter filter) { _filter = filter; }