public static FloatingLegCalculation Create(FloatingRateIndex floatingRateIndex, Period tenor, AveragingMethodEnum averagingMethod, decimal conversionFactor, Rounding rounding, CommodityPricingDates pricingDates, CommodityFx fx, object[] commoditySpreadArray) { var floatingRateCalculation = new FloatingLegCalculation { averagingMethod = averagingMethod, averagingMethodSpecified = true, conversionFactor = conversionFactor, conversionFactorSpecified = true, rounding = rounding, pricingDates = pricingDates, fx = fx, Items = commoditySpreadArray }; return(floatingRateCalculation); }
public FloatingLegCalculation(XmlNode xmlNode) { XmlNodeList pricingDatesNodeList = xmlNode.SelectNodes("pricingDates"); if (pricingDatesNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in pricingDatesNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { pricingDatesIDRef = item.Attributes["id"].Name; CommodityPricingDates ob = CommodityPricingDates(); IDManager.SetID(pricingDatesIDRef, ob); } else if (item.Attributes.ToString() == "href") { pricingDatesIDRef = item.Attributes["href"].Name; } else { pricingDates = new CommodityPricingDates(item); } } } XmlNodeList averagingMethodNodeList = xmlNode.SelectNodes("averagingMethod"); if (averagingMethodNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in averagingMethodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { averagingMethodIDRef = item.Attributes["id"].Name; AveragingMethodEnum ob = AveragingMethodEnum(); IDManager.SetID(averagingMethodIDRef, ob); } else if (item.Attributes.ToString() == "href") { averagingMethodIDRef = item.Attributes["href"].Name; } else { averagingMethod = new AveragingMethodEnum(item); } } } XmlNodeList conversionFactorNodeList = xmlNode.SelectNodes("conversionFactor"); if (conversionFactorNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in conversionFactorNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { conversionFactorIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(conversionFactorIDRef, ob); } else if (item.Attributes.ToString() == "href") { conversionFactorIDRef = item.Attributes["href"].Name; } else { conversionFactor = new XsdTypeDecimal(item); } } } XmlNodeList roundingNodeList = xmlNode.SelectNodes("rounding"); if (roundingNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in roundingNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { roundingIDRef = item.Attributes["id"].Name; Rounding ob = Rounding(); IDManager.SetID(roundingIDRef, ob); } else if (item.Attributes.ToString() == "href") { roundingIDRef = item.Attributes["href"].Name; } else { rounding = new Rounding(item); } } } XmlNodeList spreadNodeList = xmlNode.SelectNodes("spread"); if (spreadNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in spreadNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { spreadIDRef = item.Attributes["id"].Name; CommoditySpread ob = CommoditySpread(); IDManager.SetID(spreadIDRef, ob); } else if (item.Attributes.ToString() == "href") { spreadIDRef = item.Attributes["href"].Name; } else { spread = new CommoditySpread(item); } } } XmlNodeList spreadScheduleNodeList = xmlNode.SelectNodes("spreadSchedule"); foreach (XmlNode item in spreadScheduleNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { spreadScheduleIDRef = item.Attributes["id"].Name; List<CommoditySpreadSchedule> ob = new List<CommoditySpreadSchedule>(); ob.Add(new CommoditySpreadSchedule(item)); IDManager.SetID(spreadScheduleIDRef, ob); } else if (item.Attributes.ToString() == "href") { spreadScheduleIDRef = item.Attributes["href"].Name; } else { spreadSchedule.Add(new CommoditySpreadSchedule(item)); } } } XmlNodeList spreadPercentageNodeList = xmlNode.SelectNodes("spreadPercentage"); if (spreadPercentageNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in spreadPercentageNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { spreadPercentageIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(spreadPercentageIDRef, ob); } else if (item.Attributes.ToString() == "href") { spreadPercentageIDRef = item.Attributes["href"].Name; } else { spreadPercentage = new XsdTypeDecimal(item); } } } XmlNodeList fxNodeList = xmlNode.SelectNodes("fx"); if (fxNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in fxNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { fxIDRef = item.Attributes["id"].Name; CommodityFx ob = CommodityFx(); IDManager.SetID(fxIDRef, ob); } else if (item.Attributes.ToString() == "href") { fxIDRef = item.Attributes["href"].Name; } else { fx = new CommodityFx(item); } } } }
public CommodityOption(XmlNode xmlNode) : base(xmlNode) { XmlNodeList buyerPartyReferenceNodeList = xmlNode.SelectNodes("buyerPartyReference"); if (buyerPartyReferenceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in buyerPartyReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { buyerPartyReferenceIDRef = item.Attributes["id"].Name; PartyReference ob = PartyReference(); IDManager.SetID(buyerPartyReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { buyerPartyReferenceIDRef = item.Attributes["href"].Name; } else { buyerPartyReference = new PartyReference(item); } } } XmlNodeList buyerAccountReferenceNodeList = xmlNode.SelectNodes("buyerAccountReference"); if (buyerAccountReferenceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in buyerAccountReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { buyerAccountReferenceIDRef = item.Attributes["id"].Name; AccountReference ob = AccountReference(); IDManager.SetID(buyerAccountReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { buyerAccountReferenceIDRef = item.Attributes["href"].Name; } else { buyerAccountReference = new AccountReference(item); } } } XmlNodeList sellerPartyReferenceNodeList = xmlNode.SelectNodes("sellerPartyReference"); if (sellerPartyReferenceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in sellerPartyReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { sellerPartyReferenceIDRef = item.Attributes["id"].Name; PartyReference ob = PartyReference(); IDManager.SetID(sellerPartyReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { sellerPartyReferenceIDRef = item.Attributes["href"].Name; } else { sellerPartyReference = new PartyReference(item); } } } XmlNodeList sellerAccountReferenceNodeList = xmlNode.SelectNodes("sellerAccountReference"); if (sellerAccountReferenceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in sellerAccountReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { sellerAccountReferenceIDRef = item.Attributes["id"].Name; AccountReference ob = AccountReference(); IDManager.SetID(sellerAccountReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { sellerAccountReferenceIDRef = item.Attributes["href"].Name; } else { sellerAccountReference = new AccountReference(item); } } } XmlNodeList optionTypeNodeList = xmlNode.SelectNodes("optionType"); if (optionTypeNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in optionTypeNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { optionTypeIDRef = item.Attributes["id"].Name; PutCallEnum ob = PutCallEnum(); IDManager.SetID(optionTypeIDRef, ob); } else if (item.Attributes.ToString() == "href") { optionTypeIDRef = item.Attributes["href"].Name; } else { optionType = new PutCallEnum(item); } } } XmlNodeList commodityNodeList = xmlNode.SelectNodes("commodity"); if (commodityNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in commodityNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { commodityIDRef = item.Attributes["id"].Name; Commodity ob = Commodity(); IDManager.SetID(commodityIDRef, ob); } else if (item.Attributes.ToString() == "href") { commodityIDRef = item.Attributes["href"].Name; } else { commodity = new Commodity(item); } } } XmlNodeList effectiveDateNodeList = xmlNode.SelectNodes("effectiveDate"); if (effectiveDateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in effectiveDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { effectiveDateIDRef = item.Attributes["id"].Name; AdjustableOrRelativeDate ob = AdjustableOrRelativeDate(); IDManager.SetID(effectiveDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { effectiveDateIDRef = item.Attributes["href"].Name; } else { effectiveDate = new AdjustableOrRelativeDate(item); } } } XmlNodeList terminationDateNodeList = xmlNode.SelectNodes("terminationDate"); if (terminationDateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in terminationDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { terminationDateIDRef = item.Attributes["id"].Name; AdjustableOrRelativeDate ob = AdjustableOrRelativeDate(); IDManager.SetID(terminationDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { terminationDateIDRef = item.Attributes["href"].Name; } else { terminationDate = new AdjustableOrRelativeDate(item); } } } XmlNodeList calculationPeriodsScheduleNodeList = xmlNode.SelectNodes("calculationPeriodsSchedule"); if (calculationPeriodsScheduleNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in calculationPeriodsScheduleNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { calculationPeriodsScheduleIDRef = item.Attributes["id"].Name; CommodityCalculationPeriodsSchedule ob = CommodityCalculationPeriodsSchedule(); IDManager.SetID(calculationPeriodsScheduleIDRef, ob); } else if (item.Attributes.ToString() == "href") { calculationPeriodsScheduleIDRef = item.Attributes["href"].Name; } else { calculationPeriodsSchedule = new CommodityCalculationPeriodsSchedule(item); } } } XmlNodeList calculationPeriodsNodeList = xmlNode.SelectNodes("calculationPeriods"); if (calculationPeriodsNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in calculationPeriodsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { calculationPeriodsIDRef = item.Attributes["id"].Name; AdjustableDates ob = AdjustableDates(); IDManager.SetID(calculationPeriodsIDRef, ob); } else if (item.Attributes.ToString() == "href") { calculationPeriodsIDRef = item.Attributes["href"].Name; } else { calculationPeriods = new AdjustableDates(item); } } } XmlNodeList pricingDatesNodeList = xmlNode.SelectNodes("pricingDates"); if (pricingDatesNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in pricingDatesNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { pricingDatesIDRef = item.Attributes["id"].Name; CommodityPricingDates ob = CommodityPricingDates(); IDManager.SetID(pricingDatesIDRef, ob); } else if (item.Attributes.ToString() == "href") { pricingDatesIDRef = item.Attributes["href"].Name; } else { pricingDates = new CommodityPricingDates(item); } } } XmlNodeList averagingMethodNodeList = xmlNode.SelectNodes("averagingMethod"); if (averagingMethodNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in averagingMethodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { averagingMethodIDRef = item.Attributes["id"].Name; AveragingMethodEnum ob = AveragingMethodEnum(); IDManager.SetID(averagingMethodIDRef, ob); } else if (item.Attributes.ToString() == "href") { averagingMethodIDRef = item.Attributes["href"].Name; } else { averagingMethod = new AveragingMethodEnum(item); } } } XmlNodeList notionalQuantityScheduleNodeList = xmlNode.SelectNodes("notionalQuantitySchedule"); if (notionalQuantityScheduleNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in notionalQuantityScheduleNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { notionalQuantityScheduleIDRef = item.Attributes["id"].Name; CommodityNotionalQuantitySchedule ob = CommodityNotionalQuantitySchedule(); IDManager.SetID(notionalQuantityScheduleIDRef, ob); } else if (item.Attributes.ToString() == "href") { notionalQuantityScheduleIDRef = item.Attributes["href"].Name; } else { notionalQuantitySchedule = new CommodityNotionalQuantitySchedule(item); } } } XmlNodeList notionalQuantityNodeList = xmlNode.SelectNodes("notionalQuantity"); if (notionalQuantityNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in notionalQuantityNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { notionalQuantityIDRef = item.Attributes["id"].Name; CommodityNotionalQuantity ob = CommodityNotionalQuantity(); IDManager.SetID(notionalQuantityIDRef, ob); } else if (item.Attributes.ToString() == "href") { notionalQuantityIDRef = item.Attributes["href"].Name; } else { notionalQuantity = new CommodityNotionalQuantity(item); } } } XmlNodeList settlementPeriodsNotionalQuantityNodeList = xmlNode.SelectNodes("settlementPeriodsNotionalQuantity"); foreach (XmlNode item in settlementPeriodsNotionalQuantityNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { settlementPeriodsNotionalQuantityIDRef = item.Attributes["id"].Name; List<CommoditySettlementPeriodsNotionalQuantity> ob = new List<CommoditySettlementPeriodsNotionalQuantity>(); ob.Add(new CommoditySettlementPeriodsNotionalQuantity(item)); IDManager.SetID(settlementPeriodsNotionalQuantityIDRef, ob); } else if (item.Attributes.ToString() == "href") { settlementPeriodsNotionalQuantityIDRef = item.Attributes["href"].Name; } else { settlementPeriodsNotionalQuantity.Add(new CommoditySettlementPeriodsNotionalQuantity(item)); } } } XmlNodeList totalNotionalQuantityNodeList = xmlNode.SelectNodes("totalNotionalQuantity"); if (totalNotionalQuantityNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in totalNotionalQuantityNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { totalNotionalQuantityIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(totalNotionalQuantityIDRef, ob); } else if (item.Attributes.ToString() == "href") { totalNotionalQuantityIDRef = item.Attributes["href"].Name; } else { totalNotionalQuantity = new XsdTypeDecimal(item); } } } XmlNodeList quantityReferenceNodeList = xmlNode.SelectNodes("quantityReference"); if (quantityReferenceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in quantityReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { quantityReferenceIDRef = item.Attributes["id"].Name; QuantityReference ob = QuantityReference(); IDManager.SetID(quantityReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { quantityReferenceIDRef = item.Attributes["href"].Name; } else { quantityReference = new QuantityReference(item); } } } XmlNodeList exerciseNodeList = xmlNode.SelectNodes("exercise"); if (exerciseNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in exerciseNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { exerciseIDRef = item.Attributes["id"].Name; CommodityExercise ob = CommodityExercise(); IDManager.SetID(exerciseIDRef, ob); } else if (item.Attributes.ToString() == "href") { exerciseIDRef = item.Attributes["href"].Name; } else { exercise = new CommodityExercise(item); } } } XmlNodeList strikePricePerUnitNodeList = xmlNode.SelectNodes("strikePricePerUnit"); if (strikePricePerUnitNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in strikePricePerUnitNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { strikePricePerUnitIDRef = item.Attributes["id"].Name; NonNegativeMoney ob = NonNegativeMoney(); IDManager.SetID(strikePricePerUnitIDRef, ob); } else if (item.Attributes.ToString() == "href") { strikePricePerUnitIDRef = item.Attributes["href"].Name; } else { strikePricePerUnit = new NonNegativeMoney(item); } } } XmlNodeList strikePricePerUnitScheduleNodeList = xmlNode.SelectNodes("strikePricePerUnitSchedule"); if (strikePricePerUnitScheduleNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in strikePricePerUnitScheduleNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { strikePricePerUnitScheduleIDRef = item.Attributes["id"].Name; CommodityStrikeSchedule ob = CommodityStrikeSchedule(); IDManager.SetID(strikePricePerUnitScheduleIDRef, ob); } else if (item.Attributes.ToString() == "href") { strikePricePerUnitScheduleIDRef = item.Attributes["href"].Name; } else { strikePricePerUnitSchedule = new CommodityStrikeSchedule(item); } } } XmlNodeList floatingStrikePricePerUnitNodeList = xmlNode.SelectNodes("floatingStrikePricePerUnit"); if (floatingStrikePricePerUnitNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in floatingStrikePricePerUnitNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { floatingStrikePricePerUnitIDRef = item.Attributes["id"].Name; FloatingStrikePrice ob = FloatingStrikePrice(); IDManager.SetID(floatingStrikePricePerUnitIDRef, ob); } else if (item.Attributes.ToString() == "href") { floatingStrikePricePerUnitIDRef = item.Attributes["href"].Name; } else { floatingStrikePricePerUnit = new FloatingStrikePrice(item); } } } XmlNodeList floatingStrikePricePerUnitScheduleNodeList = xmlNode.SelectNodes("floatingStrikePricePerUnitSchedule"); if (floatingStrikePricePerUnitScheduleNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in floatingStrikePricePerUnitScheduleNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { floatingStrikePricePerUnitScheduleIDRef = item.Attributes["id"].Name; CommodityCalculationPeriodsSchedule ob = CommodityCalculationPeriodsSchedule(); IDManager.SetID(floatingStrikePricePerUnitScheduleIDRef, ob); } else if (item.Attributes.ToString() == "href") { floatingStrikePricePerUnitScheduleIDRef = item.Attributes["href"].Name; } else { floatingStrikePricePerUnitSchedule = new CommodityCalculationPeriodsSchedule(item); } } } XmlNodeList commoditySwapNodeList = xmlNode.SelectNodes("commoditySwap"); if (commoditySwapNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in commoditySwapNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { commoditySwapIDRef = item.Attributes["id"].Name; CommoditySwap ob = CommoditySwap(); IDManager.SetID(commoditySwapIDRef, ob); } else if (item.Attributes.ToString() == "href") { commoditySwapIDRef = item.Attributes["href"].Name; } else { commoditySwap = new CommoditySwap(item); } } } XmlNodeList commodityForwardNodeList = xmlNode.SelectNodes("commodityForward"); if (commodityForwardNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in commodityForwardNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { commodityForwardIDRef = item.Attributes["id"].Name; CommodityForward ob = CommodityForward(); IDManager.SetID(commodityForwardIDRef, ob); } else if (item.Attributes.ToString() == "href") { commodityForwardIDRef = item.Attributes["href"].Name; } else { commodityForward = new CommodityForward(item); } } } XmlNodeList physicalExerciseNodeList = xmlNode.SelectNodes("physicalExercise"); if (physicalExerciseNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in physicalExerciseNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { physicalExerciseIDRef = item.Attributes["id"].Name; CommodityPhysicalExercise ob = CommodityPhysicalExercise(); IDManager.SetID(physicalExerciseIDRef, ob); } else if (item.Attributes.ToString() == "href") { physicalExerciseIDRef = item.Attributes["href"].Name; } else { physicalExercise = new CommodityPhysicalExercise(item); } } } XmlNodeList weatherCalculationPeriodsNodeList = xmlNode.SelectNodes("weatherCalculationPeriods"); if (weatherCalculationPeriodsNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in weatherCalculationPeriodsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { weatherCalculationPeriodsIDRef = item.Attributes["id"].Name; WeatherCalculationPeriods ob = WeatherCalculationPeriods(); IDManager.SetID(weatherCalculationPeriodsIDRef, ob); } else if (item.Attributes.ToString() == "href") { weatherCalculationPeriodsIDRef = item.Attributes["href"].Name; } else { weatherCalculationPeriods = new WeatherCalculationPeriods(item); } } } XmlNodeList weatherCalculationPeriodsReferenceNodeList = xmlNode.SelectNodes("weatherCalculationPeriodsReference"); if (weatherCalculationPeriodsReferenceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in weatherCalculationPeriodsReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { weatherCalculationPeriodsReferenceIDRef = item.Attributes["id"].Name; CalculationPeriodsReference ob = CalculationPeriodsReference(); IDManager.SetID(weatherCalculationPeriodsReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { weatherCalculationPeriodsReferenceIDRef = item.Attributes["href"].Name; } else { weatherCalculationPeriodsReference = new CalculationPeriodsReference(item); } } } XmlNodeList weatherNotionalAmountNodeList = xmlNode.SelectNodes("weatherNotionalAmount"); if (weatherNotionalAmountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in weatherNotionalAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { weatherNotionalAmountIDRef = item.Attributes["id"].Name; NonNegativeMoney ob = NonNegativeMoney(); IDManager.SetID(weatherNotionalAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { weatherNotionalAmountIDRef = item.Attributes["href"].Name; } else { weatherNotionalAmount = new NonNegativeMoney(item); } } } XmlNodeList weatherIndexStrikeLevelNodeList = xmlNode.SelectNodes("weatherIndexStrikeLevel"); if (weatherIndexStrikeLevelNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in weatherIndexStrikeLevelNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { weatherIndexStrikeLevelIDRef = item.Attributes["id"].Name; WeatherIndex ob = WeatherIndex(); IDManager.SetID(weatherIndexStrikeLevelIDRef, ob); } else if (item.Attributes.ToString() == "href") { weatherIndexStrikeLevelIDRef = item.Attributes["href"].Name; } else { weatherIndexStrikeLevel = new WeatherIndex(item); } } } XmlNodeList calculationNodeList = xmlNode.SelectNodes("calculation"); if (calculationNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in calculationNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { calculationIDRef = item.Attributes["id"].Name; WeatherLegCalculation ob = WeatherLegCalculation(); IDManager.SetID(calculationIDRef, ob); } else if (item.Attributes.ToString() == "href") { calculationIDRef = item.Attributes["href"].Name; } else { calculation = new WeatherLegCalculation(item); } } } XmlNodeList weatherIndexDataNodeList = xmlNode.SelectNodes("weatherIndexData"); if (weatherIndexDataNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in weatherIndexDataNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { weatherIndexDataIDRef = item.Attributes["id"].Name; WeatherIndexData ob = WeatherIndexData(); IDManager.SetID(weatherIndexDataIDRef, ob); } else if (item.Attributes.ToString() == "href") { weatherIndexDataIDRef = item.Attributes["href"].Name; } else { weatherIndexData = new WeatherIndexData(item); } } } XmlNodeList premiumNodeList = xmlNode.SelectNodes("premium"); foreach (XmlNode item in premiumNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { premiumIDRef = item.Attributes["id"].Name; List<CommodityPremium> ob = new List<CommodityPremium>(); ob.Add(new CommodityPremium(item)); IDManager.SetID(premiumIDRef, ob); } else if (item.Attributes.ToString() == "href") { premiumIDRef = item.Attributes["href"].Name; } else { premium.Add(new CommodityPremium(item)); } } } XmlNodeList commonPricingNodeList = xmlNode.SelectNodes("commonPricing"); if (commonPricingNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in commonPricingNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { commonPricingIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(commonPricingIDRef, ob); } else if (item.Attributes.ToString() == "href") { commonPricingIDRef = item.Attributes["href"].Name; } else { commonPricing = new XsdTypeBoolean(item); } } } XmlNodeList marketDisruptionNodeList = xmlNode.SelectNodes("marketDisruption"); if (marketDisruptionNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in marketDisruptionNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { marketDisruptionIDRef = item.Attributes["id"].Name; CommodityMarketDisruption ob = CommodityMarketDisruption(); IDManager.SetID(marketDisruptionIDRef, ob); } else if (item.Attributes.ToString() == "href") { marketDisruptionIDRef = item.Attributes["href"].Name; } else { marketDisruption = new CommodityMarketDisruption(item); } } } XmlNodeList settlementDisruptionNodeList = xmlNode.SelectNodes("settlementDisruption"); if (settlementDisruptionNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in settlementDisruptionNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { settlementDisruptionIDRef = item.Attributes["id"].Name; CommodityBullionSettlementDisruptionEnum ob = CommodityBullionSettlementDisruptionEnum(); IDManager.SetID(settlementDisruptionIDRef, ob); } else if (item.Attributes.ToString() == "href") { settlementDisruptionIDRef = item.Attributes["href"].Name; } else { settlementDisruption = new CommodityBullionSettlementDisruptionEnum(item); } } } XmlNodeList roundingNodeList = xmlNode.SelectNodes("rounding"); if (roundingNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in roundingNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { roundingIDRef = item.Attributes["id"].Name; Rounding ob = Rounding(); IDManager.SetID(roundingIDRef, ob); } else if (item.Attributes.ToString() == "href") { roundingIDRef = item.Attributes["href"].Name; } else { rounding = new Rounding(item); } } } }
public FloatingRateCalculation(XmlNode xmlNode) : base(xmlNode) { XmlNodeList initialRateNodeList = xmlNode.SelectNodes("initialRate"); if (initialRateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in initialRateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { initialRateIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(initialRateIDRef, ob); } else if (item.Attributes.ToString() == "href") { initialRateIDRef = item.Attributes["href"].Name; } else { initialRate = new XsdTypeDecimal(item); } } } XmlNodeList finalRateRoundingNodeList = xmlNode.SelectNodes("finalRateRounding"); if (finalRateRoundingNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in finalRateRoundingNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { finalRateRoundingIDRef = item.Attributes["id"].Name; Rounding ob = Rounding(); IDManager.SetID(finalRateRoundingIDRef, ob); } else if (item.Attributes.ToString() == "href") { finalRateRoundingIDRef = item.Attributes["href"].Name; } else { finalRateRounding = new Rounding(item); } } } XmlNodeList averagingMethodNodeList = xmlNode.SelectNodes("averagingMethod"); if (averagingMethodNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in averagingMethodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { averagingMethodIDRef = item.Attributes["id"].Name; AveragingMethodEnum ob = AveragingMethodEnum(); IDManager.SetID(averagingMethodIDRef, ob); } else if (item.Attributes.ToString() == "href") { averagingMethodIDRef = item.Attributes["href"].Name; } else { averagingMethod = new AveragingMethodEnum(item); } } } XmlNodeList negativeInterestRateTreatmentNodeList = xmlNode.SelectNodes("negativeInterestRateTreatment"); if (negativeInterestRateTreatmentNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in negativeInterestRateTreatmentNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { negativeInterestRateTreatmentIDRef = item.Attributes["id"].Name; NegativeInterestRateTreatmentEnum ob = NegativeInterestRateTreatmentEnum(); IDManager.SetID(negativeInterestRateTreatmentIDRef, ob); } else if (item.Attributes.ToString() == "href") { negativeInterestRateTreatmentIDRef = item.Attributes["href"].Name; } else { negativeInterestRateTreatment = new NegativeInterestRateTreatmentEnum(item); } } } }