Exemple #1
0
        public bool IsAcceptedResponse(BSAvailabilityDto dto)
        {
            return(dto != null

                   && IsCorrectHotel(dto.hotel)

                   && SomeRateOk(dto.rates));
        }
Exemple #2
0
        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);
        }