public EquityPremium(XmlNode xmlNode) : base(xmlNode) { XmlNodeList payerPartyReferenceNodeList = xmlNode.SelectNodes("payerPartyReference"); if (payerPartyReferenceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in payerPartyReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { payerPartyReferenceIDRef = item.Attributes["id"].Name; PartyReference ob = PartyReference(); IDManager.SetID(payerPartyReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { payerPartyReferenceIDRef = item.Attributes["href"].Name; } else { payerPartyReference = new PartyReference(item); } } } XmlNodeList payerAccountReferenceNodeList = xmlNode.SelectNodes("payerAccountReference"); if (payerAccountReferenceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in payerAccountReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { payerAccountReferenceIDRef = item.Attributes["id"].Name; AccountReference ob = AccountReference(); IDManager.SetID(payerAccountReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { payerAccountReferenceIDRef = item.Attributes["href"].Name; } else { payerAccountReference = new AccountReference(item); } } } XmlNodeList receiverPartyReferenceNodeList = xmlNode.SelectNodes("receiverPartyReference"); if (receiverPartyReferenceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in receiverPartyReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { receiverPartyReferenceIDRef = item.Attributes["id"].Name; PartyReference ob = PartyReference(); IDManager.SetID(receiverPartyReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { receiverPartyReferenceIDRef = item.Attributes["href"].Name; } else { receiverPartyReference = new PartyReference(item); } } } XmlNodeList receiverAccountReferenceNodeList = xmlNode.SelectNodes("receiverAccountReference"); if (receiverAccountReferenceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in receiverAccountReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { receiverAccountReferenceIDRef = item.Attributes["id"].Name; AccountReference ob = AccountReference(); IDManager.SetID(receiverAccountReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { receiverAccountReferenceIDRef = item.Attributes["href"].Name; } else { receiverAccountReference = new AccountReference(item); } } } XmlNodeList premiumTypeNodeList = xmlNode.SelectNodes("premiumType"); if (premiumTypeNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in premiumTypeNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { premiumTypeIDRef = item.Attributes["id"].Name; PremiumTypeEnum ob = PremiumTypeEnum(); IDManager.SetID(premiumTypeIDRef, ob); } else if (item.Attributes.ToString() == "href") { premiumTypeIDRef = item.Attributes["href"].Name; } else { premiumType = new PremiumTypeEnum(item); } } } XmlNodeList paymentAmountNodeList = xmlNode.SelectNodes("paymentAmount"); if (paymentAmountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in paymentAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { paymentAmountIDRef = item.Attributes["id"].Name; NonNegativeMoney ob = NonNegativeMoney(); IDManager.SetID(paymentAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { paymentAmountIDRef = item.Attributes["href"].Name; } else { paymentAmount = new NonNegativeMoney(item); } } } XmlNodeList paymentDateNodeList = xmlNode.SelectNodes("paymentDate"); if (paymentDateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in paymentDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { paymentDateIDRef = item.Attributes["id"].Name; AdjustableDate ob = AdjustableDate(); IDManager.SetID(paymentDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { paymentDateIDRef = item.Attributes["href"].Name; } else { paymentDate = new AdjustableDate(item); } } } XmlNodeList swapPremiumNodeList = xmlNode.SelectNodes("swapPremium"); if (swapPremiumNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in swapPremiumNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { swapPremiumIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(swapPremiumIDRef, ob); } else if (item.Attributes.ToString() == "href") { swapPremiumIDRef = item.Attributes["href"].Name; } else { swapPremium = new XsdTypeBoolean(item); } } } XmlNodeList pricePerOptionNodeList = xmlNode.SelectNodes("pricePerOption"); if (pricePerOptionNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in pricePerOptionNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { pricePerOptionIDRef = item.Attributes["id"].Name; NonNegativeMoney ob = NonNegativeMoney(); IDManager.SetID(pricePerOptionIDRef, ob); } else if (item.Attributes.ToString() == "href") { pricePerOptionIDRef = item.Attributes["href"].Name; } else { pricePerOption = new NonNegativeMoney(item); } } } XmlNodeList percentageOfNotionalNodeList = xmlNode.SelectNodes("percentageOfNotional"); if (percentageOfNotionalNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in percentageOfNotionalNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { percentageOfNotionalIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(percentageOfNotionalIDRef, ob); } else if (item.Attributes.ToString() == "href") { percentageOfNotionalIDRef = item.Attributes["href"].Name; } else { percentageOfNotional = new NonNegativeDecimal(item); } } } }
public Premium(XmlNode xmlNode) : base(xmlNode) { XmlNodeList premiumTypeNodeList = xmlNode.SelectNodes("premiumType"); if (premiumTypeNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in premiumTypeNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { premiumTypeIDRef = item.Attributes["id"].Name; PremiumTypeEnum ob = PremiumTypeEnum(); IDManager.SetID(premiumTypeIDRef, ob); } else if (item.Attributes.ToString() == "href") { premiumTypeIDRef = item.Attributes["href"].Name; } else { premiumType = new PremiumTypeEnum(item); } } } XmlNodeList pricePerOptionNodeList = xmlNode.SelectNodes("pricePerOption"); if (pricePerOptionNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in pricePerOptionNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { pricePerOptionIDRef = item.Attributes["id"].Name; Money ob = Money(); IDManager.SetID(pricePerOptionIDRef, ob); } else if (item.Attributes.ToString() == "href") { pricePerOptionIDRef = item.Attributes["href"].Name; } else { pricePerOption = new Money(item); } } } XmlNodeList percentageOfNotionalNodeList = xmlNode.SelectNodes("percentageOfNotional"); if (percentageOfNotionalNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in percentageOfNotionalNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { percentageOfNotionalIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(percentageOfNotionalIDRef, ob); } else if (item.Attributes.ToString() == "href") { percentageOfNotionalIDRef = item.Attributes["href"].Name; } else { percentageOfNotional = new XsdTypeDecimal(item); } } } XmlNodeList discountFactorNodeList = xmlNode.SelectNodes("discountFactor"); if (discountFactorNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in discountFactorNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { discountFactorIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(discountFactorIDRef, ob); } else if (item.Attributes.ToString() == "href") { discountFactorIDRef = item.Attributes["href"].Name; } else { discountFactor = new XsdTypeDecimal(item); } } } XmlNodeList presentValueAmountNodeList = xmlNode.SelectNodes("presentValueAmount"); if (presentValueAmountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in presentValueAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { presentValueAmountIDRef = item.Attributes["id"].Name; Money ob = Money(); IDManager.SetID(presentValueAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { presentValueAmountIDRef = item.Attributes["href"].Name; } else { presentValueAmount = new Money(item); } } } }