public CommodityOption(XmlNode xmlNode) : base(xmlNode) { XmlNode buyerPartyReferenceNode = xmlNode.SelectSingleNode("buyerPartyReference"); if (buyerPartyReferenceNode != null) { if (buyerPartyReferenceNode.Attributes["href"] != null || buyerPartyReferenceNode.Attributes["id"] != null) { if (buyerPartyReferenceNode.Attributes["id"] != null) { buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["id"].Value; PartyReference ob = new PartyReference(buyerPartyReferenceNode); IDManager.SetID(buyerPartyReferenceIDRef_, ob); } else if (buyerPartyReferenceNode.Attributes["href"] != null) { buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["href"].Value; } else { buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode); } } else { buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode); } } XmlNode buyerAccountReferenceNode = xmlNode.SelectSingleNode("buyerAccountReference"); if (buyerAccountReferenceNode != null) { if (buyerAccountReferenceNode.Attributes["href"] != null || buyerAccountReferenceNode.Attributes["id"] != null) { if (buyerAccountReferenceNode.Attributes["id"] != null) { buyerAccountReferenceIDRef_ = buyerAccountReferenceNode.Attributes["id"].Value; AccountReference ob = new AccountReference(buyerAccountReferenceNode); IDManager.SetID(buyerAccountReferenceIDRef_, ob); } else if (buyerAccountReferenceNode.Attributes["href"] != null) { buyerAccountReferenceIDRef_ = buyerAccountReferenceNode.Attributes["href"].Value; } else { buyerAccountReference_ = new AccountReference(buyerAccountReferenceNode); } } else { buyerAccountReference_ = new AccountReference(buyerAccountReferenceNode); } } XmlNode sellerPartyReferenceNode = xmlNode.SelectSingleNode("sellerPartyReference"); if (sellerPartyReferenceNode != null) { if (sellerPartyReferenceNode.Attributes["href"] != null || sellerPartyReferenceNode.Attributes["id"] != null) { if (sellerPartyReferenceNode.Attributes["id"] != null) { sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["id"].Value; PartyReference ob = new PartyReference(sellerPartyReferenceNode); IDManager.SetID(sellerPartyReferenceIDRef_, ob); } else if (sellerPartyReferenceNode.Attributes["href"] != null) { sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["href"].Value; } else { sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode); } } else { sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode); } } XmlNode sellerAccountReferenceNode = xmlNode.SelectSingleNode("sellerAccountReference"); if (sellerAccountReferenceNode != null) { if (sellerAccountReferenceNode.Attributes["href"] != null || sellerAccountReferenceNode.Attributes["id"] != null) { if (sellerAccountReferenceNode.Attributes["id"] != null) { sellerAccountReferenceIDRef_ = sellerAccountReferenceNode.Attributes["id"].Value; AccountReference ob = new AccountReference(sellerAccountReferenceNode); IDManager.SetID(sellerAccountReferenceIDRef_, ob); } else if (sellerAccountReferenceNode.Attributes["href"] != null) { sellerAccountReferenceIDRef_ = sellerAccountReferenceNode.Attributes["href"].Value; } else { sellerAccountReference_ = new AccountReference(sellerAccountReferenceNode); } } else { sellerAccountReference_ = new AccountReference(sellerAccountReferenceNode); } } XmlNode optionTypeNode = xmlNode.SelectSingleNode("optionType"); if (optionTypeNode != null) { if (optionTypeNode.Attributes["href"] != null || optionTypeNode.Attributes["id"] != null) { if (optionTypeNode.Attributes["id"] != null) { optionTypeIDRef_ = optionTypeNode.Attributes["id"].Value; PutCallEnum ob = new PutCallEnum(optionTypeNode); IDManager.SetID(optionTypeIDRef_, ob); } else if (optionTypeNode.Attributes["href"] != null) { optionTypeIDRef_ = optionTypeNode.Attributes["href"].Value; } else { optionType_ = new PutCallEnum(optionTypeNode); } } else { optionType_ = new PutCallEnum(optionTypeNode); } } XmlNode commodityNode = xmlNode.SelectSingleNode("commodity"); if (commodityNode != null) { if (commodityNode.Attributes["href"] != null || commodityNode.Attributes["id"] != null) { if (commodityNode.Attributes["id"] != null) { commodityIDRef_ = commodityNode.Attributes["id"].Value; Commodity ob = new Commodity(commodityNode); IDManager.SetID(commodityIDRef_, ob); } else if (commodityNode.Attributes["href"] != null) { commodityIDRef_ = commodityNode.Attributes["href"].Value; } else { commodity_ = new Commodity(commodityNode); } } else { commodity_ = new Commodity(commodityNode); } } XmlNode effectiveDateNode = xmlNode.SelectSingleNode("effectiveDate"); if (effectiveDateNode != null) { if (effectiveDateNode.Attributes["href"] != null || effectiveDateNode.Attributes["id"] != null) { if (effectiveDateNode.Attributes["id"] != null) { effectiveDateIDRef_ = effectiveDateNode.Attributes["id"].Value; AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(effectiveDateNode); IDManager.SetID(effectiveDateIDRef_, ob); } else if (effectiveDateNode.Attributes["href"] != null) { effectiveDateIDRef_ = effectiveDateNode.Attributes["href"].Value; } else { effectiveDate_ = new AdjustableOrRelativeDate(effectiveDateNode); } } else { effectiveDate_ = new AdjustableOrRelativeDate(effectiveDateNode); } } XmlNode terminationDateNode = xmlNode.SelectSingleNode("terminationDate"); if (terminationDateNode != null) { if (terminationDateNode.Attributes["href"] != null || terminationDateNode.Attributes["id"] != null) { if (terminationDateNode.Attributes["id"] != null) { terminationDateIDRef_ = terminationDateNode.Attributes["id"].Value; AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(terminationDateNode); IDManager.SetID(terminationDateIDRef_, ob); } else if (terminationDateNode.Attributes["href"] != null) { terminationDateIDRef_ = terminationDateNode.Attributes["href"].Value; } else { terminationDate_ = new AdjustableOrRelativeDate(terminationDateNode); } } else { terminationDate_ = new AdjustableOrRelativeDate(terminationDateNode); } } XmlNode calculationPeriodsScheduleNode = xmlNode.SelectSingleNode("calculationPeriodsSchedule"); if (calculationPeriodsScheduleNode != null) { if (calculationPeriodsScheduleNode.Attributes["href"] != null || calculationPeriodsScheduleNode.Attributes["id"] != null) { if (calculationPeriodsScheduleNode.Attributes["id"] != null) { calculationPeriodsScheduleIDRef_ = calculationPeriodsScheduleNode.Attributes["id"].Value; CommodityCalculationPeriodsSchedule ob = new CommodityCalculationPeriodsSchedule(calculationPeriodsScheduleNode); IDManager.SetID(calculationPeriodsScheduleIDRef_, ob); } else if (calculationPeriodsScheduleNode.Attributes["href"] != null) { calculationPeriodsScheduleIDRef_ = calculationPeriodsScheduleNode.Attributes["href"].Value; } else { calculationPeriodsSchedule_ = new CommodityCalculationPeriodsSchedule(calculationPeriodsScheduleNode); } } else { calculationPeriodsSchedule_ = new CommodityCalculationPeriodsSchedule(calculationPeriodsScheduleNode); } } XmlNode calculationPeriodsNode = xmlNode.SelectSingleNode("calculationPeriods"); if (calculationPeriodsNode != null) { if (calculationPeriodsNode.Attributes["href"] != null || calculationPeriodsNode.Attributes["id"] != null) { if (calculationPeriodsNode.Attributes["id"] != null) { calculationPeriodsIDRef_ = calculationPeriodsNode.Attributes["id"].Value; AdjustableDates ob = new AdjustableDates(calculationPeriodsNode); IDManager.SetID(calculationPeriodsIDRef_, ob); } else if (calculationPeriodsNode.Attributes["href"] != null) { calculationPeriodsIDRef_ = calculationPeriodsNode.Attributes["href"].Value; } else { calculationPeriods_ = new AdjustableDates(calculationPeriodsNode); } } else { calculationPeriods_ = new AdjustableDates(calculationPeriodsNode); } } XmlNode pricingDatesNode = xmlNode.SelectSingleNode("pricingDates"); if (pricingDatesNode != null) { if (pricingDatesNode.Attributes["href"] != null || pricingDatesNode.Attributes["id"] != null) { if (pricingDatesNode.Attributes["id"] != null) { pricingDatesIDRef_ = pricingDatesNode.Attributes["id"].Value; CommodityPricingDates ob = new CommodityPricingDates(pricingDatesNode); IDManager.SetID(pricingDatesIDRef_, ob); } else if (pricingDatesNode.Attributes["href"] != null) { pricingDatesIDRef_ = pricingDatesNode.Attributes["href"].Value; } else { pricingDates_ = new CommodityPricingDates(pricingDatesNode); } } else { pricingDates_ = new CommodityPricingDates(pricingDatesNode); } } XmlNode averagingMethodNode = xmlNode.SelectSingleNode("averagingMethod"); if (averagingMethodNode != null) { if (averagingMethodNode.Attributes["href"] != null || averagingMethodNode.Attributes["id"] != null) { if (averagingMethodNode.Attributes["id"] != null) { averagingMethodIDRef_ = averagingMethodNode.Attributes["id"].Value; AveragingMethodEnum ob = new AveragingMethodEnum(averagingMethodNode); IDManager.SetID(averagingMethodIDRef_, ob); } else if (averagingMethodNode.Attributes["href"] != null) { averagingMethodIDRef_ = averagingMethodNode.Attributes["href"].Value; } else { averagingMethod_ = new AveragingMethodEnum(averagingMethodNode); } } else { averagingMethod_ = new AveragingMethodEnum(averagingMethodNode); } } XmlNode notionalQuantityScheduleNode = xmlNode.SelectSingleNode("notionalQuantitySchedule"); if (notionalQuantityScheduleNode != null) { if (notionalQuantityScheduleNode.Attributes["href"] != null || notionalQuantityScheduleNode.Attributes["id"] != null) { if (notionalQuantityScheduleNode.Attributes["id"] != null) { notionalQuantityScheduleIDRef_ = notionalQuantityScheduleNode.Attributes["id"].Value; CommodityNotionalQuantitySchedule ob = new CommodityNotionalQuantitySchedule(notionalQuantityScheduleNode); IDManager.SetID(notionalQuantityScheduleIDRef_, ob); } else if (notionalQuantityScheduleNode.Attributes["href"] != null) { notionalQuantityScheduleIDRef_ = notionalQuantityScheduleNode.Attributes["href"].Value; } else { notionalQuantitySchedule_ = new CommodityNotionalQuantitySchedule(notionalQuantityScheduleNode); } } else { notionalQuantitySchedule_ = new CommodityNotionalQuantitySchedule(notionalQuantityScheduleNode); } } XmlNode notionalQuantityNode = xmlNode.SelectSingleNode("notionalQuantity"); if (notionalQuantityNode != null) { if (notionalQuantityNode.Attributes["href"] != null || notionalQuantityNode.Attributes["id"] != null) { if (notionalQuantityNode.Attributes["id"] != null) { notionalQuantityIDRef_ = notionalQuantityNode.Attributes["id"].Value; CommodityNotionalQuantity ob = new CommodityNotionalQuantity(notionalQuantityNode); IDManager.SetID(notionalQuantityIDRef_, ob); } else if (notionalQuantityNode.Attributes["href"] != null) { notionalQuantityIDRef_ = notionalQuantityNode.Attributes["href"].Value; } else { notionalQuantity_ = new CommodityNotionalQuantity(notionalQuantityNode); } } else { notionalQuantity_ = new CommodityNotionalQuantity(notionalQuantityNode); } } XmlNodeList settlementPeriodsNotionalQuantityNodeList = xmlNode.SelectNodes("settlementPeriodsNotionalQuantity"); if (settlementPeriodsNotionalQuantityNodeList != null) { this.settlementPeriodsNotionalQuantity_ = new List<CommoditySettlementPeriodsNotionalQuantity>(); foreach (XmlNode item in settlementPeriodsNotionalQuantityNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] != null) { if (item.Attributes["id"] != null) { settlementPeriodsNotionalQuantityIDRef_ = item.Attributes["id"].Value; settlementPeriodsNotionalQuantity_.Add(new CommoditySettlementPeriodsNotionalQuantity(item)); IDManager.SetID(settlementPeriodsNotionalQuantityIDRef_, settlementPeriodsNotionalQuantity_[settlementPeriodsNotionalQuantity_.Count - 1 ]); } else if (item.Attributes["href"] != null) { settlementPeriodsNotionalQuantityIDRef_ = item.Attributes["href"].Value; } else { settlementPeriodsNotionalQuantity_.Add(new CommoditySettlementPeriodsNotionalQuantity(item)); } } else { settlementPeriodsNotionalQuantity_.Add(new CommoditySettlementPeriodsNotionalQuantity(item)); } } } XmlNode totalNotionalQuantityNode = xmlNode.SelectSingleNode("totalNotionalQuantity"); if (totalNotionalQuantityNode != null) { if (totalNotionalQuantityNode.Attributes["href"] != null || totalNotionalQuantityNode.Attributes["id"] != null) { if (totalNotionalQuantityNode.Attributes["id"] != null) { totalNotionalQuantityIDRef_ = totalNotionalQuantityNode.Attributes["id"].Value; XsdTypeDecimal ob = new XsdTypeDecimal(totalNotionalQuantityNode); IDManager.SetID(totalNotionalQuantityIDRef_, ob); } else if (totalNotionalQuantityNode.Attributes["href"] != null) { totalNotionalQuantityIDRef_ = totalNotionalQuantityNode.Attributes["href"].Value; } else { totalNotionalQuantity_ = new XsdTypeDecimal(totalNotionalQuantityNode); } } else { totalNotionalQuantity_ = new XsdTypeDecimal(totalNotionalQuantityNode); } } XmlNode quantityReferenceNode = xmlNode.SelectSingleNode("quantityReference"); if (quantityReferenceNode != null) { if (quantityReferenceNode.Attributes["href"] != null || quantityReferenceNode.Attributes["id"] != null) { if (quantityReferenceNode.Attributes["id"] != null) { quantityReferenceIDRef_ = quantityReferenceNode.Attributes["id"].Value; QuantityReference ob = new QuantityReference(quantityReferenceNode); IDManager.SetID(quantityReferenceIDRef_, ob); } else if (quantityReferenceNode.Attributes["href"] != null) { quantityReferenceIDRef_ = quantityReferenceNode.Attributes["href"].Value; } else { quantityReference_ = new QuantityReference(quantityReferenceNode); } } else { quantityReference_ = new QuantityReference(quantityReferenceNode); } } XmlNode exerciseNode = xmlNode.SelectSingleNode("exercise"); if (exerciseNode != null) { if (exerciseNode.Attributes["href"] != null || exerciseNode.Attributes["id"] != null) { if (exerciseNode.Attributes["id"] != null) { exerciseIDRef_ = exerciseNode.Attributes["id"].Value; CommodityExercise ob = new CommodityExercise(exerciseNode); IDManager.SetID(exerciseIDRef_, ob); } else if (exerciseNode.Attributes["href"] != null) { exerciseIDRef_ = exerciseNode.Attributes["href"].Value; } else { exercise_ = new CommodityExercise(exerciseNode); } } else { exercise_ = new CommodityExercise(exerciseNode); } } XmlNode strikePricePerUnitNode = xmlNode.SelectSingleNode("strikePricePerUnit"); if (strikePricePerUnitNode != null) { if (strikePricePerUnitNode.Attributes["href"] != null || strikePricePerUnitNode.Attributes["id"] != null) { if (strikePricePerUnitNode.Attributes["id"] != null) { strikePricePerUnitIDRef_ = strikePricePerUnitNode.Attributes["id"].Value; NonNegativeMoney ob = new NonNegativeMoney(strikePricePerUnitNode); IDManager.SetID(strikePricePerUnitIDRef_, ob); } else if (strikePricePerUnitNode.Attributes["href"] != null) { strikePricePerUnitIDRef_ = strikePricePerUnitNode.Attributes["href"].Value; } else { strikePricePerUnit_ = new NonNegativeMoney(strikePricePerUnitNode); } } else { strikePricePerUnit_ = new NonNegativeMoney(strikePricePerUnitNode); } } XmlNode strikePricePerUnitScheduleNode = xmlNode.SelectSingleNode("strikePricePerUnitSchedule"); if (strikePricePerUnitScheduleNode != null) { if (strikePricePerUnitScheduleNode.Attributes["href"] != null || strikePricePerUnitScheduleNode.Attributes["id"] != null) { if (strikePricePerUnitScheduleNode.Attributes["id"] != null) { strikePricePerUnitScheduleIDRef_ = strikePricePerUnitScheduleNode.Attributes["id"].Value; CommodityStrikeSchedule ob = new CommodityStrikeSchedule(strikePricePerUnitScheduleNode); IDManager.SetID(strikePricePerUnitScheduleIDRef_, ob); } else if (strikePricePerUnitScheduleNode.Attributes["href"] != null) { strikePricePerUnitScheduleIDRef_ = strikePricePerUnitScheduleNode.Attributes["href"].Value; } else { strikePricePerUnitSchedule_ = new CommodityStrikeSchedule(strikePricePerUnitScheduleNode); } } else { strikePricePerUnitSchedule_ = new CommodityStrikeSchedule(strikePricePerUnitScheduleNode); } } XmlNode floatingStrikePricePerUnitNode = xmlNode.SelectSingleNode("floatingStrikePricePerUnit"); if (floatingStrikePricePerUnitNode != null) { if (floatingStrikePricePerUnitNode.Attributes["href"] != null || floatingStrikePricePerUnitNode.Attributes["id"] != null) { if (floatingStrikePricePerUnitNode.Attributes["id"] != null) { floatingStrikePricePerUnitIDRef_ = floatingStrikePricePerUnitNode.Attributes["id"].Value; FloatingStrikePrice ob = new FloatingStrikePrice(floatingStrikePricePerUnitNode); IDManager.SetID(floatingStrikePricePerUnitIDRef_, ob); } else if (floatingStrikePricePerUnitNode.Attributes["href"] != null) { floatingStrikePricePerUnitIDRef_ = floatingStrikePricePerUnitNode.Attributes["href"].Value; } else { floatingStrikePricePerUnit_ = new FloatingStrikePrice(floatingStrikePricePerUnitNode); } } else { floatingStrikePricePerUnit_ = new FloatingStrikePrice(floatingStrikePricePerUnitNode); } } XmlNode floatingStrikePricePerUnitScheduleNode = xmlNode.SelectSingleNode("floatingStrikePricePerUnitSchedule"); if (floatingStrikePricePerUnitScheduleNode != null) { if (floatingStrikePricePerUnitScheduleNode.Attributes["href"] != null || floatingStrikePricePerUnitScheduleNode.Attributes["id"] != null) { if (floatingStrikePricePerUnitScheduleNode.Attributes["id"] != null) { floatingStrikePricePerUnitScheduleIDRef_ = floatingStrikePricePerUnitScheduleNode.Attributes["id"].Value; CommodityCalculationPeriodsSchedule ob = new CommodityCalculationPeriodsSchedule(floatingStrikePricePerUnitScheduleNode); IDManager.SetID(floatingStrikePricePerUnitScheduleIDRef_, ob); } else if (floatingStrikePricePerUnitScheduleNode.Attributes["href"] != null) { floatingStrikePricePerUnitScheduleIDRef_ = floatingStrikePricePerUnitScheduleNode.Attributes["href"].Value; } else { floatingStrikePricePerUnitSchedule_ = new CommodityCalculationPeriodsSchedule(floatingStrikePricePerUnitScheduleNode); } } else { floatingStrikePricePerUnitSchedule_ = new CommodityCalculationPeriodsSchedule(floatingStrikePricePerUnitScheduleNode); } } XmlNode commoditySwapNode = xmlNode.SelectSingleNode("commoditySwap"); if (commoditySwapNode != null) { if (commoditySwapNode.Attributes["href"] != null || commoditySwapNode.Attributes["id"] != null) { if (commoditySwapNode.Attributes["id"] != null) { commoditySwapIDRef_ = commoditySwapNode.Attributes["id"].Value; CommoditySwap ob = new CommoditySwap(commoditySwapNode); IDManager.SetID(commoditySwapIDRef_, ob); } else if (commoditySwapNode.Attributes["href"] != null) { commoditySwapIDRef_ = commoditySwapNode.Attributes["href"].Value; } else { commoditySwap_ = new CommoditySwap(commoditySwapNode); } } else { commoditySwap_ = new CommoditySwap(commoditySwapNode); } } XmlNode commodityForwardNode = xmlNode.SelectSingleNode("commodityForward"); if (commodityForwardNode != null) { if (commodityForwardNode.Attributes["href"] != null || commodityForwardNode.Attributes["id"] != null) { if (commodityForwardNode.Attributes["id"] != null) { commodityForwardIDRef_ = commodityForwardNode.Attributes["id"].Value; CommodityForward ob = new CommodityForward(commodityForwardNode); IDManager.SetID(commodityForwardIDRef_, ob); } else if (commodityForwardNode.Attributes["href"] != null) { commodityForwardIDRef_ = commodityForwardNode.Attributes["href"].Value; } else { commodityForward_ = new CommodityForward(commodityForwardNode); } } else { commodityForward_ = new CommodityForward(commodityForwardNode); } } XmlNode physicalExerciseNode = xmlNode.SelectSingleNode("physicalExercise"); if (physicalExerciseNode != null) { if (physicalExerciseNode.Attributes["href"] != null || physicalExerciseNode.Attributes["id"] != null) { if (physicalExerciseNode.Attributes["id"] != null) { physicalExerciseIDRef_ = physicalExerciseNode.Attributes["id"].Value; CommodityPhysicalExercise ob = new CommodityPhysicalExercise(physicalExerciseNode); IDManager.SetID(physicalExerciseIDRef_, ob); } else if (physicalExerciseNode.Attributes["href"] != null) { physicalExerciseIDRef_ = physicalExerciseNode.Attributes["href"].Value; } else { physicalExercise_ = new CommodityPhysicalExercise(physicalExerciseNode); } } else { physicalExercise_ = new CommodityPhysicalExercise(physicalExerciseNode); } } XmlNode weatherCalculationPeriodsNode = xmlNode.SelectSingleNode("weatherCalculationPeriods"); if (weatherCalculationPeriodsNode != null) { if (weatherCalculationPeriodsNode.Attributes["href"] != null || weatherCalculationPeriodsNode.Attributes["id"] != null) { if (weatherCalculationPeriodsNode.Attributes["id"] != null) { weatherCalculationPeriodsIDRef_ = weatherCalculationPeriodsNode.Attributes["id"].Value; WeatherCalculationPeriods ob = new WeatherCalculationPeriods(weatherCalculationPeriodsNode); IDManager.SetID(weatherCalculationPeriodsIDRef_, ob); } else if (weatherCalculationPeriodsNode.Attributes["href"] != null) { weatherCalculationPeriodsIDRef_ = weatherCalculationPeriodsNode.Attributes["href"].Value; } else { weatherCalculationPeriods_ = new WeatherCalculationPeriods(weatherCalculationPeriodsNode); } } else { weatherCalculationPeriods_ = new WeatherCalculationPeriods(weatherCalculationPeriodsNode); } } XmlNode weatherCalculationPeriodsReferenceNode = xmlNode.SelectSingleNode("weatherCalculationPeriodsReference"); if (weatherCalculationPeriodsReferenceNode != null) { if (weatherCalculationPeriodsReferenceNode.Attributes["href"] != null || weatherCalculationPeriodsReferenceNode.Attributes["id"] != null) { if (weatherCalculationPeriodsReferenceNode.Attributes["id"] != null) { weatherCalculationPeriodsReferenceIDRef_ = weatherCalculationPeriodsReferenceNode.Attributes["id"].Value; CalculationPeriodsReference ob = new CalculationPeriodsReference(weatherCalculationPeriodsReferenceNode); IDManager.SetID(weatherCalculationPeriodsReferenceIDRef_, ob); } else if (weatherCalculationPeriodsReferenceNode.Attributes["href"] != null) { weatherCalculationPeriodsReferenceIDRef_ = weatherCalculationPeriodsReferenceNode.Attributes["href"].Value; } else { weatherCalculationPeriodsReference_ = new CalculationPeriodsReference(weatherCalculationPeriodsReferenceNode); } } else { weatherCalculationPeriodsReference_ = new CalculationPeriodsReference(weatherCalculationPeriodsReferenceNode); } } XmlNode weatherNotionalAmountNode = xmlNode.SelectSingleNode("weatherNotionalAmount"); if (weatherNotionalAmountNode != null) { if (weatherNotionalAmountNode.Attributes["href"] != null || weatherNotionalAmountNode.Attributes["id"] != null) { if (weatherNotionalAmountNode.Attributes["id"] != null) { weatherNotionalAmountIDRef_ = weatherNotionalAmountNode.Attributes["id"].Value; NonNegativeMoney ob = new NonNegativeMoney(weatherNotionalAmountNode); IDManager.SetID(weatherNotionalAmountIDRef_, ob); } else if (weatherNotionalAmountNode.Attributes["href"] != null) { weatherNotionalAmountIDRef_ = weatherNotionalAmountNode.Attributes["href"].Value; } else { weatherNotionalAmount_ = new NonNegativeMoney(weatherNotionalAmountNode); } } else { weatherNotionalAmount_ = new NonNegativeMoney(weatherNotionalAmountNode); } } XmlNode weatherIndexStrikeLevelNode = xmlNode.SelectSingleNode("weatherIndexStrikeLevel"); if (weatherIndexStrikeLevelNode != null) { if (weatherIndexStrikeLevelNode.Attributes["href"] != null || weatherIndexStrikeLevelNode.Attributes["id"] != null) { if (weatherIndexStrikeLevelNode.Attributes["id"] != null) { weatherIndexStrikeLevelIDRef_ = weatherIndexStrikeLevelNode.Attributes["id"].Value; WeatherIndex ob = new WeatherIndex(weatherIndexStrikeLevelNode); IDManager.SetID(weatherIndexStrikeLevelIDRef_, ob); } else if (weatherIndexStrikeLevelNode.Attributes["href"] != null) { weatherIndexStrikeLevelIDRef_ = weatherIndexStrikeLevelNode.Attributes["href"].Value; } else { weatherIndexStrikeLevel_ = new WeatherIndex(weatherIndexStrikeLevelNode); } } else { weatherIndexStrikeLevel_ = new WeatherIndex(weatherIndexStrikeLevelNode); } } XmlNode calculationNode = xmlNode.SelectSingleNode("calculation"); if (calculationNode != null) { if (calculationNode.Attributes["href"] != null || calculationNode.Attributes["id"] != null) { if (calculationNode.Attributes["id"] != null) { calculationIDRef_ = calculationNode.Attributes["id"].Value; WeatherLegCalculation ob = new WeatherLegCalculation(calculationNode); IDManager.SetID(calculationIDRef_, ob); } else if (calculationNode.Attributes["href"] != null) { calculationIDRef_ = calculationNode.Attributes["href"].Value; } else { calculation_ = new WeatherLegCalculation(calculationNode); } } else { calculation_ = new WeatherLegCalculation(calculationNode); } } XmlNode weatherIndexDataNode = xmlNode.SelectSingleNode("weatherIndexData"); if (weatherIndexDataNode != null) { if (weatherIndexDataNode.Attributes["href"] != null || weatherIndexDataNode.Attributes["id"] != null) { if (weatherIndexDataNode.Attributes["id"] != null) { weatherIndexDataIDRef_ = weatherIndexDataNode.Attributes["id"].Value; WeatherIndexData ob = new WeatherIndexData(weatherIndexDataNode); IDManager.SetID(weatherIndexDataIDRef_, ob); } else if (weatherIndexDataNode.Attributes["href"] != null) { weatherIndexDataIDRef_ = weatherIndexDataNode.Attributes["href"].Value; } else { weatherIndexData_ = new WeatherIndexData(weatherIndexDataNode); } } else { weatherIndexData_ = new WeatherIndexData(weatherIndexDataNode); } } XmlNodeList premiumNodeList = xmlNode.SelectNodes("premium"); if (premiumNodeList != null) { this.premium_ = new List<CommodityPremium>(); foreach (XmlNode item in premiumNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] != null) { if (item.Attributes["id"] != null) { premiumIDRef_ = item.Attributes["id"].Value; premium_.Add(new CommodityPremium(item)); IDManager.SetID(premiumIDRef_, premium_[premium_.Count - 1 ]); } else if (item.Attributes["href"] != null) { premiumIDRef_ = item.Attributes["href"].Value; } else { premium_.Add(new CommodityPremium(item)); } } else { premium_.Add(new CommodityPremium(item)); } } } XmlNode commonPricingNode = xmlNode.SelectSingleNode("commonPricing"); if (commonPricingNode != null) { if (commonPricingNode.Attributes["href"] != null || commonPricingNode.Attributes["id"] != null) { if (commonPricingNode.Attributes["id"] != null) { commonPricingIDRef_ = commonPricingNode.Attributes["id"].Value; XsdTypeBoolean ob = new XsdTypeBoolean(commonPricingNode); IDManager.SetID(commonPricingIDRef_, ob); } else if (commonPricingNode.Attributes["href"] != null) { commonPricingIDRef_ = commonPricingNode.Attributes["href"].Value; } else { commonPricing_ = new XsdTypeBoolean(commonPricingNode); } } else { commonPricing_ = new XsdTypeBoolean(commonPricingNode); } } XmlNode marketDisruptionNode = xmlNode.SelectSingleNode("marketDisruption"); if (marketDisruptionNode != null) { if (marketDisruptionNode.Attributes["href"] != null || marketDisruptionNode.Attributes["id"] != null) { if (marketDisruptionNode.Attributes["id"] != null) { marketDisruptionIDRef_ = marketDisruptionNode.Attributes["id"].Value; CommodityMarketDisruption ob = new CommodityMarketDisruption(marketDisruptionNode); IDManager.SetID(marketDisruptionIDRef_, ob); } else if (marketDisruptionNode.Attributes["href"] != null) { marketDisruptionIDRef_ = marketDisruptionNode.Attributes["href"].Value; } else { marketDisruption_ = new CommodityMarketDisruption(marketDisruptionNode); } } else { marketDisruption_ = new CommodityMarketDisruption(marketDisruptionNode); } } XmlNode settlementDisruptionNode = xmlNode.SelectSingleNode("settlementDisruption"); if (settlementDisruptionNode != null) { if (settlementDisruptionNode.Attributes["href"] != null || settlementDisruptionNode.Attributes["id"] != null) { if (settlementDisruptionNode.Attributes["id"] != null) { settlementDisruptionIDRef_ = settlementDisruptionNode.Attributes["id"].Value; CommodityBullionSettlementDisruptionEnum ob = new CommodityBullionSettlementDisruptionEnum(settlementDisruptionNode); IDManager.SetID(settlementDisruptionIDRef_, ob); } else if (settlementDisruptionNode.Attributes["href"] != null) { settlementDisruptionIDRef_ = settlementDisruptionNode.Attributes["href"].Value; } else { settlementDisruption_ = new CommodityBullionSettlementDisruptionEnum(settlementDisruptionNode); } } else { settlementDisruption_ = new CommodityBullionSettlementDisruptionEnum(settlementDisruptionNode); } } XmlNode roundingNode = xmlNode.SelectSingleNode("rounding"); if (roundingNode != null) { if (roundingNode.Attributes["href"] != null || roundingNode.Attributes["id"] != null) { if (roundingNode.Attributes["id"] != null) { roundingIDRef_ = roundingNode.Attributes["id"].Value; Rounding ob = new Rounding(roundingNode); IDManager.SetID(roundingIDRef_, ob); } else if (roundingNode.Attributes["href"] != null) { roundingIDRef_ = roundingNode.Attributes["href"].Value; } else { rounding_ = new Rounding(roundingNode); } } else { rounding_ = new Rounding(roundingNode); } } }
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 WeatherLeg(XmlNode xmlNode) : base(xmlNode) { XmlNodeList weatherIndexLevelNodeList = xmlNode.SelectNodes("weatherIndexLevel"); if (weatherIndexLevelNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in weatherIndexLevelNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { weatherIndexLevelIDRef = item.Attributes["id"].Name; WeatherIndex ob = WeatherIndex(); IDManager.SetID(weatherIndexLevelIDRef, ob); } else if (item.Attributes.ToString() == "href") { weatherIndexLevelIDRef = item.Attributes["href"].Name; } else { weatherIndexLevel = new WeatherIndex(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 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 paymentDatesNodeList = xmlNode.SelectNodes("paymentDates"); if (paymentDatesNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in paymentDatesNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { paymentDatesIDRef = item.Attributes["id"].Name; CommodityRelativePaymentDates ob = CommodityRelativePaymentDates(); IDManager.SetID(paymentDatesIDRef, ob); } else if (item.Attributes.ToString() == "href") { paymentDatesIDRef = item.Attributes["href"].Name; } else { paymentDates = new CommodityRelativePaymentDates(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); } } } }
public WeatherLeg(XmlNode xmlNode) : base(xmlNode) { XmlNodeList weatherIndexLevelNodeList = xmlNode.SelectNodes("weatherIndexLevel"); if (weatherIndexLevelNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in weatherIndexLevelNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { weatherIndexLevelIDRef = item.Attributes["id"].Name; WeatherIndex ob = WeatherIndex(); IDManager.SetID(weatherIndexLevelIDRef, ob); } else if (item.Attributes.ToString() == "href") { weatherIndexLevelIDRef = item.Attributes["href"].Name; } else { weatherIndexLevel = new WeatherIndex(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 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 paymentDatesNodeList = xmlNode.SelectNodes("paymentDates"); if (paymentDatesNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in paymentDatesNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { paymentDatesIDRef = item.Attributes["id"].Name; CommodityRelativePaymentDates ob = CommodityRelativePaymentDates(); IDManager.SetID(paymentDatesIDRef, ob); } else if (item.Attributes.ToString() == "href") { paymentDatesIDRef = item.Attributes["href"].Name; } else { paymentDates = new CommodityRelativePaymentDates(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); } } } }
public WeatherLeg(XmlNode xmlNode) : base(xmlNode) { XmlNode weatherIndexLevelNode = xmlNode.SelectSingleNode("weatherIndexLevel"); if (weatherIndexLevelNode != null) { if (weatherIndexLevelNode.Attributes["href"] != null || weatherIndexLevelNode.Attributes["id"] != null) { if (weatherIndexLevelNode.Attributes["id"] != null) { weatherIndexLevelIDRef_ = weatherIndexLevelNode.Attributes["id"].Value; WeatherIndex ob = new WeatherIndex(weatherIndexLevelNode); IDManager.SetID(weatherIndexLevelIDRef_, ob); } else if (weatherIndexLevelNode.Attributes["href"] != null) { weatherIndexLevelIDRef_ = weatherIndexLevelNode.Attributes["href"].Value; } else { weatherIndexLevel_ = new WeatherIndex(weatherIndexLevelNode); } } else { weatherIndexLevel_ = new WeatherIndex(weatherIndexLevelNode); } } XmlNode weatherCalculationPeriodsNode = xmlNode.SelectSingleNode("weatherCalculationPeriods"); if (weatherCalculationPeriodsNode != null) { if (weatherCalculationPeriodsNode.Attributes["href"] != null || weatherCalculationPeriodsNode.Attributes["id"] != null) { if (weatherCalculationPeriodsNode.Attributes["id"] != null) { weatherCalculationPeriodsIDRef_ = weatherCalculationPeriodsNode.Attributes["id"].Value; WeatherCalculationPeriods ob = new WeatherCalculationPeriods(weatherCalculationPeriodsNode); IDManager.SetID(weatherCalculationPeriodsIDRef_, ob); } else if (weatherCalculationPeriodsNode.Attributes["href"] != null) { weatherCalculationPeriodsIDRef_ = weatherCalculationPeriodsNode.Attributes["href"].Value; } else { weatherCalculationPeriods_ = new WeatherCalculationPeriods(weatherCalculationPeriodsNode); } } else { weatherCalculationPeriods_ = new WeatherCalculationPeriods(weatherCalculationPeriodsNode); } } XmlNode weatherCalculationPeriodsReferenceNode = xmlNode.SelectSingleNode("weatherCalculationPeriodsReference"); if (weatherCalculationPeriodsReferenceNode != null) { if (weatherCalculationPeriodsReferenceNode.Attributes["href"] != null || weatherCalculationPeriodsReferenceNode.Attributes["id"] != null) { if (weatherCalculationPeriodsReferenceNode.Attributes["id"] != null) { weatherCalculationPeriodsReferenceIDRef_ = weatherCalculationPeriodsReferenceNode.Attributes["id"].Value; CalculationPeriodsReference ob = new CalculationPeriodsReference(weatherCalculationPeriodsReferenceNode); IDManager.SetID(weatherCalculationPeriodsReferenceIDRef_, ob); } else if (weatherCalculationPeriodsReferenceNode.Attributes["href"] != null) { weatherCalculationPeriodsReferenceIDRef_ = weatherCalculationPeriodsReferenceNode.Attributes["href"].Value; } else { weatherCalculationPeriodsReference_ = new CalculationPeriodsReference(weatherCalculationPeriodsReferenceNode); } } else { weatherCalculationPeriodsReference_ = new CalculationPeriodsReference(weatherCalculationPeriodsReferenceNode); } } XmlNode weatherNotionalAmountNode = xmlNode.SelectSingleNode("weatherNotionalAmount"); if (weatherNotionalAmountNode != null) { if (weatherNotionalAmountNode.Attributes["href"] != null || weatherNotionalAmountNode.Attributes["id"] != null) { if (weatherNotionalAmountNode.Attributes["id"] != null) { weatherNotionalAmountIDRef_ = weatherNotionalAmountNode.Attributes["id"].Value; NonNegativeMoney ob = new NonNegativeMoney(weatherNotionalAmountNode); IDManager.SetID(weatherNotionalAmountIDRef_, ob); } else if (weatherNotionalAmountNode.Attributes["href"] != null) { weatherNotionalAmountIDRef_ = weatherNotionalAmountNode.Attributes["href"].Value; } else { weatherNotionalAmount_ = new NonNegativeMoney(weatherNotionalAmountNode); } } else { weatherNotionalAmount_ = new NonNegativeMoney(weatherNotionalAmountNode); } } XmlNode calculationNode = xmlNode.SelectSingleNode("calculation"); if (calculationNode != null) { if (calculationNode.Attributes["href"] != null || calculationNode.Attributes["id"] != null) { if (calculationNode.Attributes["id"] != null) { calculationIDRef_ = calculationNode.Attributes["id"].Value; WeatherLegCalculation ob = new WeatherLegCalculation(calculationNode); IDManager.SetID(calculationIDRef_, ob); } else if (calculationNode.Attributes["href"] != null) { calculationIDRef_ = calculationNode.Attributes["href"].Value; } else { calculation_ = new WeatherLegCalculation(calculationNode); } } else { calculation_ = new WeatherLegCalculation(calculationNode); } } XmlNode paymentDatesNode = xmlNode.SelectSingleNode("paymentDates"); if (paymentDatesNode != null) { if (paymentDatesNode.Attributes["href"] != null || paymentDatesNode.Attributes["id"] != null) { if (paymentDatesNode.Attributes["id"] != null) { paymentDatesIDRef_ = paymentDatesNode.Attributes["id"].Value; CommodityRelativePaymentDates ob = new CommodityRelativePaymentDates(paymentDatesNode); IDManager.SetID(paymentDatesIDRef_, ob); } else if (paymentDatesNode.Attributes["href"] != null) { paymentDatesIDRef_ = paymentDatesNode.Attributes["href"].Value; } else { paymentDates_ = new CommodityRelativePaymentDates(paymentDatesNode); } } else { paymentDates_ = new CommodityRelativePaymentDates(paymentDatesNode); } } XmlNode weatherIndexDataNode = xmlNode.SelectSingleNode("weatherIndexData"); if (weatherIndexDataNode != null) { if (weatherIndexDataNode.Attributes["href"] != null || weatherIndexDataNode.Attributes["id"] != null) { if (weatherIndexDataNode.Attributes["id"] != null) { weatherIndexDataIDRef_ = weatherIndexDataNode.Attributes["id"].Value; WeatherIndexData ob = new WeatherIndexData(weatherIndexDataNode); IDManager.SetID(weatherIndexDataIDRef_, ob); } else if (weatherIndexDataNode.Attributes["href"] != null) { weatherIndexDataIDRef_ = weatherIndexDataNode.Attributes["href"].Value; } else { weatherIndexData_ = new WeatherIndexData(weatherIndexDataNode); } } else { weatherIndexData_ = new WeatherIndexData(weatherIndexDataNode); } } }