You are on page 1of 3

private void CreateB2Page(bool bFill) { if (!bFill) return; B2PagePresenter B2Presenter = new B2PagePresenter(); B2Presenter.LoadModel(this.CurrentContract(), this.basicRateList, this.htBoardingCodesFlex); if (B2Presenter.Model.BPages.

Count > 0) this.ucBlankTabContainer.SetTabColor(this.ucBlankTabContainer.B2Page, highLightColor); this.ucBlankTabContainer.ucBlankB2Page.DataSource = B2Presenter.Model; } ///////////////////////////////////////// MinimumStay //private void CreateB2PageOld(TPAExtension tpa, bool bFill) //{ // if (!bFill) // return; // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // this.ucBlankTabContainer.ucBlankB2Page.listOfB2Page = new BindingList<B2Page>(); BindingList<BasicRateApplyDim> blBasicRateDim = ContractLayoutHelper.CreateBasicRateList(this.CurrentContract()); DefaultPeriodBindingList pblPeriods = new DefaultPeriodBindingList(this.CurrentContract()); Release relMinimumStay = null; ReleaseList lstReleases = new ReleaseList(this.CurrentContract()); int iMinStayIndex = CollectionHelper.FindIndex<Release>(lstReleases, "ReleaseType", ReleaseType.MinStay); if (iMinStayIndex >= 0) relMinimumStay = lstReleases[iMinStayIndex]; BasicRateList arBasicRates = new BasicRateList(this.CurrentContract(), blBasicRateDim); Dictionary<string, string> dctUnitBoards = FillUnitBoards(arBasicRates); List<string> lstBoards = FillBoardList(); List<string> lstSeasons = FillSeasonList(pblPeriods); this.ucBlankTabContainer.ucBlankB2Page.FillUnits(dctUnitBoards); this.ucBlankTabContainer.ucBlankB2Page.FillBoards(lstBoards); this.ucBlankTabContainer.ucBlankB2Page.FillSeasons(lstSeasons); this.ucBlankTabContainer.ucBlankB2Page.dtContractStart = this.CurrentContract().TravelStartdate.GetValueOrDefault(); this.ucBlankTabContainer.ucBlankB2Page.dtContractEnd = this.CurrentContract().TravelEnddate.GetValueOrDefault(); if (this.CurrentContract().StayConditionLines.Count == 0) { this.ucBlankTabContainer.ucBlankB2Page.gcB2Page.DataSource = this.ucBlankTabContainer.ucBlankB2Page.listOfB2Page; return; } SortedList<DateTime, Object[]> sourcePeriods = CreateSourcePeriodsFromContractSeasons(); List<String> unitList = new List<String>(); if (IsStayConditionPerUnit("MinStay")) { foreach (BasicRate basicRate in arBasicRates) { unitList.Add(basicRate.SellingUnit.UnitCodeExternal); } } else

// // // // // // // //

{ unitList.Add("*"); } int iRow = 0; Hashtable hashDuplicates = new Hashtable(); foreach (String unitCode in unitList) { SortedList<DateTime, Object[]> periods2Merge = CreateStayConditionPeriodsFromContract(unitCode, "MinStay");

// //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // SortedList<DateTime, Object[]> list = MergeSeasons4(sourcePeriods, periods2Merge); // //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // //foreach (Object[] objPeriodNew in list.Values) // //{ // // foreach (Season season in this.CurrentContract().SubSeasons()) // // { // // Period period = (Period)objPeriodNew[0]; // // foreach (Period seasonPeriod in season.Periods) // // { // // if (period.StartDate.GetValueOrDefault() >= seasonPeriod.StartDate.GetValueOrDefault() && period.StartDate.GetValueOrDefault() <= seasonPeriod.EndDate.GetValueOrDefault()) // // objPeriodNew[1] = season; // // // // // // // // // // // // // // // // // // // } // } //} //foreach (Object[] objPeriodNew in list.Values) //{ // Period period = (Period)objPeriodNew[0]; // foreach (StayConditionLine stayConditionLine in this.CurrentContract().StayConditionLines) // { // if (period.StartDate.GetValueOrDefault() == stayConditionLine.StartDate.GetValueOrDefault()) // { // objPeriodNew[1] = stayConditionLine; // } // } //} //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ foreach (Object[] objPeriod in list.Values) { Period period = (Period)objPeriod[0];

// String strKey = unitCode + period.StartDate.GetValueOrDefault().ToString(GERMAN_DATE_LONG) + period.EndDate.GetValueOrDefault().ToString(GERMAN_DATE_LONG); // if (hashDuplicates.ContainsKey(strKey)) // continue; // // // // // // // hashDuplicates.Add(strKey, strKey); B2Page b2Page = new B2Page(iRow++); b2Page.HotelBEMVonAnreise = period.StartDate.GetValueOrDefault(); b2Page.HotelBEMBisAnreise = period.EndDate.GetValueOrDefault(); b2Page.HotelBEMZimmercode = unitCode; if (objPeriod[1] is StayConditionLine) // Exceptional Maximumstay {

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // //}

StayConditionLine stayCondition = (StayConditionLine)objPeriod[1]; //b2Page.HotelBEMVerpflegung = dctUnitBoards[b2Page.HotelBEMZimmercode]; b2Page.HotelBEMVerpflegung = "*"; uint days = RetrieveExceptionStayRestrictionForUnit(unitCode, stayCondition, 1); b2Page.HotelBEMTage = days; } else // default Season Maximum Stay { if (objPeriod[1] is int) { b2Page.HotelBEMVerpflegung = "*"; //b2Page.HotelBEMSaisonzeit = season.Code; b2Page.HotelBEMSaisonzeit = ""; // According to REWE always Blank b2Page.HotelBEMTage = ((uint)(int)objPeriod[1]); } else { Season season = (Season)objPeriod[1]; //b2Page.HotelBEMZimmercode = "*"; b2Page.HotelBEMVerpflegung = "*"; //b2Page.HotelBEMSaisonzeit = season.Code; b2Page.HotelBEMSaisonzeit = ""; // According to REWE always Blank foreach (StayConditionLine stayCondition in this.CurrentContract().StayConditionLines) { if (stayCondition.Season != null && stayCondition.Season.Code.Equals(season.Code)) { b2Page.HotelBEMTage = Convert.ToUInt32(stayCondition.MinStay.GetValueOrDefault()); break; } } } } // we need to find duplicates which are lost if we have two items with the same period StayConditionLine stayContition = FindExceptionalStayRestrictionByPeriod(period); if (stayContition != null && stayContition.MinStay.GetValueOrDefault() > 0) { b2Page.HotelBEMTage = Convert.ToUInt32(stayContition.MinStay.GetValueOrDefault()); } if (b2Page.HotelBEMTage > 0) { this.ucBlankTabContainer.ucBlankB2Page.listOfB2Page.Add(b2Page); } else iRow--; } } this.ucBlankTabContainer.ucBlankB2Page.dtContractStart = this.CurrentContract().TravelStartdate.GetValueOrDefault(); this.ucBlankTabContainer.ucBlankB2Page.dtContractEnd = this.CurrentContract().TravelEnddate.GetValueOrDefault(); this.ucBlankTabContainer.ucBlankB2Page.gcB2Page.DataSource = this.ucBlankTabContainer.ucBlankB2Page.listOfB2Page; if (this.ucBlankTabContainer.ucBlankB2Page.listOfB2Page.Count > 0) this.ucBlankTabContainer.SetTabColor(this.ucBlankTabContainer.B2Page, highLightColor);

You might also like