public DividendConditions(XmlNode xmlNode) { XmlNodeList dividendReinvestmentNodeList = xmlNode.SelectNodes("dividendReinvestment"); if (dividendReinvestmentNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in dividendReinvestmentNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendReinvestmentIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(dividendReinvestmentIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendReinvestmentIDRef = item.Attributes["href"].Name; } else { dividendReinvestment = new XsdTypeBoolean(item); } } } XmlNodeList dividendEntitlementNodeList = xmlNode.SelectNodes("dividendEntitlement"); if (dividendEntitlementNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in dividendEntitlementNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendEntitlementIDRef = item.Attributes["id"].Name; DividendEntitlementEnum ob = DividendEntitlementEnum(); IDManager.SetID(dividendEntitlementIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendEntitlementIDRef = item.Attributes["href"].Name; } else { dividendEntitlement = new DividendEntitlementEnum(item); } } } XmlNodeList dividendAmountNodeList = xmlNode.SelectNodes("dividendAmount"); if (dividendAmountNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in dividendAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendAmountIDRef = item.Attributes["id"].Name; DividendAmountTypeEnum ob = DividendAmountTypeEnum(); IDManager.SetID(dividendAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendAmountIDRef = item.Attributes["href"].Name; } else { dividendAmount = new DividendAmountTypeEnum(item); } } } XmlNodeList dividendPaymentDateNodeList = xmlNode.SelectNodes("dividendPaymentDate"); if (dividendPaymentDateNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in dividendPaymentDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendPaymentDateIDRef = item.Attributes["id"].Name; DividendPaymentDate ob = DividendPaymentDate(); IDManager.SetID(dividendPaymentDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendPaymentDateIDRef = item.Attributes["href"].Name; } else { dividendPaymentDate = new DividendPaymentDate(item); } } } XmlNodeList dividendPeriodEffectiveDateNodeList = xmlNode.SelectNodes("dividendPeriodEffectiveDate"); if (dividendPeriodEffectiveDateNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in dividendPeriodEffectiveDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendPeriodEffectiveDateIDRef = item.Attributes["id"].Name; DateReference ob = DateReference(); IDManager.SetID(dividendPeriodEffectiveDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendPeriodEffectiveDateIDRef = item.Attributes["href"].Name; } else { dividendPeriodEffectiveDate = new DateReference(item); } } } XmlNodeList dividendPeriodEndDateNodeList = xmlNode.SelectNodes("dividendPeriodEndDate"); if (dividendPeriodEndDateNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in dividendPeriodEndDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendPeriodEndDateIDRef = item.Attributes["id"].Name; DateReference ob = DateReference(); IDManager.SetID(dividendPeriodEndDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendPeriodEndDateIDRef = item.Attributes["href"].Name; } else { dividendPeriodEndDate = new DateReference(item); } } } XmlNodeList dividendPeriodNodeList = xmlNode.SelectNodes("dividendPeriod"); if (dividendPeriodNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in dividendPeriodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendPeriodIDRef = item.Attributes["id"].Name; DividendPeriodEnum ob = DividendPeriodEnum(); IDManager.SetID(dividendPeriodIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendPeriodIDRef = item.Attributes["href"].Name; } else { dividendPeriod = new DividendPeriodEnum(item); } } } XmlNodeList extraOrdinaryDividendsNodeList = xmlNode.SelectNodes("extraOrdinaryDividends"); if (extraOrdinaryDividendsNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in extraOrdinaryDividendsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { extraOrdinaryDividendsIDRef = item.Attributes["id"].Name; PartyReference ob = PartyReference(); IDManager.SetID(extraOrdinaryDividendsIDRef, ob); } else if (item.Attributes.ToString() == "href") { extraOrdinaryDividendsIDRef = item.Attributes["href"].Name; } else { extraOrdinaryDividends = new PartyReference(item); } } } XmlNodeList excessDividendAmountNodeList = xmlNode.SelectNodes("excessDividendAmount"); if (excessDividendAmountNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in excessDividendAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { excessDividendAmountIDRef = item.Attributes["id"].Name; DividendAmountTypeEnum ob = DividendAmountTypeEnum(); IDManager.SetID(excessDividendAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { excessDividendAmountIDRef = item.Attributes["href"].Name; } else { excessDividendAmount = new DividendAmountTypeEnum(item); } } } XmlNodeList currencyNodeList = xmlNode.SelectNodes("currency"); if (currencyNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in currencyNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { currencyIDRef = item.Attributes["id"].Name; IdentifiedCurrency ob = IdentifiedCurrency(); IDManager.SetID(currencyIDRef, ob); } else if (item.Attributes.ToString() == "href") { currencyIDRef = item.Attributes["href"].Name; } else { currency = new IdentifiedCurrency(item); } } } XmlNodeList determinationMethodNodeList = xmlNode.SelectNodes("determinationMethod"); if (determinationMethodNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in determinationMethodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { determinationMethodIDRef = item.Attributes["id"].Name; DeterminationMethod ob = DeterminationMethod(); IDManager.SetID(determinationMethodIDRef, ob); } else if (item.Attributes.ToString() == "href") { determinationMethodIDRef = item.Attributes["href"].Name; } else { determinationMethod = new DeterminationMethod(item); } } } XmlNodeList currencyReferenceNodeList = xmlNode.SelectNodes("currencyReference"); if (currencyReferenceNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in currencyReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { currencyReferenceIDRef = item.Attributes["id"].Name; IdentifiedCurrencyReference ob = IdentifiedCurrencyReference(); IDManager.SetID(currencyReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { currencyReferenceIDRef = item.Attributes["href"].Name; } else { currencyReference = new IdentifiedCurrencyReference(item); } } } XmlNodeList dividendFxTriggerDateNodeList = xmlNode.SelectNodes("dividendFxTriggerDate"); if (dividendFxTriggerDateNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in dividendFxTriggerDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendFxTriggerDateIDRef = item.Attributes["id"].Name; DividendPaymentDate ob = DividendPaymentDate(); IDManager.SetID(dividendFxTriggerDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendFxTriggerDateIDRef = item.Attributes["href"].Name; } else { dividendFxTriggerDate = new DividendPaymentDate(item); } } } XmlNodeList interestAccrualsMethodNodeList = xmlNode.SelectNodes("interestAccrualsMethod"); if (interestAccrualsMethodNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in interestAccrualsMethodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { interestAccrualsMethodIDRef = item.Attributes["id"].Name; InterestAccrualsCompoundingMethod ob = InterestAccrualsCompoundingMethod(); IDManager.SetID(interestAccrualsMethodIDRef, ob); } else if (item.Attributes.ToString() == "href") { interestAccrualsMethodIDRef = item.Attributes["href"].Name; } else { interestAccrualsMethod = new InterestAccrualsCompoundingMethod(item); } } } XmlNodeList numberOfIndexUnitsNodeList = xmlNode.SelectNodes("numberOfIndexUnits"); if (numberOfIndexUnitsNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in numberOfIndexUnitsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { numberOfIndexUnitsIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(numberOfIndexUnitsIDRef, ob); } else if (item.Attributes.ToString() == "href") { numberOfIndexUnitsIDRef = item.Attributes["href"].Name; } else { numberOfIndexUnits = new NonNegativeDecimal(item); } } } XmlNodeList declaredCashDividendPercentageNodeList = xmlNode.SelectNodes("declaredCashDividendPercentage"); if (declaredCashDividendPercentageNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in declaredCashDividendPercentageNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { declaredCashDividendPercentageIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(declaredCashDividendPercentageIDRef, ob); } else if (item.Attributes.ToString() == "href") { declaredCashDividendPercentageIDRef = item.Attributes["href"].Name; } else { declaredCashDividendPercentage = new NonNegativeDecimal(item); } } } XmlNodeList declaredCashEquivalentDividendPercentageNodeList = xmlNode.SelectNodes("declaredCashEquivalentDividendPercentage"); if (declaredCashEquivalentDividendPercentageNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in declaredCashEquivalentDividendPercentageNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { declaredCashEquivalentDividendPercentageIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(declaredCashEquivalentDividendPercentageIDRef, ob); } else if (item.Attributes.ToString() == "href") { declaredCashEquivalentDividendPercentageIDRef = item.Attributes["href"].Name; } else { declaredCashEquivalentDividendPercentage = new NonNegativeDecimal(item); } } } XmlNodeList nonCashDividendTreatmentNodeList = xmlNode.SelectNodes("nonCashDividendTreatment"); if (nonCashDividendTreatmentNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in nonCashDividendTreatmentNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { nonCashDividendTreatmentIDRef = item.Attributes["id"].Name; NonCashDividendTreatmentEnum ob = NonCashDividendTreatmentEnum(); IDManager.SetID(nonCashDividendTreatmentIDRef, ob); } else if (item.Attributes.ToString() == "href") { nonCashDividendTreatmentIDRef = item.Attributes["href"].Name; } else { nonCashDividendTreatment = new NonCashDividendTreatmentEnum(item); } } } XmlNodeList dividendCompositionNodeList = xmlNode.SelectNodes("dividendComposition"); if (dividendCompositionNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in dividendCompositionNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendCompositionIDRef = item.Attributes["id"].Name; DividendCompositionEnum ob = DividendCompositionEnum(); IDManager.SetID(dividendCompositionIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendCompositionIDRef = item.Attributes["href"].Name; } else { dividendComposition = new DividendCompositionEnum(item); } } } XmlNodeList specialDividendsNodeList = xmlNode.SelectNodes("specialDividends"); if (specialDividendsNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in specialDividendsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { specialDividendsIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(specialDividendsIDRef, ob); } else if (item.Attributes.ToString() == "href") { specialDividendsIDRef = item.Attributes["href"].Name; } else { specialDividends = new XsdTypeBoolean(item); } } } }
public DividendConditions(XmlNode xmlNode) { XmlNode dividendReinvestmentNode = xmlNode.SelectSingleNode("dividendReinvestment"); if (dividendReinvestmentNode != null) { if (dividendReinvestmentNode.Attributes["href"] != null || dividendReinvestmentNode.Attributes["id"] != null) { if (dividendReinvestmentNode.Attributes["id"] != null) { dividendReinvestmentIDRef_ = dividendReinvestmentNode.Attributes["id"].Value; XsdTypeBoolean ob = new XsdTypeBoolean(dividendReinvestmentNode); IDManager.SetID(dividendReinvestmentIDRef_, ob); } else if (dividendReinvestmentNode.Attributes["href"] != null) { dividendReinvestmentIDRef_ = dividendReinvestmentNode.Attributes["href"].Value; } else { dividendReinvestment_ = new XsdTypeBoolean(dividendReinvestmentNode); } } else { dividendReinvestment_ = new XsdTypeBoolean(dividendReinvestmentNode); } } XmlNode dividendEntitlementNode = xmlNode.SelectSingleNode("dividendEntitlement"); if (dividendEntitlementNode != null) { if (dividendEntitlementNode.Attributes["href"] != null || dividendEntitlementNode.Attributes["id"] != null) { if (dividendEntitlementNode.Attributes["id"] != null) { dividendEntitlementIDRef_ = dividendEntitlementNode.Attributes["id"].Value; DividendEntitlementEnum ob = new DividendEntitlementEnum(dividendEntitlementNode); IDManager.SetID(dividendEntitlementIDRef_, ob); } else if (dividendEntitlementNode.Attributes["href"] != null) { dividendEntitlementIDRef_ = dividendEntitlementNode.Attributes["href"].Value; } else { dividendEntitlement_ = new DividendEntitlementEnum(dividendEntitlementNode); } } else { dividendEntitlement_ = new DividendEntitlementEnum(dividendEntitlementNode); } } XmlNode dividendAmountNode = xmlNode.SelectSingleNode("dividendAmount"); if (dividendAmountNode != null) { if (dividendAmountNode.Attributes["href"] != null || dividendAmountNode.Attributes["id"] != null) { if (dividendAmountNode.Attributes["id"] != null) { dividendAmountIDRef_ = dividendAmountNode.Attributes["id"].Value; DividendAmountTypeEnum ob = new DividendAmountTypeEnum(dividendAmountNode); IDManager.SetID(dividendAmountIDRef_, ob); } else if (dividendAmountNode.Attributes["href"] != null) { dividendAmountIDRef_ = dividendAmountNode.Attributes["href"].Value; } else { dividendAmount_ = new DividendAmountTypeEnum(dividendAmountNode); } } else { dividendAmount_ = new DividendAmountTypeEnum(dividendAmountNode); } } XmlNode dividendPaymentDateNode = xmlNode.SelectSingleNode("dividendPaymentDate"); if (dividendPaymentDateNode != null) { if (dividendPaymentDateNode.Attributes["href"] != null || dividendPaymentDateNode.Attributes["id"] != null) { if (dividendPaymentDateNode.Attributes["id"] != null) { dividendPaymentDateIDRef_ = dividendPaymentDateNode.Attributes["id"].Value; DividendPaymentDate ob = new DividendPaymentDate(dividendPaymentDateNode); IDManager.SetID(dividendPaymentDateIDRef_, ob); } else if (dividendPaymentDateNode.Attributes["href"] != null) { dividendPaymentDateIDRef_ = dividendPaymentDateNode.Attributes["href"].Value; } else { dividendPaymentDate_ = new DividendPaymentDate(dividendPaymentDateNode); } } else { dividendPaymentDate_ = new DividendPaymentDate(dividendPaymentDateNode); } } XmlNode dividendPeriodEffectiveDateNode = xmlNode.SelectSingleNode("dividendPeriodEffectiveDate"); if (dividendPeriodEffectiveDateNode != null) { if (dividendPeriodEffectiveDateNode.Attributes["href"] != null || dividendPeriodEffectiveDateNode.Attributes["id"] != null) { if (dividendPeriodEffectiveDateNode.Attributes["id"] != null) { dividendPeriodEffectiveDateIDRef_ = dividendPeriodEffectiveDateNode.Attributes["id"].Value; DateReference ob = new DateReference(dividendPeriodEffectiveDateNode); IDManager.SetID(dividendPeriodEffectiveDateIDRef_, ob); } else if (dividendPeriodEffectiveDateNode.Attributes["href"] != null) { dividendPeriodEffectiveDateIDRef_ = dividendPeriodEffectiveDateNode.Attributes["href"].Value; } else { dividendPeriodEffectiveDate_ = new DateReference(dividendPeriodEffectiveDateNode); } } else { dividendPeriodEffectiveDate_ = new DateReference(dividendPeriodEffectiveDateNode); } } XmlNode dividendPeriodEndDateNode = xmlNode.SelectSingleNode("dividendPeriodEndDate"); if (dividendPeriodEndDateNode != null) { if (dividendPeriodEndDateNode.Attributes["href"] != null || dividendPeriodEndDateNode.Attributes["id"] != null) { if (dividendPeriodEndDateNode.Attributes["id"] != null) { dividendPeriodEndDateIDRef_ = dividendPeriodEndDateNode.Attributes["id"].Value; DateReference ob = new DateReference(dividendPeriodEndDateNode); IDManager.SetID(dividendPeriodEndDateIDRef_, ob); } else if (dividendPeriodEndDateNode.Attributes["href"] != null) { dividendPeriodEndDateIDRef_ = dividendPeriodEndDateNode.Attributes["href"].Value; } else { dividendPeriodEndDate_ = new DateReference(dividendPeriodEndDateNode); } } else { dividendPeriodEndDate_ = new DateReference(dividendPeriodEndDateNode); } } XmlNode dividendPeriodNode = xmlNode.SelectSingleNode("dividendPeriod"); if (dividendPeriodNode != null) { if (dividendPeriodNode.Attributes["href"] != null || dividendPeriodNode.Attributes["id"] != null) { if (dividendPeriodNode.Attributes["id"] != null) { dividendPeriodIDRef_ = dividendPeriodNode.Attributes["id"].Value; DividendPeriodEnum ob = new DividendPeriodEnum(dividendPeriodNode); IDManager.SetID(dividendPeriodIDRef_, ob); } else if (dividendPeriodNode.Attributes["href"] != null) { dividendPeriodIDRef_ = dividendPeriodNode.Attributes["href"].Value; } else { dividendPeriod_ = new DividendPeriodEnum(dividendPeriodNode); } } else { dividendPeriod_ = new DividendPeriodEnum(dividendPeriodNode); } } XmlNode extraOrdinaryDividendsNode = xmlNode.SelectSingleNode("extraOrdinaryDividends"); if (extraOrdinaryDividendsNode != null) { if (extraOrdinaryDividendsNode.Attributes["href"] != null || extraOrdinaryDividendsNode.Attributes["id"] != null) { if (extraOrdinaryDividendsNode.Attributes["id"] != null) { extraOrdinaryDividendsIDRef_ = extraOrdinaryDividendsNode.Attributes["id"].Value; PartyReference ob = new PartyReference(extraOrdinaryDividendsNode); IDManager.SetID(extraOrdinaryDividendsIDRef_, ob); } else if (extraOrdinaryDividendsNode.Attributes["href"] != null) { extraOrdinaryDividendsIDRef_ = extraOrdinaryDividendsNode.Attributes["href"].Value; } else { extraOrdinaryDividends_ = new PartyReference(extraOrdinaryDividendsNode); } } else { extraOrdinaryDividends_ = new PartyReference(extraOrdinaryDividendsNode); } } XmlNode excessDividendAmountNode = xmlNode.SelectSingleNode("excessDividendAmount"); if (excessDividendAmountNode != null) { if (excessDividendAmountNode.Attributes["href"] != null || excessDividendAmountNode.Attributes["id"] != null) { if (excessDividendAmountNode.Attributes["id"] != null) { excessDividendAmountIDRef_ = excessDividendAmountNode.Attributes["id"].Value; DividendAmountTypeEnum ob = new DividendAmountTypeEnum(excessDividendAmountNode); IDManager.SetID(excessDividendAmountIDRef_, ob); } else if (excessDividendAmountNode.Attributes["href"] != null) { excessDividendAmountIDRef_ = excessDividendAmountNode.Attributes["href"].Value; } else { excessDividendAmount_ = new DividendAmountTypeEnum(excessDividendAmountNode); } } else { excessDividendAmount_ = new DividendAmountTypeEnum(excessDividendAmountNode); } } XmlNode currencyNode = xmlNode.SelectSingleNode("currency"); if (currencyNode != null) { if (currencyNode.Attributes["href"] != null || currencyNode.Attributes["id"] != null) { if (currencyNode.Attributes["id"] != null) { currencyIDRef_ = currencyNode.Attributes["id"].Value; IdentifiedCurrency ob = new IdentifiedCurrency(currencyNode); IDManager.SetID(currencyIDRef_, ob); } else if (currencyNode.Attributes["href"] != null) { currencyIDRef_ = currencyNode.Attributes["href"].Value; } else { currency_ = new IdentifiedCurrency(currencyNode); } } else { currency_ = new IdentifiedCurrency(currencyNode); } } XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod"); if (determinationMethodNode != null) { if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null) { if (determinationMethodNode.Attributes["id"] != null) { determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value; DeterminationMethod ob = new DeterminationMethod(determinationMethodNode); IDManager.SetID(determinationMethodIDRef_, ob); } else if (determinationMethodNode.Attributes["href"] != null) { determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value; } else { determinationMethod_ = new DeterminationMethod(determinationMethodNode); } } else { determinationMethod_ = new DeterminationMethod(determinationMethodNode); } } XmlNode currencyReferenceNode = xmlNode.SelectSingleNode("currencyReference"); if (currencyReferenceNode != null) { if (currencyReferenceNode.Attributes["href"] != null || currencyReferenceNode.Attributes["id"] != null) { if (currencyReferenceNode.Attributes["id"] != null) { currencyReferenceIDRef_ = currencyReferenceNode.Attributes["id"].Value; IdentifiedCurrencyReference ob = new IdentifiedCurrencyReference(currencyReferenceNode); IDManager.SetID(currencyReferenceIDRef_, ob); } else if (currencyReferenceNode.Attributes["href"] != null) { currencyReferenceIDRef_ = currencyReferenceNode.Attributes["href"].Value; } else { currencyReference_ = new IdentifiedCurrencyReference(currencyReferenceNode); } } else { currencyReference_ = new IdentifiedCurrencyReference(currencyReferenceNode); } } XmlNode dividendFxTriggerDateNode = xmlNode.SelectSingleNode("dividendFxTriggerDate"); if (dividendFxTriggerDateNode != null) { if (dividendFxTriggerDateNode.Attributes["href"] != null || dividendFxTriggerDateNode.Attributes["id"] != null) { if (dividendFxTriggerDateNode.Attributes["id"] != null) { dividendFxTriggerDateIDRef_ = dividendFxTriggerDateNode.Attributes["id"].Value; DividendPaymentDate ob = new DividendPaymentDate(dividendFxTriggerDateNode); IDManager.SetID(dividendFxTriggerDateIDRef_, ob); } else if (dividendFxTriggerDateNode.Attributes["href"] != null) { dividendFxTriggerDateIDRef_ = dividendFxTriggerDateNode.Attributes["href"].Value; } else { dividendFxTriggerDate_ = new DividendPaymentDate(dividendFxTriggerDateNode); } } else { dividendFxTriggerDate_ = new DividendPaymentDate(dividendFxTriggerDateNode); } } XmlNode interestAccrualsMethodNode = xmlNode.SelectSingleNode("interestAccrualsMethod"); if (interestAccrualsMethodNode != null) { if (interestAccrualsMethodNode.Attributes["href"] != null || interestAccrualsMethodNode.Attributes["id"] != null) { if (interestAccrualsMethodNode.Attributes["id"] != null) { interestAccrualsMethodIDRef_ = interestAccrualsMethodNode.Attributes["id"].Value; InterestAccrualsCompoundingMethod ob = new InterestAccrualsCompoundingMethod(interestAccrualsMethodNode); IDManager.SetID(interestAccrualsMethodIDRef_, ob); } else if (interestAccrualsMethodNode.Attributes["href"] != null) { interestAccrualsMethodIDRef_ = interestAccrualsMethodNode.Attributes["href"].Value; } else { interestAccrualsMethod_ = new InterestAccrualsCompoundingMethod(interestAccrualsMethodNode); } } else { interestAccrualsMethod_ = new InterestAccrualsCompoundingMethod(interestAccrualsMethodNode); } } XmlNode numberOfIndexUnitsNode = xmlNode.SelectSingleNode("numberOfIndexUnits"); if (numberOfIndexUnitsNode != null) { if (numberOfIndexUnitsNode.Attributes["href"] != null || numberOfIndexUnitsNode.Attributes["id"] != null) { if (numberOfIndexUnitsNode.Attributes["id"] != null) { numberOfIndexUnitsIDRef_ = numberOfIndexUnitsNode.Attributes["id"].Value; NonNegativeDecimal ob = new NonNegativeDecimal(numberOfIndexUnitsNode); IDManager.SetID(numberOfIndexUnitsIDRef_, ob); } else if (numberOfIndexUnitsNode.Attributes["href"] != null) { numberOfIndexUnitsIDRef_ = numberOfIndexUnitsNode.Attributes["href"].Value; } else { numberOfIndexUnits_ = new NonNegativeDecimal(numberOfIndexUnitsNode); } } else { numberOfIndexUnits_ = new NonNegativeDecimal(numberOfIndexUnitsNode); } } XmlNode declaredCashDividendPercentageNode = xmlNode.SelectSingleNode("declaredCashDividendPercentage"); if (declaredCashDividendPercentageNode != null) { if (declaredCashDividendPercentageNode.Attributes["href"] != null || declaredCashDividendPercentageNode.Attributes["id"] != null) { if (declaredCashDividendPercentageNode.Attributes["id"] != null) { declaredCashDividendPercentageIDRef_ = declaredCashDividendPercentageNode.Attributes["id"].Value; NonNegativeDecimal ob = new NonNegativeDecimal(declaredCashDividendPercentageNode); IDManager.SetID(declaredCashDividendPercentageIDRef_, ob); } else if (declaredCashDividendPercentageNode.Attributes["href"] != null) { declaredCashDividendPercentageIDRef_ = declaredCashDividendPercentageNode.Attributes["href"].Value; } else { declaredCashDividendPercentage_ = new NonNegativeDecimal(declaredCashDividendPercentageNode); } } else { declaredCashDividendPercentage_ = new NonNegativeDecimal(declaredCashDividendPercentageNode); } } XmlNode declaredCashEquivalentDividendPercentageNode = xmlNode.SelectSingleNode("declaredCashEquivalentDividendPercentage"); if (declaredCashEquivalentDividendPercentageNode != null) { if (declaredCashEquivalentDividendPercentageNode.Attributes["href"] != null || declaredCashEquivalentDividendPercentageNode.Attributes["id"] != null) { if (declaredCashEquivalentDividendPercentageNode.Attributes["id"] != null) { declaredCashEquivalentDividendPercentageIDRef_ = declaredCashEquivalentDividendPercentageNode.Attributes["id"].Value; NonNegativeDecimal ob = new NonNegativeDecimal(declaredCashEquivalentDividendPercentageNode); IDManager.SetID(declaredCashEquivalentDividendPercentageIDRef_, ob); } else if (declaredCashEquivalentDividendPercentageNode.Attributes["href"] != null) { declaredCashEquivalentDividendPercentageIDRef_ = declaredCashEquivalentDividendPercentageNode.Attributes["href"].Value; } else { declaredCashEquivalentDividendPercentage_ = new NonNegativeDecimal(declaredCashEquivalentDividendPercentageNode); } } else { declaredCashEquivalentDividendPercentage_ = new NonNegativeDecimal(declaredCashEquivalentDividendPercentageNode); } } XmlNode nonCashDividendTreatmentNode = xmlNode.SelectSingleNode("nonCashDividendTreatment"); if (nonCashDividendTreatmentNode != null) { if (nonCashDividendTreatmentNode.Attributes["href"] != null || nonCashDividendTreatmentNode.Attributes["id"] != null) { if (nonCashDividendTreatmentNode.Attributes["id"] != null) { nonCashDividendTreatmentIDRef_ = nonCashDividendTreatmentNode.Attributes["id"].Value; NonCashDividendTreatmentEnum ob = new NonCashDividendTreatmentEnum(nonCashDividendTreatmentNode); IDManager.SetID(nonCashDividendTreatmentIDRef_, ob); } else if (nonCashDividendTreatmentNode.Attributes["href"] != null) { nonCashDividendTreatmentIDRef_ = nonCashDividendTreatmentNode.Attributes["href"].Value; } else { nonCashDividendTreatment_ = new NonCashDividendTreatmentEnum(nonCashDividendTreatmentNode); } } else { nonCashDividendTreatment_ = new NonCashDividendTreatmentEnum(nonCashDividendTreatmentNode); } } XmlNode dividendCompositionNode = xmlNode.SelectSingleNode("dividendComposition"); if (dividendCompositionNode != null) { if (dividendCompositionNode.Attributes["href"] != null || dividendCompositionNode.Attributes["id"] != null) { if (dividendCompositionNode.Attributes["id"] != null) { dividendCompositionIDRef_ = dividendCompositionNode.Attributes["id"].Value; DividendCompositionEnum ob = new DividendCompositionEnum(dividendCompositionNode); IDManager.SetID(dividendCompositionIDRef_, ob); } else if (dividendCompositionNode.Attributes["href"] != null) { dividendCompositionIDRef_ = dividendCompositionNode.Attributes["href"].Value; } else { dividendComposition_ = new DividendCompositionEnum(dividendCompositionNode); } } else { dividendComposition_ = new DividendCompositionEnum(dividendCompositionNode); } } XmlNode specialDividendsNode = xmlNode.SelectSingleNode("specialDividends"); if (specialDividendsNode != null) { if (specialDividendsNode.Attributes["href"] != null || specialDividendsNode.Attributes["id"] != null) { if (specialDividendsNode.Attributes["id"] != null) { specialDividendsIDRef_ = specialDividendsNode.Attributes["id"].Value; XsdTypeBoolean ob = new XsdTypeBoolean(specialDividendsNode); IDManager.SetID(specialDividendsIDRef_, ob); } else if (specialDividendsNode.Attributes["href"] != null) { specialDividendsIDRef_ = specialDividendsNode.Attributes["href"].Value; } else { specialDividends_ = new XsdTypeBoolean(specialDividendsNode); } } else { specialDividends_ = new XsdTypeBoolean(specialDividendsNode); } } }
public DividendConditions(XmlNode xmlNode) { XmlNodeList dividendReinvestmentNodeList = xmlNode.SelectNodes("dividendReinvestment"); if (dividendReinvestmentNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in dividendReinvestmentNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendReinvestmentIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(dividendReinvestmentIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendReinvestmentIDRef = item.Attributes["href"].Name; } else { dividendReinvestment = new XsdTypeBoolean(item); } } } XmlNodeList dividendEntitlementNodeList = xmlNode.SelectNodes("dividendEntitlement"); if (dividendEntitlementNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in dividendEntitlementNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendEntitlementIDRef = item.Attributes["id"].Name; DividendEntitlementEnum ob = DividendEntitlementEnum(); IDManager.SetID(dividendEntitlementIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendEntitlementIDRef = item.Attributes["href"].Name; } else { dividendEntitlement = new DividendEntitlementEnum(item); } } } XmlNodeList dividendAmountNodeList = xmlNode.SelectNodes("dividendAmount"); if (dividendAmountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in dividendAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendAmountIDRef = item.Attributes["id"].Name; DividendAmountTypeEnum ob = DividendAmountTypeEnum(); IDManager.SetID(dividendAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendAmountIDRef = item.Attributes["href"].Name; } else { dividendAmount = new DividendAmountTypeEnum(item); } } } XmlNodeList dividendPaymentDateNodeList = xmlNode.SelectNodes("dividendPaymentDate"); if (dividendPaymentDateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in dividendPaymentDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendPaymentDateIDRef = item.Attributes["id"].Name; DividendPaymentDate ob = DividendPaymentDate(); IDManager.SetID(dividendPaymentDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendPaymentDateIDRef = item.Attributes["href"].Name; } else { dividendPaymentDate = new DividendPaymentDate(item); } } } XmlNodeList dividendPeriodEffectiveDateNodeList = xmlNode.SelectNodes("dividendPeriodEffectiveDate"); if (dividendPeriodEffectiveDateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in dividendPeriodEffectiveDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendPeriodEffectiveDateIDRef = item.Attributes["id"].Name; DateReference ob = DateReference(); IDManager.SetID(dividendPeriodEffectiveDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendPeriodEffectiveDateIDRef = item.Attributes["href"].Name; } else { dividendPeriodEffectiveDate = new DateReference(item); } } } XmlNodeList dividendPeriodEndDateNodeList = xmlNode.SelectNodes("dividendPeriodEndDate"); if (dividendPeriodEndDateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in dividendPeriodEndDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendPeriodEndDateIDRef = item.Attributes["id"].Name; DateReference ob = DateReference(); IDManager.SetID(dividendPeriodEndDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendPeriodEndDateIDRef = item.Attributes["href"].Name; } else { dividendPeriodEndDate = new DateReference(item); } } } XmlNodeList dividendPeriodNodeList = xmlNode.SelectNodes("dividendPeriod"); if (dividendPeriodNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in dividendPeriodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendPeriodIDRef = item.Attributes["id"].Name; DividendPeriodEnum ob = DividendPeriodEnum(); IDManager.SetID(dividendPeriodIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendPeriodIDRef = item.Attributes["href"].Name; } else { dividendPeriod = new DividendPeriodEnum(item); } } } XmlNodeList extraOrdinaryDividendsNodeList = xmlNode.SelectNodes("extraOrdinaryDividends"); if (extraOrdinaryDividendsNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in extraOrdinaryDividendsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { extraOrdinaryDividendsIDRef = item.Attributes["id"].Name; PartyReference ob = PartyReference(); IDManager.SetID(extraOrdinaryDividendsIDRef, ob); } else if (item.Attributes.ToString() == "href") { extraOrdinaryDividendsIDRef = item.Attributes["href"].Name; } else { extraOrdinaryDividends = new PartyReference(item); } } } XmlNodeList excessDividendAmountNodeList = xmlNode.SelectNodes("excessDividendAmount"); if (excessDividendAmountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in excessDividendAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { excessDividendAmountIDRef = item.Attributes["id"].Name; DividendAmountTypeEnum ob = DividendAmountTypeEnum(); IDManager.SetID(excessDividendAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { excessDividendAmountIDRef = item.Attributes["href"].Name; } else { excessDividendAmount = new DividendAmountTypeEnum(item); } } } XmlNodeList currencyNodeList = xmlNode.SelectNodes("currency"); if (currencyNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in currencyNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { currencyIDRef = item.Attributes["id"].Name; IdentifiedCurrency ob = IdentifiedCurrency(); IDManager.SetID(currencyIDRef, ob); } else if (item.Attributes.ToString() == "href") { currencyIDRef = item.Attributes["href"].Name; } else { currency = new IdentifiedCurrency(item); } } } XmlNodeList determinationMethodNodeList = xmlNode.SelectNodes("determinationMethod"); if (determinationMethodNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in determinationMethodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { determinationMethodIDRef = item.Attributes["id"].Name; DeterminationMethod ob = DeterminationMethod(); IDManager.SetID(determinationMethodIDRef, ob); } else if (item.Attributes.ToString() == "href") { determinationMethodIDRef = item.Attributes["href"].Name; } else { determinationMethod = new DeterminationMethod(item); } } } XmlNodeList currencyReferenceNodeList = xmlNode.SelectNodes("currencyReference"); if (currencyReferenceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in currencyReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { currencyReferenceIDRef = item.Attributes["id"].Name; IdentifiedCurrencyReference ob = IdentifiedCurrencyReference(); IDManager.SetID(currencyReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { currencyReferenceIDRef = item.Attributes["href"].Name; } else { currencyReference = new IdentifiedCurrencyReference(item); } } } XmlNodeList dividendFxTriggerDateNodeList = xmlNode.SelectNodes("dividendFxTriggerDate"); if (dividendFxTriggerDateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in dividendFxTriggerDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendFxTriggerDateIDRef = item.Attributes["id"].Name; DividendPaymentDate ob = DividendPaymentDate(); IDManager.SetID(dividendFxTriggerDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendFxTriggerDateIDRef = item.Attributes["href"].Name; } else { dividendFxTriggerDate = new DividendPaymentDate(item); } } } XmlNodeList interestAccrualsMethodNodeList = xmlNode.SelectNodes("interestAccrualsMethod"); if (interestAccrualsMethodNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in interestAccrualsMethodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { interestAccrualsMethodIDRef = item.Attributes["id"].Name; InterestAccrualsCompoundingMethod ob = InterestAccrualsCompoundingMethod(); IDManager.SetID(interestAccrualsMethodIDRef, ob); } else if (item.Attributes.ToString() == "href") { interestAccrualsMethodIDRef = item.Attributes["href"].Name; } else { interestAccrualsMethod = new InterestAccrualsCompoundingMethod(item); } } } XmlNodeList numberOfIndexUnitsNodeList = xmlNode.SelectNodes("numberOfIndexUnits"); if (numberOfIndexUnitsNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in numberOfIndexUnitsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { numberOfIndexUnitsIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(numberOfIndexUnitsIDRef, ob); } else if (item.Attributes.ToString() == "href") { numberOfIndexUnitsIDRef = item.Attributes["href"].Name; } else { numberOfIndexUnits = new NonNegativeDecimal(item); } } } XmlNodeList declaredCashDividendPercentageNodeList = xmlNode.SelectNodes("declaredCashDividendPercentage"); if (declaredCashDividendPercentageNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in declaredCashDividendPercentageNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { declaredCashDividendPercentageIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(declaredCashDividendPercentageIDRef, ob); } else if (item.Attributes.ToString() == "href") { declaredCashDividendPercentageIDRef = item.Attributes["href"].Name; } else { declaredCashDividendPercentage = new NonNegativeDecimal(item); } } } XmlNodeList declaredCashEquivalentDividendPercentageNodeList = xmlNode.SelectNodes("declaredCashEquivalentDividendPercentage"); if (declaredCashEquivalentDividendPercentageNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in declaredCashEquivalentDividendPercentageNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { declaredCashEquivalentDividendPercentageIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(declaredCashEquivalentDividendPercentageIDRef, ob); } else if (item.Attributes.ToString() == "href") { declaredCashEquivalentDividendPercentageIDRef = item.Attributes["href"].Name; } else { declaredCashEquivalentDividendPercentage = new NonNegativeDecimal(item); } } } XmlNodeList nonCashDividendTreatmentNodeList = xmlNode.SelectNodes("nonCashDividendTreatment"); if (nonCashDividendTreatmentNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in nonCashDividendTreatmentNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { nonCashDividendTreatmentIDRef = item.Attributes["id"].Name; NonCashDividendTreatmentEnum ob = NonCashDividendTreatmentEnum(); IDManager.SetID(nonCashDividendTreatmentIDRef, ob); } else if (item.Attributes.ToString() == "href") { nonCashDividendTreatmentIDRef = item.Attributes["href"].Name; } else { nonCashDividendTreatment = new NonCashDividendTreatmentEnum(item); } } } XmlNodeList dividendCompositionNodeList = xmlNode.SelectNodes("dividendComposition"); if (dividendCompositionNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in dividendCompositionNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendCompositionIDRef = item.Attributes["id"].Name; DividendCompositionEnum ob = DividendCompositionEnum(); IDManager.SetID(dividendCompositionIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendCompositionIDRef = item.Attributes["href"].Name; } else { dividendComposition = new DividendCompositionEnum(item); } } } XmlNodeList specialDividendsNodeList = xmlNode.SelectNodes("specialDividends"); if (specialDividendsNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in specialDividendsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { specialDividendsIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(specialDividendsIDRef, ob); } else if (item.Attributes.ToString() == "href") { specialDividendsIDRef = item.Attributes["href"].Name; } else { specialDividends = new XsdTypeBoolean(item); } } } }