Ejemplo n.º 1
0
    private void SearchToBinder()
    {
        if (packageMerchandise != null && packageMerchandise.Items.Count > 0)
        {
            //int index = m_SaleMerchandise.DefaultMerchandise.Length - 1;

            PackageOrderItem packageOrderItem = new PackageOrderItem(new PackageProfile("PackageProfile"));

            int hotelIndex = Convert.ToInt32(((List<int>)packageMerchandise.DefaultIndex[1 + packageMerchandise.CurrentHotelListNumber])[0]);
            List<PackageMaterial> MVHotelList = packageMerchandise.GetPackageMaterials(1 + packageMerchandise.CurrentHotelListNumber);
            packageOrderItem.RoomPrice = ((PackageMaterial)MVHotelList[hotelIndex]).RoomPrice;
            packageOrderItem.Nights = ((PackageMaterial)MVHotelList[hotelIndex]).Nights;
            packageOrderItem.RoomPricePerNight = ((PackageMaterial)MVHotelList[hotelIndex]).RoomPricePerNight;
            packageOrderItem.AirPrice = ((PackageMaterial)MVHotelList[hotelIndex]).AirPrice;
            packageOrderItem.TotalPrice = ((PackageMaterial)MVHotelList[hotelIndex]).TotalPrice;

            AirOrderItem airOrderItem = new AirOrderItem((AirMaterial)packageMerchandise.DefaultMerchandise[0]);

            packageOrderItem.Add(airOrderItem);

            for (int i = 1; i < packageMerchandise.Items.Count; i++)
            {
                for (int k = 0; k < ((List<Hotel>)packageMerchandise.DefaultMerchandise[i]).Count; k++)
                {
                    MVHotel mvHotel = (MVHotel)((List<Hotel>)packageMerchandise.DefaultMerchandise[i])[k];

                    for (int roomIndex = 0; roomIndex < mvHotel.Items.Count; roomIndex++)
                    {
                        MVRoom mvRoom = (MVRoom)mvHotel.Items[roomIndex];

                        //mvRoom.DefaultRoomType.Room.Hotel.SetAddress(new TERMS.Common.Address(mvRoom.DefaultRoomType.Room.Hotel.City, mvRoom.DefaultRoomType.Room.Hotel.Address, mvHotel.GetAddress().ZipCode));

                        HotelOrderItem hotelOrderItem = new HotelOrderItem(mvRoom.DefaultRoomType, mvRoom.Profile);

                        packageOrderItem.Add(hotelOrderItem);
                    }
                }
                if (Utility.Transaction.CurrentTransactionObject != null)
                    Utility.Transaction.CurrentTransactionObject.Items.Clear();
                Utility.Transaction.CurrentTransactionObject.Items.Add(packageOrderItem);
            }
        }

        //this.DefaultFlightDetails1.FlightDetails = AirMaterialList;
        //this.FlightHeader1.ReBind();
        //this.PKGPackageDetailsControl1.pgMerchandise = packageMerchandise;

        //this.PKGPackageDetailsControl1.BindHotels();

        ////���Hotel��checkin checkout �IJ����5�� edit by tll
        //SetChooseDisable();
    }
    private void SearchToBinder()
    {
        //if (Utility.SelectAirGroup == null)
        //{
        //    ComponentGroup group = new ComponentGroup();
        //    AirComponentGroup airGroup = (AirComponentGroup)((ComponentGroup)PackageMerchandise.ComponentGroup.Items[1].Component).Items[ParentIndex].Component;
        //    ComponentGroupItem componentGroupItem = new ComponentGroupItem(airGroup.Items[SonIndex].Component);
        //    AirComponentGroup lastGroup = new AirComponentGroup((AirProfile)airGroup.Profile);
        //    lastGroup = (AirComponentGroup)airGroup.Clone();
        //    lastGroup.Items.Add(componentGroupItem);
        //    group.Profile = PackageMerchandise.ComponentGroup.Profile;
        //    group.Items.Clear();
        //    group.Items.Add(new ComponentGroupItem(lastGroup));
        //    Utility.SelectAirGroup = group;

        //    if (Utility.Transaction.CurrentTransactionObject.Items.Count == 0)
        //    {
        //        SaleMerchandise saleMerchandise = new SaleMerchandise();
        //        saleMerchandise.ComponentGroup = group;
        //        Utility.Transaction.CurrentTransactionObject.AddItem(saleMerchandise);

        //    }
        //    else
        //    {
        //        Utility.Transaction.CurrentTransactionObject.Items[0].Merchandise.ComponentGroup = group;
        //    }
        //}
        if (pgMerchandise != null && pgMerchandise.Items.Count > 0)
        {
            //int index = m_SaleMerchandise.DefaultMerchandise.Length - 1;

            PackageOrderItem packageOrderItem = new PackageOrderItem(new PackageProfile("PackageProfile"));

            int hotelIndex = Convert.ToInt32(((List<int>)pgMerchandise.DefaultIndex[1 + pgMerchandise.CurrentHotelListNumber])[0]);
            List<PackageMaterial> MVHotelList = pgMerchandise.GetPackageMaterials(1 + pgMerchandise.CurrentHotelListNumber);
            packageOrderItem.RoomPrice = ((PackageMaterial)MVHotelList[hotelIndex]).RoomPrice;
            packageOrderItem.Nights = ((PackageMaterial)MVHotelList[hotelIndex]).Nights;
            packageOrderItem.RoomPricePerNight = ((PackageMaterial)MVHotelList[hotelIndex]).RoomPricePerNight;
            packageOrderItem.AirPrice = ((PackageMaterial)MVHotelList[hotelIndex]).AirPrice;
            packageOrderItem.TotalPrice = ((PackageMaterial)MVHotelList[hotelIndex]).TotalPrice;

            AirOrderItem airOrderItem = new AirOrderItem((AirMaterial)pgMerchandise.DefaultMerchandise[0]);

            packageOrderItem.Add(airOrderItem);

            for (int i = 1; i < pgMerchandise.Items.Count; i++)
            {
                for (int k = 0; k < ((List<Hotel>)pgMerchandise.DefaultMerchandise[i]).Count; k++)
                {
                    MVHotel mvHotel = (MVHotel)((List<Hotel>)pgMerchandise.DefaultMerchandise[i])[k];

                    for (int roomIndex = 0; roomIndex < mvHotel.Items.Count; roomIndex++)
                    {
                        MVRoom mvRoom = (MVRoom)mvHotel.Items[roomIndex];

                        //mvRoom.DefaultRoomType.Room.Hotel.SetAddress(new TERMS.Common.Address(mvRoom.DefaultRoomType.Room.Hotel.City, mvRoom.DefaultRoomType.Room.Hotel.Address, mvHotel.GetAddress().ZipCode));

                        HotelOrderItem hotelOrderItem = new HotelOrderItem(mvRoom.DefaultRoomType, mvRoom.Profile);

                        packageOrderItem.Add(hotelOrderItem);
                    }
                }
                if (Utility.Transaction.CurrentTransactionObject != null)
                    Utility.Transaction.CurrentTransactionObject.Items.Clear();
                Utility.Transaction.CurrentTransactionObject.Items.Add(packageOrderItem);
            }
        }

        this.DefaultFlightDetails1.FlightDetails = AirMaterialList;
        this.FlightHeader1.ReBind();
        this.ShowPackageHotels1.pgMerchandise = pgMerchandise;

        this.ShowPackageHotels1.BindHotels();

        //如果Hotel的checkin checkout 的差大于5天 edit by tll
        SetChooseDisable();
    }