public bool IsAcceptedResponse(BSAvailabilityDto dto) { return(dto != null && IsCorrectHotel(dto.hotel) && SomeRateOk(dto.rates)); }
private static BSAvailabilityDto GetWithBadBoardPrice(bool isValid = true) { var dto = new BSAvailabilityDto { hotel = GetHotel(), rates = new List <RateDto>() { GetRate(EmulateDtosAndModelsValues.RATE_NAME_1, AvailabilityRateType.Stay, false) } }; if (isValid) { dto.rates.Add(GetRate(EmulateDtosAndModelsValues.RATE_NAME_2, AvailabilityRateType.Stay)); } return(dto); }
public BSHotelAvailability Translate(BSAvailabilityDto dto, int nights) { if (!_validator.IsAcceptedResponse(dto)) { return(null); } var bsHotel = new BSHotelAvailability { Name = dto.hotel.name }; foreach (var rate in dto.rates) { if (_validator.IsCorrectRate(rate)) { bsHotel.AddRate( boardType: rate.boardType, finalPrice: GetRateFinalPrice(rate, nights) ); } } return(bsHotel); }