public InterestCalculation(XmlNode xmlNode) : base(xmlNode) { XmlNode dayCountFractionNode = xmlNode.SelectSingleNode("dayCountFraction"); if (dayCountFractionNode != null) { if (dayCountFractionNode.Attributes["href"] != null || dayCountFractionNode.Attributes["id"] != null) { if (dayCountFractionNode.Attributes["id"] != null) { dayCountFractionIDRef_ = dayCountFractionNode.Attributes["id"].Value; DayCountFraction ob = new DayCountFraction(dayCountFractionNode); IDManager.SetID(dayCountFractionIDRef_, ob); } else if (dayCountFractionNode.Attributes["href"] != null) { dayCountFractionIDRef_ = dayCountFractionNode.Attributes["href"].Value; } else { dayCountFraction_ = new DayCountFraction(dayCountFractionNode); } } else { dayCountFraction_ = new DayCountFraction(dayCountFractionNode); } } XmlNode compoundingNode = xmlNode.SelectSingleNode("compounding"); if (compoundingNode != null) { if (compoundingNode.Attributes["href"] != null || compoundingNode.Attributes["id"] != null) { if (compoundingNode.Attributes["id"] != null) { compoundingIDRef_ = compoundingNode.Attributes["id"].Value; Compounding ob = new Compounding(compoundingNode); IDManager.SetID(compoundingIDRef_, ob); } else if (compoundingNode.Attributes["href"] != null) { compoundingIDRef_ = compoundingNode.Attributes["href"].Value; } else { compounding_ = new Compounding(compoundingNode); } } else { compounding_ = new Compounding(compoundingNode); } } XmlNode interpolationMethodNode = xmlNode.SelectSingleNode("interpolationMethod"); if (interpolationMethodNode != null) { if (interpolationMethodNode.Attributes["href"] != null || interpolationMethodNode.Attributes["id"] != null) { if (interpolationMethodNode.Attributes["id"] != null) { interpolationMethodIDRef_ = interpolationMethodNode.Attributes["id"].Value; InterpolationMethod ob = new InterpolationMethod(interpolationMethodNode); IDManager.SetID(interpolationMethodIDRef_, ob); } else if (interpolationMethodNode.Attributes["href"] != null) { interpolationMethodIDRef_ = interpolationMethodNode.Attributes["href"].Value; } else { interpolationMethod_ = new InterpolationMethod(interpolationMethodNode); } } else { interpolationMethod_ = new InterpolationMethod(interpolationMethodNode); } } XmlNode interpolationPeriodNode = xmlNode.SelectSingleNode("interpolationPeriod"); if (interpolationPeriodNode != null) { if (interpolationPeriodNode.Attributes["href"] != null || interpolationPeriodNode.Attributes["id"] != null) { if (interpolationPeriodNode.Attributes["id"] != null) { interpolationPeriodIDRef_ = interpolationPeriodNode.Attributes["id"].Value; InterpolationPeriodEnum ob = new InterpolationPeriodEnum(interpolationPeriodNode); IDManager.SetID(interpolationPeriodIDRef_, ob); } else if (interpolationPeriodNode.Attributes["href"] != null) { interpolationPeriodIDRef_ = interpolationPeriodNode.Attributes["href"].Value; } else { interpolationPeriod_ = new InterpolationPeriodEnum(interpolationPeriodNode); } } else { interpolationPeriod_ = new InterpolationPeriodEnum(interpolationPeriodNode); } } }
public InterestCalculation(XmlNode xmlNode) : base(xmlNode) { XmlNodeList dayCountFractionNodeList = xmlNode.SelectNodes("dayCountFraction"); if (dayCountFractionNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in dayCountFractionNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dayCountFractionIDRef = item.Attributes["id"].Name; DayCountFraction ob = DayCountFraction(); IDManager.SetID(dayCountFractionIDRef, ob); } else if (item.Attributes.ToString() == "href") { dayCountFractionIDRef = item.Attributes["href"].Name; } else { dayCountFraction = new DayCountFraction(item); } } } XmlNodeList compoundingNodeList = xmlNode.SelectNodes("compounding"); if (compoundingNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in compoundingNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { compoundingIDRef = item.Attributes["id"].Name; Compounding ob = Compounding(); IDManager.SetID(compoundingIDRef, ob); } else if (item.Attributes.ToString() == "href") { compoundingIDRef = item.Attributes["href"].Name; } else { compounding = new Compounding(item); } } } XmlNodeList interpolationMethodNodeList = xmlNode.SelectNodes("interpolationMethod"); if (interpolationMethodNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in interpolationMethodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { interpolationMethodIDRef = item.Attributes["id"].Name; InterpolationMethod ob = InterpolationMethod(); IDManager.SetID(interpolationMethodIDRef, ob); } else if (item.Attributes.ToString() == "href") { interpolationMethodIDRef = item.Attributes["href"].Name; } else { interpolationMethod = new InterpolationMethod(item); } } } XmlNodeList interpolationPeriodNodeList = xmlNode.SelectNodes("interpolationPeriod"); if (interpolationPeriodNodeList.Count > 1) { throw new Exception(); } foreach (XmlNode item in interpolationPeriodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { interpolationPeriodIDRef = item.Attributes["id"].Name; InterpolationPeriodEnum ob = InterpolationPeriodEnum(); IDManager.SetID(interpolationPeriodIDRef, ob); } else if (item.Attributes.ToString() == "href") { interpolationPeriodIDRef = item.Attributes["href"].Name; } else { interpolationPeriod = new InterpolationPeriodEnum(item); } } } }