public override ITrip CreateTrip()
        {
            int days = NumOfDaysRandomizer.Next(1, 5);

            ListNode[] _accommodation = new ListNode[days];
            TripAdvisorNode[,] _attractions = new TripAdvisorNode[days, 3];
            for (int i = 0; i < days; ++i)
            {
                if (AccommodationIterator.IsDone)
                {
                    AccommodationIterator.First();
                    AccommodationIterator.Next(); //set to first element
                }
                _accommodation[i] = AccommodationDecoder.Decode(AccommodationIterator.Current);
                AccommodationIterator.Next();
            }
            for (int i = 0; i < days; ++i)
            {
                for (int j = 0; j < 3;)
                {
                    if (TaIterator.IsDone)
                    {
                        TaIterator.First();
                        TaIterator.Next(); //set to first element
                    }
                    if (TaIterator.Current.Country == "France")
                    {
                        _attractions[i, j++] = TaDecoder.Decode(TaIterator.Current);
                    }
                    TaIterator.Next();
                }
            }
            return(new FranceTrip(days, _accommodation, _attractions));
        }
 public FranceTravelAgency(Random rd, ShutterStockDatabase photoDatabase, OysterDatabase reviewDatabase, BookingDatabase accommodationDatabase, TripAdvisorDatabase taDatabase) : base(rd, photoDatabase, reviewDatabase, accommodationDatabase, taDatabase)
 {
     //PhotoIterator.Next(); //set to first element
     //reviewIterator.Next(); //set to first element
     AccommodationIterator.Next(); //set to first element
     TaIterator.Next();            //set to first element
 }