public async Task <HotelWithDetails> GetHotel(string travelIdentity)
        {
            var hotel = await HotelRepository.GetHotel(travelIdentity);

            if (hotel == null)
            {
                return(null);
            }
            var transportCategories = await HotelRepository.GetTransportCategories(hotel.HotelId);

            var transports = new List <HotelTransport>();

            foreach (var category in transportCategories)
            {
                var transport = await HotelRepository.GetTransport(hotel.HotelId, category.Category);

                var tr = new HotelTransport
                {
                    Category           = category.Category,
                    TransportLocations = transport.Select(t => HotelConverter.ToDomainTransportLocation(t)).ToArray()
                };
                transports.Add(tr);
            }

            return(new HotelWithDetails
            {
                Hotel = HotelConverter.ToDomainHotel(hotel),
                Transport = transports
            });
        }
        public void HotelFromCsvTest()
        {
            var hotelConverter = new HotelConverter();
            var resultHotel    = hotelConverter.HotelFromCsv("Edelweiss; 11; 5/25/1988; 180;4.3;");
            var expectedHotel  = new Hotel("Edelweiss", 11, new DateTime(1988, 5, 25), 180, 4.3);

            Assert.AreEqual(resultHotel, expectedHotel);
        }
        public void HotelToJsonTest()
        {
            var hotelConverter = new HotelConverter();
            var hotel          = new Hotel("name", 1, new DateTime(1998, 12, 1), 4, 4.3);
            var result         = hotelConverter.HotelToJson(hotel);
            var expected       =
                "{\"_name\":\"name\",\"_hotelId\":1,\"_foundedDate\":\"1998-12-01T00:00:00\",\"_touristCapacity\":4,\"_rating\":4.3}";

            Assert.AreEqual(expected, result);
        }
        public void HotelToXmlConverterTest()
        {
            var hotelConverter = new HotelConverter();
            var hotel          = new Hotel("name", 1, new DateTime(1998, 12, 1), 4, 4.3);
            var result         = hotelConverter.HotelToXml(hotel);
            var s = @"<Name>name</Name>
  <HotelId>1</HotelId>
  <FoundedDate>1998-12-01T00:00:00</FoundedDate>
  <TouristCapacity>4</TouristCapacity>
  <Rating>4.3</Rating>
</Hotel>";

            Assert.IsTrue(result.Contains(s));
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            string outputPathXml  = ConfigurationManager.AppSettings["OutputPathXML"];
            string outputPathJson = ConfigurationManager.AppSettings["OutputPathJSON"];
            string inputPath      = ConfigurationManager.AppSettings["InputPath"];

            string csvString = @"Name; Hotel Id; Founded date; Tourist capacity; Rating;
Edelweiss; 11; 5/25/1988; 180;4.3;
Bristol; 12; 4/3/1965; 140;4.1;
Hilton; 1; 10/02/1863; 321;2,0;
Balaton; 50; 5/1/2000; 110;;
Empire; 13; 7/25/2011; 240;5,0;";

            File.WriteAllText(inputPath, csvString);

            HotelConverter hotelConverter = new HotelConverter();


            List <Hotel> hotels = File.ReadAllLines(inputPath)
                                  .Skip(1)
                                  .Select(v => hotelConverter.HotelFromCsv(v))
                                  .ToList();


            hotels.Sort(((hotel, hotel1) => hotel1.Rating.CompareTo(hotel.Rating)));

            string format = "";

            while (!format.Equals("JSON") && !format.Equals("XML"))
            {
                Console.WriteLine("Input converter XML or JSON");

                format = Console.ReadLine();
                if (format.Equals("JSON"))
                {
                    hotelConverter.HotelToJson(hotels.ToArray(), outputPathJson);
                    Console.WriteLine("File is converted to JSON. Verify at " + outputPathJson);
                    Console.WriteLine(File.ReadAllText(outputPathJson));
                }
                else if (format.Equals("XML"))
                {
                    hotelConverter.HotelToXml(hotels.ToArray(), outputPathXml);
                    Console.WriteLine("File is converted to XML. Verify at " + outputPathXml);
                    Console.WriteLine(File.ReadAllText(outputPathXml));
                }
            }

            Console.Read();
        }
        public async Task AddHotel(Hotel newHotel, string travelIdentity)
        {
            var hotel        = HotelConverter.ToDbHotel(newHotel);
            var hotelDetails = await HotelsApiClient.GetHotelDetails(hotel.DestinationId);

            await HotelRepository.AddHotel(hotel, travelIdentity);

            foreach (var location in hotelDetails.Transportation.TransportLocations)
            {
                var transports        = location.Locations.Select(l => HotelConverter.ToDbTransportLocation(l));
                var transportCategory = new DbHotelTransport {
                    Category = location.Category
                };
                await HotelRepository.AddHotelTransport(hotel.HotelId, transportCategory, transports);
            }
        }
Beispiel #7
0
        public async Task <IEnumerable <Hotel> > GetHotels(string cityName)
        {
            var apiResponse = await HotelsApiClient.GetHotels(cityName);

            return(HotelConverter.ToDomainHotel(apiResponse));
        }