public FxOption(XmlNode xmlNode) : base(xmlNode) { 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 tenorPeriodNodeList = xmlNode.SelectNodes("tenorPeriod"); if (tenorPeriodNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in tenorPeriodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { tenorPeriodIDRef = item.Attributes["id"].Name; Period ob = Period(); IDManager.SetID(tenorPeriodIDRef, ob); } else if (item.Attributes.ToString() == "href") { tenorPeriodIDRef = item.Attributes["href"].Name; } else { tenorPeriod = new Period(item); } } } XmlNodeList americanExerciseNodeList = xmlNode.SelectNodes("americanExercise"); if (americanExerciseNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in americanExerciseNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { americanExerciseIDRef = item.Attributes["id"].Name; FxAmericanExercise ob = FxAmericanExercise(); IDManager.SetID(americanExerciseIDRef, ob); } else if (item.Attributes.ToString() == "href") { americanExerciseIDRef = item.Attributes["href"].Name; } else { americanExercise = new FxAmericanExercise(item); } } } XmlNodeList europeanExerciseNodeList = xmlNode.SelectNodes("europeanExercise"); if (europeanExerciseNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in europeanExerciseNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { europeanExerciseIDRef = item.Attributes["id"].Name; FxEuropeanExercise ob = FxEuropeanExercise(); IDManager.SetID(europeanExerciseIDRef, ob); } else if (item.Attributes.ToString() == "href") { europeanExerciseIDRef = item.Attributes["href"].Name; } else { europeanExercise = new FxEuropeanExercise(item); } } } XmlNodeList exerciseProcedureNodeList = xmlNode.SelectNodes("exerciseProcedure"); if (exerciseProcedureNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in exerciseProcedureNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { exerciseProcedureIDRef = item.Attributes["id"].Name; ExerciseProcedure ob = ExerciseProcedure(); IDManager.SetID(exerciseProcedureIDRef, ob); } else if (item.Attributes.ToString() == "href") { exerciseProcedureIDRef = item.Attributes["href"].Name; } else { exerciseProcedure = new ExerciseProcedure(item); } } } XmlNodeList putCurrencyAmountNodeList = xmlNode.SelectNodes("putCurrencyAmount"); if (putCurrencyAmountNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in putCurrencyAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { putCurrencyAmountIDRef = item.Attributes["id"].Name; NonNegativeMoney ob = NonNegativeMoney(); IDManager.SetID(putCurrencyAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { putCurrencyAmountIDRef = item.Attributes["href"].Name; } else { putCurrencyAmount = new NonNegativeMoney(item); } } } XmlNodeList callCurrencyAmountNodeList = xmlNode.SelectNodes("callCurrencyAmount"); if (callCurrencyAmountNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in callCurrencyAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { callCurrencyAmountIDRef = item.Attributes["id"].Name; NonNegativeMoney ob = NonNegativeMoney(); IDManager.SetID(callCurrencyAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { callCurrencyAmountIDRef = item.Attributes["href"].Name; } else { callCurrencyAmount = new NonNegativeMoney(item); } } } XmlNodeList soldAsNodeList = xmlNode.SelectNodes("soldAs"); if (soldAsNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in soldAsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { soldAsIDRef = item.Attributes["id"].Name; PutCallEnum ob = PutCallEnum(); IDManager.SetID(soldAsIDRef, ob); } else if (item.Attributes.ToString() == "href") { soldAsIDRef = item.Attributes["href"].Name; } else { soldAs = new PutCallEnum(item); } } } XmlNodeList strikeNodeList = xmlNode.SelectNodes("strike"); if (strikeNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in strikeNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { strikeIDRef = item.Attributes["id"].Name; FxStrikePrice ob = FxStrikePrice(); IDManager.SetID(strikeIDRef, ob); } else if (item.Attributes.ToString() == "href") { strikeIDRef = item.Attributes["href"].Name; } else { strike = new FxStrikePrice(item); } } } XmlNodeList spotRateNodeList = xmlNode.SelectNodes("spotRate"); if (spotRateNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in spotRateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { spotRateIDRef = item.Attributes["id"].Name; PositiveDecimal ob = PositiveDecimal(); IDManager.SetID(spotRateIDRef, ob); } else if (item.Attributes.ToString() == "href") { spotRateIDRef = item.Attributes["href"].Name; } else { spotRate = new PositiveDecimal(item); } } } XmlNodeList featuresNodeList = xmlNode.SelectNodes("features"); if (featuresNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in featuresNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { featuresIDRef = item.Attributes["id"].Name; FxOptionFeatures ob = FxOptionFeatures(); IDManager.SetID(featuresIDRef, ob); } else if (item.Attributes.ToString() == "href") { featuresIDRef = item.Attributes["href"].Name; } else { features = new FxOptionFeatures(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 <FxOptionPremium> ob = new List <FxOptionPremium>(); ob.Add(new FxOptionPremium(item)); IDManager.SetID(premiumIDRef, ob); } else if (item.Attributes.ToString() == "href") { premiumIDRef = item.Attributes["href"].Name; } else { premium.Add(new FxOptionPremium(item)); } } } XmlNodeList cashSettlementNodeList = xmlNode.SelectNodes("cashSettlement"); if (cashSettlementNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in cashSettlementNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { cashSettlementIDRef = item.Attributes["id"].Name; FxCashSettlement ob = FxCashSettlement(); IDManager.SetID(cashSettlementIDRef, ob); } else if (item.Attributes.ToString() == "href") { cashSettlementIDRef = item.Attributes["href"].Name; } else { cashSettlement = new FxCashSettlement(item); } } } }
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 CommoditySwaption(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 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; CommoditySwaptionUnderlying ob = CommoditySwaptionUnderlying(); IDManager.SetID(commoditySwapIDRef, ob); } else if (item.Attributes.ToString() == "href") { commoditySwapIDRef = item.Attributes["href"].Name; } else { commoditySwap = new CommoditySwaptionUnderlying(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 premiumNodeList = xmlNode.SelectNodes("premium"); if (premiumNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in premiumNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { premiumIDRef = item.Attributes["id"].Name; CommodityPremium ob = CommodityPremium(); IDManager.SetID(premiumIDRef, ob); } else if (item.Attributes.ToString() == "href") { premiumIDRef = item.Attributes["href"].Name; } else { premium = 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 CommoditySwaption(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 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; CommoditySwaptionUnderlying ob = new CommoditySwaptionUnderlying(commoditySwapNode); IDManager.SetID(commoditySwapIDRef_, ob); } else if (commoditySwapNode.Attributes["href"] != null) { commoditySwapIDRef_ = commoditySwapNode.Attributes["href"].Value; } else { commoditySwap_ = new CommoditySwaptionUnderlying(commoditySwapNode); } } else { commoditySwap_ = new CommoditySwaptionUnderlying(commoditySwapNode); } } 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 premiumNode = xmlNode.SelectSingleNode("premium"); if (premiumNode != null) { if (premiumNode.Attributes["href"] != null || premiumNode.Attributes["id"] != null) { if (premiumNode.Attributes["id"] != null) { premiumIDRef_ = premiumNode.Attributes["id"].Value; CommodityPremium ob = new CommodityPremium(premiumNode); IDManager.SetID(premiumIDRef_, ob); } else if (premiumNode.Attributes["href"] != null) { premiumIDRef_ = premiumNode.Attributes["href"].Value; } else { premium_ = new CommodityPremium(premiumNode); } } else { premium_ = new CommodityPremium(premiumNode); } } 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 FxOption(XmlNode xmlNode) : base(xmlNode) { 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 tenorPeriodNode = xmlNode.SelectSingleNode("tenorPeriod"); if (tenorPeriodNode != null) { if (tenorPeriodNode.Attributes["href"] != null || tenorPeriodNode.Attributes["id"] != null) { if (tenorPeriodNode.Attributes["id"] != null) { tenorPeriodIDRef_ = tenorPeriodNode.Attributes["id"].Value; Period ob = new Period(tenorPeriodNode); IDManager.SetID(tenorPeriodIDRef_, ob); } else if (tenorPeriodNode.Attributes["href"] != null) { tenorPeriodIDRef_ = tenorPeriodNode.Attributes["href"].Value; } else { tenorPeriod_ = new Period(tenorPeriodNode); } } else { tenorPeriod_ = new Period(tenorPeriodNode); } } XmlNode americanExerciseNode = xmlNode.SelectSingleNode("americanExercise"); if (americanExerciseNode != null) { if (americanExerciseNode.Attributes["href"] != null || americanExerciseNode.Attributes["id"] != null) { if (americanExerciseNode.Attributes["id"] != null) { americanExerciseIDRef_ = americanExerciseNode.Attributes["id"].Value; FxAmericanExercise ob = new FxAmericanExercise(americanExerciseNode); IDManager.SetID(americanExerciseIDRef_, ob); } else if (americanExerciseNode.Attributes["href"] != null) { americanExerciseIDRef_ = americanExerciseNode.Attributes["href"].Value; } else { americanExercise_ = new FxAmericanExercise(americanExerciseNode); } } else { americanExercise_ = new FxAmericanExercise(americanExerciseNode); } } XmlNode europeanExerciseNode = xmlNode.SelectSingleNode("europeanExercise"); if (europeanExerciseNode != null) { if (europeanExerciseNode.Attributes["href"] != null || europeanExerciseNode.Attributes["id"] != null) { if (europeanExerciseNode.Attributes["id"] != null) { europeanExerciseIDRef_ = europeanExerciseNode.Attributes["id"].Value; FxEuropeanExercise ob = new FxEuropeanExercise(europeanExerciseNode); IDManager.SetID(europeanExerciseIDRef_, ob); } else if (europeanExerciseNode.Attributes["href"] != null) { europeanExerciseIDRef_ = europeanExerciseNode.Attributes["href"].Value; } else { europeanExercise_ = new FxEuropeanExercise(europeanExerciseNode); } } else { europeanExercise_ = new FxEuropeanExercise(europeanExerciseNode); } } XmlNode exerciseProcedureNode = xmlNode.SelectSingleNode("exerciseProcedure"); if (exerciseProcedureNode != null) { if (exerciseProcedureNode.Attributes["href"] != null || exerciseProcedureNode.Attributes["id"] != null) { if (exerciseProcedureNode.Attributes["id"] != null) { exerciseProcedureIDRef_ = exerciseProcedureNode.Attributes["id"].Value; ExerciseProcedure ob = new ExerciseProcedure(exerciseProcedureNode); IDManager.SetID(exerciseProcedureIDRef_, ob); } else if (exerciseProcedureNode.Attributes["href"] != null) { exerciseProcedureIDRef_ = exerciseProcedureNode.Attributes["href"].Value; } else { exerciseProcedure_ = new ExerciseProcedure(exerciseProcedureNode); } } else { exerciseProcedure_ = new ExerciseProcedure(exerciseProcedureNode); } } XmlNode putCurrencyAmountNode = xmlNode.SelectSingleNode("putCurrencyAmount"); if (putCurrencyAmountNode != null) { if (putCurrencyAmountNode.Attributes["href"] != null || putCurrencyAmountNode.Attributes["id"] != null) { if (putCurrencyAmountNode.Attributes["id"] != null) { putCurrencyAmountIDRef_ = putCurrencyAmountNode.Attributes["id"].Value; NonNegativeMoney ob = new NonNegativeMoney(putCurrencyAmountNode); IDManager.SetID(putCurrencyAmountIDRef_, ob); } else if (putCurrencyAmountNode.Attributes["href"] != null) { putCurrencyAmountIDRef_ = putCurrencyAmountNode.Attributes["href"].Value; } else { putCurrencyAmount_ = new NonNegativeMoney(putCurrencyAmountNode); } } else { putCurrencyAmount_ = new NonNegativeMoney(putCurrencyAmountNode); } } XmlNode callCurrencyAmountNode = xmlNode.SelectSingleNode("callCurrencyAmount"); if (callCurrencyAmountNode != null) { if (callCurrencyAmountNode.Attributes["href"] != null || callCurrencyAmountNode.Attributes["id"] != null) { if (callCurrencyAmountNode.Attributes["id"] != null) { callCurrencyAmountIDRef_ = callCurrencyAmountNode.Attributes["id"].Value; NonNegativeMoney ob = new NonNegativeMoney(callCurrencyAmountNode); IDManager.SetID(callCurrencyAmountIDRef_, ob); } else if (callCurrencyAmountNode.Attributes["href"] != null) { callCurrencyAmountIDRef_ = callCurrencyAmountNode.Attributes["href"].Value; } else { callCurrencyAmount_ = new NonNegativeMoney(callCurrencyAmountNode); } } else { callCurrencyAmount_ = new NonNegativeMoney(callCurrencyAmountNode); } } XmlNode soldAsNode = xmlNode.SelectSingleNode("soldAs"); if (soldAsNode != null) { if (soldAsNode.Attributes["href"] != null || soldAsNode.Attributes["id"] != null) { if (soldAsNode.Attributes["id"] != null) { soldAsIDRef_ = soldAsNode.Attributes["id"].Value; PutCallEnum ob = new PutCallEnum(soldAsNode); IDManager.SetID(soldAsIDRef_, ob); } else if (soldAsNode.Attributes["href"] != null) { soldAsIDRef_ = soldAsNode.Attributes["href"].Value; } else { soldAs_ = new PutCallEnum(soldAsNode); } } else { soldAs_ = new PutCallEnum(soldAsNode); } } XmlNode strikeNode = xmlNode.SelectSingleNode("strike"); if (strikeNode != null) { if (strikeNode.Attributes["href"] != null || strikeNode.Attributes["id"] != null) { if (strikeNode.Attributes["id"] != null) { strikeIDRef_ = strikeNode.Attributes["id"].Value; FxStrikePrice ob = new FxStrikePrice(strikeNode); IDManager.SetID(strikeIDRef_, ob); } else if (strikeNode.Attributes["href"] != null) { strikeIDRef_ = strikeNode.Attributes["href"].Value; } else { strike_ = new FxStrikePrice(strikeNode); } } else { strike_ = new FxStrikePrice(strikeNode); } } XmlNode spotRateNode = xmlNode.SelectSingleNode("spotRate"); if (spotRateNode != null) { if (spotRateNode.Attributes["href"] != null || spotRateNode.Attributes["id"] != null) { if (spotRateNode.Attributes["id"] != null) { spotRateIDRef_ = spotRateNode.Attributes["id"].Value; PositiveDecimal ob = new PositiveDecimal(spotRateNode); IDManager.SetID(spotRateIDRef_, ob); } else if (spotRateNode.Attributes["href"] != null) { spotRateIDRef_ = spotRateNode.Attributes["href"].Value; } else { spotRate_ = new PositiveDecimal(spotRateNode); } } else { spotRate_ = new PositiveDecimal(spotRateNode); } } XmlNode featuresNode = xmlNode.SelectSingleNode("features"); if (featuresNode != null) { if (featuresNode.Attributes["href"] != null || featuresNode.Attributes["id"] != null) { if (featuresNode.Attributes["id"] != null) { featuresIDRef_ = featuresNode.Attributes["id"].Value; FxOptionFeatures ob = new FxOptionFeatures(featuresNode); IDManager.SetID(featuresIDRef_, ob); } else if (featuresNode.Attributes["href"] != null) { featuresIDRef_ = featuresNode.Attributes["href"].Value; } else { features_ = new FxOptionFeatures(featuresNode); } } else { features_ = new FxOptionFeatures(featuresNode); } } XmlNodeList premiumNodeList = xmlNode.SelectNodes("premium"); if (premiumNodeList != null) { this.premium_ = new List<FxOptionPremium>(); 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 FxOptionPremium(item)); IDManager.SetID(premiumIDRef_, premium_[premium_.Count - 1 ]); } else if (item.Attributes["href"] != null) { premiumIDRef_ = item.Attributes["href"].Value; } else { premium_.Add(new FxOptionPremium(item)); } } else { premium_.Add(new FxOptionPremium(item)); } } } XmlNode cashSettlementNode = xmlNode.SelectSingleNode("cashSettlement"); if (cashSettlementNode != null) { if (cashSettlementNode.Attributes["href"] != null || cashSettlementNode.Attributes["id"] != null) { if (cashSettlementNode.Attributes["id"] != null) { cashSettlementIDRef_ = cashSettlementNode.Attributes["id"].Value; FxCashSettlement ob = new FxCashSettlement(cashSettlementNode); IDManager.SetID(cashSettlementIDRef_, ob); } else if (cashSettlementNode.Attributes["href"] != null) { cashSettlementIDRef_ = cashSettlementNode.Attributes["href"].Value; } else { cashSettlement_ = new FxCashSettlement(cashSettlementNode); } } else { cashSettlement_ = new FxCashSettlement(cashSettlementNode); } } }
public CommoditySwaption(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 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; CommoditySwaptionUnderlying ob = new CommoditySwaptionUnderlying(commoditySwapNode); IDManager.SetID(commoditySwapIDRef_, ob); } else if (commoditySwapNode.Attributes["href"] != null) { commoditySwapIDRef_ = commoditySwapNode.Attributes["href"].Value; } else { commoditySwap_ = new CommoditySwaptionUnderlying(commoditySwapNode); } } else { commoditySwap_ = new CommoditySwaptionUnderlying(commoditySwapNode); } } 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 premiumNode = xmlNode.SelectSingleNode("premium"); if (premiumNode != null) { if (premiumNode.Attributes["href"] != null || premiumNode.Attributes["id"] != null) { if (premiumNode.Attributes["id"] != null) { premiumIDRef_ = premiumNode.Attributes["id"].Value; CommodityPremium ob = new CommodityPremium(premiumNode); IDManager.SetID(premiumIDRef_, ob); } else if (premiumNode.Attributes["href"] != null) { premiumIDRef_ = premiumNode.Attributes["href"].Value; } else { premium_ = new CommodityPremium(premiumNode); } } else { premium_ = new CommodityPremium(premiumNode); } } 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 FxOption(XmlNode xmlNode) : base(xmlNode) { 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 tenorPeriodNode = xmlNode.SelectSingleNode("tenorPeriod"); if (tenorPeriodNode != null) { if (tenorPeriodNode.Attributes["href"] != null || tenorPeriodNode.Attributes["id"] != null) { if (tenorPeriodNode.Attributes["id"] != null) { tenorPeriodIDRef_ = tenorPeriodNode.Attributes["id"].Value; Period ob = new Period(tenorPeriodNode); IDManager.SetID(tenorPeriodIDRef_, ob); } else if (tenorPeriodNode.Attributes["href"] != null) { tenorPeriodIDRef_ = tenorPeriodNode.Attributes["href"].Value; } else { tenorPeriod_ = new Period(tenorPeriodNode); } } else { tenorPeriod_ = new Period(tenorPeriodNode); } } XmlNode americanExerciseNode = xmlNode.SelectSingleNode("americanExercise"); if (americanExerciseNode != null) { if (americanExerciseNode.Attributes["href"] != null || americanExerciseNode.Attributes["id"] != null) { if (americanExerciseNode.Attributes["id"] != null) { americanExerciseIDRef_ = americanExerciseNode.Attributes["id"].Value; FxAmericanExercise ob = new FxAmericanExercise(americanExerciseNode); IDManager.SetID(americanExerciseIDRef_, ob); } else if (americanExerciseNode.Attributes["href"] != null) { americanExerciseIDRef_ = americanExerciseNode.Attributes["href"].Value; } else { americanExercise_ = new FxAmericanExercise(americanExerciseNode); } } else { americanExercise_ = new FxAmericanExercise(americanExerciseNode); } } XmlNode europeanExerciseNode = xmlNode.SelectSingleNode("europeanExercise"); if (europeanExerciseNode != null) { if (europeanExerciseNode.Attributes["href"] != null || europeanExerciseNode.Attributes["id"] != null) { if (europeanExerciseNode.Attributes["id"] != null) { europeanExerciseIDRef_ = europeanExerciseNode.Attributes["id"].Value; FxEuropeanExercise ob = new FxEuropeanExercise(europeanExerciseNode); IDManager.SetID(europeanExerciseIDRef_, ob); } else if (europeanExerciseNode.Attributes["href"] != null) { europeanExerciseIDRef_ = europeanExerciseNode.Attributes["href"].Value; } else { europeanExercise_ = new FxEuropeanExercise(europeanExerciseNode); } } else { europeanExercise_ = new FxEuropeanExercise(europeanExerciseNode); } } XmlNode exerciseProcedureNode = xmlNode.SelectSingleNode("exerciseProcedure"); if (exerciseProcedureNode != null) { if (exerciseProcedureNode.Attributes["href"] != null || exerciseProcedureNode.Attributes["id"] != null) { if (exerciseProcedureNode.Attributes["id"] != null) { exerciseProcedureIDRef_ = exerciseProcedureNode.Attributes["id"].Value; ExerciseProcedure ob = new ExerciseProcedure(exerciseProcedureNode); IDManager.SetID(exerciseProcedureIDRef_, ob); } else if (exerciseProcedureNode.Attributes["href"] != null) { exerciseProcedureIDRef_ = exerciseProcedureNode.Attributes["href"].Value; } else { exerciseProcedure_ = new ExerciseProcedure(exerciseProcedureNode); } } else { exerciseProcedure_ = new ExerciseProcedure(exerciseProcedureNode); } } XmlNode putCurrencyAmountNode = xmlNode.SelectSingleNode("putCurrencyAmount"); if (putCurrencyAmountNode != null) { if (putCurrencyAmountNode.Attributes["href"] != null || putCurrencyAmountNode.Attributes["id"] != null) { if (putCurrencyAmountNode.Attributes["id"] != null) { putCurrencyAmountIDRef_ = putCurrencyAmountNode.Attributes["id"].Value; NonNegativeMoney ob = new NonNegativeMoney(putCurrencyAmountNode); IDManager.SetID(putCurrencyAmountIDRef_, ob); } else if (putCurrencyAmountNode.Attributes["href"] != null) { putCurrencyAmountIDRef_ = putCurrencyAmountNode.Attributes["href"].Value; } else { putCurrencyAmount_ = new NonNegativeMoney(putCurrencyAmountNode); } } else { putCurrencyAmount_ = new NonNegativeMoney(putCurrencyAmountNode); } } XmlNode callCurrencyAmountNode = xmlNode.SelectSingleNode("callCurrencyAmount"); if (callCurrencyAmountNode != null) { if (callCurrencyAmountNode.Attributes["href"] != null || callCurrencyAmountNode.Attributes["id"] != null) { if (callCurrencyAmountNode.Attributes["id"] != null) { callCurrencyAmountIDRef_ = callCurrencyAmountNode.Attributes["id"].Value; NonNegativeMoney ob = new NonNegativeMoney(callCurrencyAmountNode); IDManager.SetID(callCurrencyAmountIDRef_, ob); } else if (callCurrencyAmountNode.Attributes["href"] != null) { callCurrencyAmountIDRef_ = callCurrencyAmountNode.Attributes["href"].Value; } else { callCurrencyAmount_ = new NonNegativeMoney(callCurrencyAmountNode); } } else { callCurrencyAmount_ = new NonNegativeMoney(callCurrencyAmountNode); } } XmlNode soldAsNode = xmlNode.SelectSingleNode("soldAs"); if (soldAsNode != null) { if (soldAsNode.Attributes["href"] != null || soldAsNode.Attributes["id"] != null) { if (soldAsNode.Attributes["id"] != null) { soldAsIDRef_ = soldAsNode.Attributes["id"].Value; PutCallEnum ob = new PutCallEnum(soldAsNode); IDManager.SetID(soldAsIDRef_, ob); } else if (soldAsNode.Attributes["href"] != null) { soldAsIDRef_ = soldAsNode.Attributes["href"].Value; } else { soldAs_ = new PutCallEnum(soldAsNode); } } else { soldAs_ = new PutCallEnum(soldAsNode); } } XmlNode strikeNode = xmlNode.SelectSingleNode("strike"); if (strikeNode != null) { if (strikeNode.Attributes["href"] != null || strikeNode.Attributes["id"] != null) { if (strikeNode.Attributes["id"] != null) { strikeIDRef_ = strikeNode.Attributes["id"].Value; FxStrikePrice ob = new FxStrikePrice(strikeNode); IDManager.SetID(strikeIDRef_, ob); } else if (strikeNode.Attributes["href"] != null) { strikeIDRef_ = strikeNode.Attributes["href"].Value; } else { strike_ = new FxStrikePrice(strikeNode); } } else { strike_ = new FxStrikePrice(strikeNode); } } XmlNode spotRateNode = xmlNode.SelectSingleNode("spotRate"); if (spotRateNode != null) { if (spotRateNode.Attributes["href"] != null || spotRateNode.Attributes["id"] != null) { if (spotRateNode.Attributes["id"] != null) { spotRateIDRef_ = spotRateNode.Attributes["id"].Value; PositiveDecimal ob = new PositiveDecimal(spotRateNode); IDManager.SetID(spotRateIDRef_, ob); } else if (spotRateNode.Attributes["href"] != null) { spotRateIDRef_ = spotRateNode.Attributes["href"].Value; } else { spotRate_ = new PositiveDecimal(spotRateNode); } } else { spotRate_ = new PositiveDecimal(spotRateNode); } } XmlNode featuresNode = xmlNode.SelectSingleNode("features"); if (featuresNode != null) { if (featuresNode.Attributes["href"] != null || featuresNode.Attributes["id"] != null) { if (featuresNode.Attributes["id"] != null) { featuresIDRef_ = featuresNode.Attributes["id"].Value; FxOptionFeatures ob = new FxOptionFeatures(featuresNode); IDManager.SetID(featuresIDRef_, ob); } else if (featuresNode.Attributes["href"] != null) { featuresIDRef_ = featuresNode.Attributes["href"].Value; } else { features_ = new FxOptionFeatures(featuresNode); } } else { features_ = new FxOptionFeatures(featuresNode); } } XmlNodeList premiumNodeList = xmlNode.SelectNodes("premium"); if (premiumNodeList != null) { this.premium_ = new List <FxOptionPremium>(); 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 FxOptionPremium(item)); IDManager.SetID(premiumIDRef_, premium_[premium_.Count - 1]); } else if (item.Attributes["href"] != null) { premiumIDRef_ = item.Attributes["href"].Value; } else { premium_.Add(new FxOptionPremium(item)); } } else { premium_.Add(new FxOptionPremium(item)); } } } XmlNode cashSettlementNode = xmlNode.SelectSingleNode("cashSettlement"); if (cashSettlementNode != null) { if (cashSettlementNode.Attributes["href"] != null || cashSettlementNode.Attributes["id"] != null) { if (cashSettlementNode.Attributes["id"] != null) { cashSettlementIDRef_ = cashSettlementNode.Attributes["id"].Value; FxCashSettlement ob = new FxCashSettlement(cashSettlementNode); IDManager.SetID(cashSettlementIDRef_, ob); } else if (cashSettlementNode.Attributes["href"] != null) { cashSettlementIDRef_ = cashSettlementNode.Attributes["href"].Value; } else { cashSettlement_ = new FxCashSettlement(cashSettlementNode); } } else { cashSettlement_ = new FxCashSettlement(cashSettlementNode); } } }