public static List<cHotel> GetHotelDataSource(cCity cityDataSource) { List<cHotelNameCheckIn> hotelNameCheckIns = new List<cHotelNameCheckIn>(); for (int j = 0; j < cityDataSource.OrderItems.Count; j++) { cHotelNameCheckIn hc = new cHotelNameCheckIn(); hc.CheckIn = cityDataSource.OrderItems[j].Profile.CheckInDate; hc.HotelName = cityDataSource.OrderItems[j].Room.Hotel.Name; hc.Hotel = cityDataSource.OrderItems[j].Room.Hotel; if (!hotelNameCheckIns.Contains(hc)) hotelNameCheckIns.Add(hc); } List<cHotel> hotelDataSources = new List<cHotel>(); for (int hotelIndex = 0; hotelIndex < hotelNameCheckIns.Count; hotelIndex++) { cHotel hotelDataSource = new cHotel(); cHotelNameCheckIn hc = hotelNameCheckIns[hotelIndex]; hotelDataSource.Hotel = hc.Hotel; hotelDataSource.RoomTypes = FilteHotelOrderItemsByHotelName(cityDataSource.OrderItems, hc.HotelName); hotelDataSource.RoomTypes = FilteHotelOrderItemsByCheckIn(hotelDataSource.RoomTypes, hc.CheckIn); hotelDataSource.CheckIn = hotelDataSource.RoomTypes[0].Profile.CheckInDate; hotelDataSource.CheckOut = hotelDataSource.RoomTypes[0].Profile.CheckOutDate; foreach (HotelOrderItem roomType in hotelDataSource.RoomTypes) hotelDataSource.TotalPrice += roomType.TotalPrice; hotelDataSources.Add(hotelDataSource); } return hotelDataSources; }
public static List<cCity> GetCityDataSource(List<HotelOrderItem> HotelOrderItems) { //ҳ������ʾѡ�е�Hotel����ṹΪ3��DataList�����Ƕ�ף� //��һ��DataListΪCity���ڶ���ΪHotel��������ΪRoom�� //���磬 //Shanghai - ������� - Room #1 Double Room // - Room #2 Triple Room // - Hilton - Room #1 Twin Room // - Room #2 Triple Room //��һ��DataList����ԴΪList<cCity> //�ڶ���DataList����ԴΪList<cHotel> //�ڶ���DataList����ԴΪList<HotelOrderItem> //��City //�õ����ж����������City Name List<string> listCityName = new List<string>(); for (int hotelOrderItemIndex = 0; hotelOrderItemIndex < HotelOrderItems.Count; hotelOrderItemIndex++) { //HotelOrderItem tempHotelMaterial = (HotelOrderItem)Utility.Transaction.CurrentTransactionObject.Items[hotelOrderItemIndex]; HotelOrderItem tempHotelMaterial = (HotelOrderItem)HotelOrderItems[hotelOrderItemIndex]; if (!listCityName.Contains(tempHotelMaterial.Room.Hotel.City.Name)) listCityName.Add(tempHotelMaterial.Room.Hotel.City.Name); } List<cCity> listDataSource = new List<cCity>(); for (int cityIndex = 0; cityIndex < listCityName.Count; cityIndex++) { cCity cityDataSource = new cCity(); cityDataSource.CityName = listCityName[cityIndex]; cityDataSource.OrderItems = FilteHotelOrderItemsByCityName(HotelOrderItems, cityDataSource.CityName); cityDataSource.Hotels = GetHotelDataSource(cityDataSource); listDataSource.Add(cityDataSource); } return listDataSource; }