Beispiel #1
0
        public IEnumerable <IntSync.UnitPriceBulkCopyItem> GetUnitPriceSearchList(string tourOperatorId, string facilityCode, string unitCode, string offerCode)
        {
            IntOffice.PriceList priceList = new IdomOffice.PlugIn.BackOffice.PriceLists.PriceListManager().GetPriceList(tourOperatorId, facilityCode, offerCode, Interface.BackOffice.PriceLists.PriceListType.RetailPrice);
            MasterDataManager   mda       = new MasterDataManager();
            var unit = mda.GetTouristUnit(facilityCode, offerCode);

            //var offer = mda.GetUnitOffer(arg.TourOperatorCode, arg.TouristSiteCode, arg.OfferCode);
            CalculatorPriceList cpl = ConvertToCalculatorPriceList(priceList, unit.UnitStopBooking);
            var bulkInfo            = new QTouristik.Interface.Sync.BulkUnitInfo();

            bulkInfo.OpenDate   = unit.OpenDate.Date;
            bulkInfo.CloseDate  = unit.CloseDate.Date;
            bulkInfo.MaxPersons = unit.MaxPersons;
            return(new QTouristik.Utility.PriceCalculator.Helper.PriceBulkCopyHelper().GetUnitPriceSearchList(offerCode, bulkInfo, cpl, facilityCode));
        }
Beispiel #2
0
        private CalculatorPriceList ConvertToCalculatorPriceList(IntOffice.PriceList priceList, List <QTouristik.Data.DateInterval> stopbookingList)
        {
            var pl = new CalculatorPriceList();

            foreach (var l1 in priceList.ActionsList)
            {
                pl.ActionsList.Add(new Utility.PriceCalculator.SeasonUnitAction()
                {
                    ActionEnd       = l1.ActionEnd.Date,
                    ActionStart     = l1.ActionStart.Date,
                    ActionType      = (Utility.PriceCalculator.ActionType)l1.ActionType,
                    CanBeCombined   = l1.CanBeCombined,
                    DiscountEur     = l1.DiscountEur,
                    DiscountPercent = l1.DiscountPercent,
                    FreeNights      = l1.FreeNights,
                    FromDate        = l1.FromDate.Date,
                    MinPrice        = l1.MinPrice,
                    MinStayDays     = l1.MinStayDays,
                    ToDate          = l1.ToDate.Date
                });
            }

            foreach (var l in priceList.AvailabilityList)
            {
                pl.AvailabilityList.Add(new Utility.PriceCalculator.SeasonUnitAvailability()
                {
                    FromDate = ConvertTime(l.FromDate), ToDate = ConvertTime(l.ToDate), IsAutoStopBooking = l.IsAutoStopBooking, UnitCount = l.UnitCount
                });
            }

            foreach (var l in priceList.ConditionsList)
            {
                var itm = new Utility.PriceCalculator.SeasonUnitCondition()
                {
                    Arrival     = l.Arrival,
                    Departure   = l.Departure,
                    FromDate    = l.FromDate.Date,
                    ToDate      = l.ToDate.Date,
                    MinStay     = l.MinStay,
                    ReleaseDays = l.ReleaseDays
                };
                if (itm.Arrival.Count == 0)
                {
                    itm.Arrival.Add(l.ArrivalActual);
                }
                if (itm.Departure.Count == 0)
                {
                    itm.Departure.Add(l.DepartureActual);
                }
                pl.ConditionsList.Add(itm);
            }

            foreach (var l in priceList.PaymentModeList)
            {
                pl.PaymentModeList.Add(new Utility.PriceCalculator.PaymentMode()
                {
                    BookingFromDate           = l.BookingFromDate,
                    BookingToDate             = l.BookingToDate,
                    CancellationFeesPercent   = l.CancellationFeesPercent,
                    CancellationFeesToDays    = l.CancellationFeesToDays,
                    CheckInFromDate           = l.CheckInFromDate,
                    CheckInToDate             = l.CheckInToDate,
                    MaxDayToArrival           = l.MaxDayToArrival,
                    MinDayToArrival           = l.MinDayToArrival,
                    PaymentModeDescription    = l.PaymentModeDescription,
                    PaymentModeTitel          = l.PaymentModeTitel,
                    PriceDownPaymentAfterDays = l.PriceDownPaymentAfterDays,
                    PriceDownPaymentEur       = l.PriceDownPaymentEur,
                    PriceDownPaymentPercent   = l.PriceDownPaymentPercent,
                    PricePercentDiscount      = l.PricePercentDiscount,
                    PriceRemainingBeforDays   = l.PriceRemainingBeforDays
                });
            }

            foreach (var l in priceList.SeasonPriceList)
            {
                pl.SeasonPriceList.Add(new Utility.PriceCalculator.SeasonAndPrice()
                {
                    Eur         = l.Eur,
                    FromDate    = l.FromDate.Date,
                    FromPersons = l.FromPersons,
                    PriceType   = (Utility.PriceCalculator.PriceType)l.PriceType,
                    ToDate      = l.ToDate.Date,
                    ToPersons   = l.ToPersons
                });
            }

            foreach (var l in priceList.ServicesList)
            {
                pl.ServicesList.Add(new Utility.PriceCalculator.SeasonUnitService()
                {
                    Description     = l.Description,
                    FromDate        = l.FromDate.Date,
                    ToDate          = l.ToDate.Date,
                    OfDay           = l.OfDay,
                    ToDay           = l.ToDay,
                    Eur             = l.Eur,
                    IsOptional      = l.IsOptional,
                    OfOld           = l.OfOld,
                    PaymentPlace    = (Utility.PriceCalculator.PaymentPlace)l.PaymentPlace,
                    ServiceInterval = (Utility.PriceCalculator.ServiceInterval)l.ServiceInterval,
                    ServiceType     = (Utility.PriceCalculator.ServiceType)l.ServiceType,
                    ServiceUnit     = (Utility.PriceCalculator.ServiceUnit)l.ServiceUnit,
                    ToOld           = l.ToOld
                });
            }

            if (stopbookingList != null)
            {
                foreach (var l in stopbookingList)
                {
                    pl.StopBookingList.Add(new Utility.PriceCalculator.DateInterval()
                    {
                        FromDate = l.FromDate.Date,
                        ToDate   = l.ToDate.Date
                    });
                }
            }
            return(pl);
        }