public FxStrikePrice(XmlNode xmlNode) { XmlNodeList rateNodeList = xmlNode.SelectNodes("rate"); if (rateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in rateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { rateIDRef = item.Attributes["id"].Name; PositiveDecimal ob = PositiveDecimal(); IDManager.SetID(rateIDRef, ob); } else if (item.Attributes.ToString() == "href") { rateIDRef = item.Attributes["href"].Name; } else { rate = new PositiveDecimal(item); } } } XmlNodeList strikeQuoteBasisNodeList = xmlNode.SelectNodes("strikeQuoteBasis"); if (strikeQuoteBasisNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in strikeQuoteBasisNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { strikeQuoteBasisIDRef = item.Attributes["id"].Name; StrikeQuoteBasisEnum ob = StrikeQuoteBasisEnum(); IDManager.SetID(strikeQuoteBasisIDRef, ob); } else if (item.Attributes.ToString() == "href") { strikeQuoteBasisIDRef = item.Attributes["href"].Name; } else { strikeQuoteBasis = new StrikeQuoteBasisEnum(item); } } } }
public FxAsianFeature(XmlNode xmlNode) { XmlNodeList primaryRateSourceNodeList = xmlNode.SelectNodes("primaryRateSource"); if (primaryRateSourceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in primaryRateSourceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { primaryRateSourceIDRef = item.Attributes["id"].Name; InformationSource ob = InformationSource(); IDManager.SetID(primaryRateSourceIDRef, ob); } else if (item.Attributes.ToString() == "href") { primaryRateSourceIDRef = item.Attributes["href"].Name; } else { primaryRateSource = new InformationSource(item); } } } XmlNodeList secondaryRateSourceNodeList = xmlNode.SelectNodes("secondaryRateSource"); if (secondaryRateSourceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in secondaryRateSourceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { secondaryRateSourceIDRef = item.Attributes["id"].Name; InformationSource ob = InformationSource(); IDManager.SetID(secondaryRateSourceIDRef, ob); } else if (item.Attributes.ToString() == "href") { secondaryRateSourceIDRef = item.Attributes["href"].Name; } else { secondaryRateSource = new InformationSource(item); } } } XmlNodeList fixingTimeNodeList = xmlNode.SelectNodes("fixingTime"); if (fixingTimeNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in fixingTimeNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { fixingTimeIDRef = item.Attributes["id"].Name; BusinessCenterTime ob = BusinessCenterTime(); IDManager.SetID(fixingTimeIDRef, ob); } else if (item.Attributes.ToString() == "href") { fixingTimeIDRef = item.Attributes["href"].Name; } else { fixingTime = new BusinessCenterTime(item); } } } XmlNodeList observationScheduleNodeList = xmlNode.SelectNodes("observationSchedule"); if (observationScheduleNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in observationScheduleNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { observationScheduleIDRef = item.Attributes["id"].Name; FxAverageRateObservationSchedule ob = FxAverageRateObservationSchedule(); IDManager.SetID(observationScheduleIDRef, ob); } else if (item.Attributes.ToString() == "href") { observationScheduleIDRef = item.Attributes["href"].Name; } else { observationSchedule = new FxAverageRateObservationSchedule(item); } } } XmlNodeList rateObservationNodeList = xmlNode.SelectNodes("rateObservation"); foreach (XmlNode item in rateObservationNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { rateObservationIDRef = item.Attributes["id"].Name; List<FxAverageRateObservation> ob = new List<FxAverageRateObservation>(); ob.Add(new FxAverageRateObservation(item)); IDManager.SetID(rateObservationIDRef, ob); } else if (item.Attributes.ToString() == "href") { rateObservationIDRef = item.Attributes["href"].Name; } else { rateObservation.Add(new FxAverageRateObservation(item)); } } } XmlNodeList rateObservationQuoteBasisNodeList = xmlNode.SelectNodes("rateObservationQuoteBasis"); if (rateObservationQuoteBasisNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in rateObservationQuoteBasisNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { rateObservationQuoteBasisIDRef = item.Attributes["id"].Name; StrikeQuoteBasisEnum ob = StrikeQuoteBasisEnum(); IDManager.SetID(rateObservationQuoteBasisIDRef, ob); } else if (item.Attributes.ToString() == "href") { rateObservationQuoteBasisIDRef = item.Attributes["href"].Name; } else { rateObservationQuoteBasis = new StrikeQuoteBasisEnum(item); } } } XmlNodeList payoutFormulaNodeList = xmlNode.SelectNodes("payoutFormula"); if (payoutFormulaNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in payoutFormulaNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { payoutFormulaIDRef = item.Attributes["id"].Name; XsdTypeString ob = XsdTypeString(); IDManager.SetID(payoutFormulaIDRef, ob); } else if (item.Attributes.ToString() == "href") { payoutFormulaIDRef = item.Attributes["href"].Name; } else { payoutFormula = new XsdTypeString(item); } } } XmlNodeList precisionNodeList = xmlNode.SelectNodes("precision"); if (precisionNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in precisionNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { precisionIDRef = item.Attributes["id"].Name; XsdTypeNonNegativeInteger ob = XsdTypeNonNegativeInteger(); IDManager.SetID(precisionIDRef, ob); } else if (item.Attributes.ToString() == "href") { precisionIDRef = item.Attributes["href"].Name; } else { precision = new XsdTypeNonNegativeInteger(item); } } } }