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)); }
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); } }
public async Task <IEnumerable <Hotel> > GetHotels(string cityName) { var apiResponse = await HotelsApiClient.GetHotels(cityName); return(HotelConverter.ToDomainHotel(apiResponse)); }