public NonNegativeMoney(XmlNode xmlNode) : base(xmlNode) { XmlNodeList amountNodeList = xmlNode.SelectNodes("amount"); if (amountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in amountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { amountIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(amountIDRef, ob); } else if (item.Attributes.ToString() == "href") { amountIDRef = item.Attributes["href"].Name; } else { amount = new NonNegativeDecimal(item); } } } }
public void ItShouldBePossibleToImplicitlyCastNonNegativeIntToNonNegativeDecimal() { var value = Extensions.GetValue(() => NonNegativeInt.TryCreate(1, (NonEmptyString)"Value")); NonNegativeDecimal castResult = value; castResult.ShouldBeOfType <NonNegativeDecimal>(); }
public NonNegativeStep(XmlNode xmlNode) : base(xmlNode) { XmlNodeList stepValueNodeList = xmlNode.SelectNodes("stepValue"); if (stepValueNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in stepValueNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { stepValueIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(stepValueIDRef, ob); } else if (item.Attributes.ToString() == "href") { stepValueIDRef = item.Attributes["href"].Name; } else { stepValue = new NonNegativeDecimal(item); } } } }
public UnitQuantity(XmlNode xmlNode) { XmlNodeList quantityUnitNodeList = xmlNode.SelectNodes("quantityUnit"); if (quantityUnitNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in quantityUnitNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { quantityUnitIDRef = item.Attributes["id"].Name; QuantityUnit ob = QuantityUnit(); IDManager.SetID(quantityUnitIDRef, ob); } else if (item.Attributes.ToString() == "href") { quantityUnitIDRef = item.Attributes["href"].Name; } else { quantityUnit = new QuantityUnit(item); } } } XmlNodeList quantityNodeList = xmlNode.SelectNodes("quantity"); if (quantityNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in quantityNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { quantityIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(quantityIDRef, ob); } else if (item.Attributes.ToString() == "href") { quantityIDRef = item.Attributes["href"].Name; } else { quantity = new NonNegativeDecimal(item); } } } }
public void SimpleCalculationStrategy_GetVolume_ThrowsWithInvalidGrid2() { var grid = new Grid(new List <DataPoint[]> { new[] { new DataPoint() } }); var d = new NonNegativeDecimal(1); var calculator = new SimpleCalculationStrategy().GetVolume(grid, null, d, d, d); }
public NonNegativeSchedule(XmlNode xmlNode) { XmlNodeList initialValueNodeList = xmlNode.SelectNodes("initialValue"); if (initialValueNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in initialValueNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { initialValueIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(initialValueIDRef, ob); } else if (item.Attributes.ToString() == "href") { initialValueIDRef = item.Attributes["href"].Name; } else { initialValue = new NonNegativeDecimal(item); } } } XmlNodeList stepNodeList = xmlNode.SelectNodes("step"); foreach (XmlNode item in stepNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { stepIDRef = item.Attributes["id"].Name; List<NonNegativeStep> ob = new List<NonNegativeStep>(); ob.Add(new NonNegativeStep(item)); IDManager.SetID(stepIDRef, ob); } else if (item.Attributes.ToString() == "href") { stepIDRef = item.Attributes["href"].Name; } else { step.Add(new NonNegativeStep(item)); } } } }
/// <summary> /// Calculates the volume using the provided input and strategy /// </summary> public async Task CalculateAsync(IReader baseReader, IReader topReader, NonNegativeDecimal gridWidth, NonNegativeDecimal gridHeight, NonNegativeDecimal fluidContact, IUnitConverter unitConverter, ILogger logger) { if (baseReader == null) { throw new ArgumentNullException(nameof(baseReader)); } if (topReader == null) { throw new ArgumentNullException(nameof(topReader)); } if (unitConverter == null) { throw new ArgumentNullException(nameof(unitConverter)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } try { var baseHorizon = await baseReader.ReadAsync(); logger.Info($"Found {baseHorizon.Width * baseHorizon.Height} data points for base horizon"); var topHorizon = await topReader.ReadAsync(); logger.Info($"Found {topHorizon.Width * topHorizon.Height} data points for top horizon"); if (baseHorizon.Height != topHorizon.Height || baseHorizon.Width != topHorizon.Width) { logger.Error("Invalid input: grids must have the same dimensions!"); return; } logger.Info("Calculating volume..."); var volume = _calculationStrategy.GetVolume(baseHorizon, topHorizon, gridWidth, gridHeight, fluidContact); logger.Info("Success!"); logger.Info(""); logger.Info($"- {unitConverter.ToBarrels(volume):N0} barrels of oil"); logger.Info($"- {unitConverter.ToCubicFeet(volume):N0} cubic feet"); logger.Info($"- {unitConverter.ToCubicMeter(volume):N0} cubic meter"); logger.Info("Volume between top horizon and base horizon/fluid contact is approximately:"); } catch (ReaderException e) { logger.Error($"Error while reading! {e.Message}"); } }
public Task <Grid> ReadAsync() { var data = new List <DataPoint[]>(); var columnCount = -1; using (var reader = new TextFieldParser(_path, Encoding.Default)) { reader.TextFieldType = FieldType.Delimited; reader.SetDelimiters(";"); reader.HasFieldsEnclosedInQuotes = true; reader.TrimWhiteSpace = true; try { while (!reader.EndOfData) { var lineNumber = (int)reader.LineNumber; var fields = reader.ReadFields(); if (columnCount == -1) { columnCount = fields.Length; } if (fields.Length != columnCount) { throw new ReaderException($"Line {lineNumber} has an invalid number of fields"); } data.Add(new DataPoint[columnCount]); for (var index = 0; index < fields.Length; index++) { if (!NonNegativeDecimal.TryParse(fields[index], out var value)) { throw new ReaderException($"Cannot parse value in column {index} of row {lineNumber}"); } data[lineNumber - 1][index] = new DataPoint(lineNumber, index, value); } } } catch (MalformedLineException e) { throw new ReaderException("A line could not be parsed", e); } } return(Task.FromResult(new Grid(data))); }
public void SimpleCalculationStrategy_GetVolume_ReturnsValidOutput() { var d0 = new NonNegativeDecimal(); var d1 = new NonNegativeDecimal(1); var baseGrid = new Grid(new List <DataPoint[]> { new[] { new DataPoint(1, 1, d1), new DataPoint(2, 1, d1) }, new[] { new DataPoint(1, 2, d1), new DataPoint(2, 2, d1) } }); var topGrid = new Grid(new List <DataPoint[]> { new[] { new DataPoint(1, 1, d0), new DataPoint(2, 1, d0) }, new[] { new DataPoint(1, 2, d0), new DataPoint(2, 2, d0) } }); var volume = new SimpleCalculationStrategy().GetVolume(baseGrid, topGrid, d1, d1, d1); Assert.AreEqual(1, volume); }
public void SimpleCalculationStrategy_GetVolume_TakesFluidContactIntoAccount() { var d0 = new NonNegativeDecimal(); var d1 = new NonNegativeDecimal(1); var d2 = new NonNegativeDecimal(2); var baseGrid = new Grid(new List <DataPoint[]> { new[] { new DataPoint(1, 1, d2), new DataPoint(2, 1, d2) }, new[] { new DataPoint(1, 2, d2), new DataPoint(2, 2, d2) } }); var topGrid = new Grid(new List <DataPoint[]> { new[] { new DataPoint(1, 1, d0), new DataPoint(2, 1, d0) }, new[] { new DataPoint(1, 2, d0), new DataPoint(2, 2, d0) } }); var volume = new SimpleCalculationStrategy().GetVolume(baseGrid, topGrid, d1, d1, d1); Assert.AreEqual(1, volume); }
public decimal GetVolume(Grid baseHorizon, Grid topHorizon, NonNegativeDecimal gridWidth, NonNegativeDecimal gridHeight, NonNegativeDecimal fluidContact) { if (baseHorizon == null) { throw new ArgumentNullException(nameof(baseHorizon)); } if (topHorizon == null) { throw new ArgumentNullException(nameof(topHorizon)); } if (baseHorizon.Height != topHorizon.Height || baseHorizon.Width != topHorizon.Width) { throw new ArgumentException("Grids must have equal dimensions"); } var segmentArea = (gridWidth / (baseHorizon.Width - 1)) * (gridHeight / (baseHorizon.Height - 1)); return(baseHorizon.Combine(topHorizon).Sum(pair => { var baseDepth = GetAverageDepth(pair.Item1); var topDepth = GetAverageDepth(pair.Item2); if (baseDepth > fluidContact) { baseDepth = fluidContact; } var deltaDepth = baseDepth - topDepth; if (deltaDepth < 0) { return 0m; // top is either below base or below fluid contact } return segmentArea * deltaDepth; })); }
public EquitySwapTransactionSupplement(XmlNode xmlNode) : base(xmlNode) { XmlNodeList mutualEarlyTerminationNodeList = xmlNode.SelectNodes("mutualEarlyTermination"); if (mutualEarlyTerminationNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in mutualEarlyTerminationNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { mutualEarlyTerminationIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(mutualEarlyTerminationIDRef, ob); } else if (item.Attributes.ToString() == "href") { mutualEarlyTerminationIDRef = item.Attributes["href"].Name; } else { mutualEarlyTermination = new XsdTypeBoolean(item); } } } XmlNodeList optionalEarlyTerminationNodeList = xmlNode.SelectNodes("optionalEarlyTermination"); if (optionalEarlyTerminationNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in optionalEarlyTerminationNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { optionalEarlyTerminationIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(optionalEarlyTerminationIDRef, ob); } else if (item.Attributes.ToString() == "href") { optionalEarlyTerminationIDRef = item.Attributes["href"].Name; } else { optionalEarlyTermination = new XsdTypeBoolean(item); } } } XmlNodeList breakFundingRecoveryNodeList = xmlNode.SelectNodes("breakFundingRecovery"); if (breakFundingRecoveryNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in breakFundingRecoveryNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { breakFundingRecoveryIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(breakFundingRecoveryIDRef, ob); } else if (item.Attributes.ToString() == "href") { breakFundingRecoveryIDRef = item.Attributes["href"].Name; } else { breakFundingRecovery = new XsdTypeBoolean(item); } } } XmlNodeList breakFeeElectionNodeList = xmlNode.SelectNodes("breakFeeElection"); if (breakFeeElectionNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in breakFeeElectionNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { breakFeeElectionIDRef = item.Attributes["id"].Name; FeeElectionEnum ob = FeeElectionEnum(); IDManager.SetID(breakFeeElectionIDRef, ob); } else if (item.Attributes.ToString() == "href") { breakFeeElectionIDRef = item.Attributes["href"].Name; } else { breakFeeElection = new FeeElectionEnum(item); } } } XmlNodeList breakFeeRateNodeList = xmlNode.SelectNodes("breakFeeRate"); if (breakFeeRateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in breakFeeRateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { breakFeeRateIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(breakFeeRateIDRef, ob); } else if (item.Attributes.ToString() == "href") { breakFeeRateIDRef = item.Attributes["href"].Name; } else { breakFeeRate = new NonNegativeDecimal(item); } } } XmlNodeList multipleExchangeIndexAnnexFallbackNodeList = xmlNode.SelectNodes("multipleExchangeIndexAnnexFallback"); if (multipleExchangeIndexAnnexFallbackNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in multipleExchangeIndexAnnexFallbackNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { multipleExchangeIndexAnnexFallbackIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(multipleExchangeIndexAnnexFallbackIDRef, ob); } else if (item.Attributes.ToString() == "href") { multipleExchangeIndexAnnexFallbackIDRef = item.Attributes["href"].Name; } else { multipleExchangeIndexAnnexFallback = new XsdTypeBoolean(item); } } } XmlNodeList componentSecurityIndexAnnexFallbackNodeList = xmlNode.SelectNodes("componentSecurityIndexAnnexFallback"); if (componentSecurityIndexAnnexFallbackNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in componentSecurityIndexAnnexFallbackNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { componentSecurityIndexAnnexFallbackIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(componentSecurityIndexAnnexFallbackIDRef, ob); } else if (item.Attributes.ToString() == "href") { componentSecurityIndexAnnexFallbackIDRef = item.Attributes["href"].Name; } else { componentSecurityIndexAnnexFallback = new XsdTypeBoolean(item); } } } XmlNodeList localJurisdictionNodeList = xmlNode.SelectNodes("localJurisdiction"); if (localJurisdictionNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in localJurisdictionNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { localJurisdictionIDRef = item.Attributes["id"].Name; CountryCode ob = CountryCode(); IDManager.SetID(localJurisdictionIDRef, ob); } else if (item.Attributes.ToString() == "href") { localJurisdictionIDRef = item.Attributes["href"].Name; } else { localJurisdiction = new CountryCode(item); } } } XmlNodeList relevantJurisdictionNodeList = xmlNode.SelectNodes("relevantJurisdiction"); if (relevantJurisdictionNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in relevantJurisdictionNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { relevantJurisdictionIDRef = item.Attributes["id"].Name; CountryCode ob = CountryCode(); IDManager.SetID(relevantJurisdictionIDRef, ob); } else if (item.Attributes.ToString() == "href") { relevantJurisdictionIDRef = item.Attributes["href"].Name; } else { relevantJurisdiction = new CountryCode(item); } } } XmlNodeList extraordinaryEventsNodeList = xmlNode.SelectNodes("extraordinaryEvents"); if (extraordinaryEventsNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in extraordinaryEventsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { extraordinaryEventsIDRef = item.Attributes["id"].Name; ExtraordinaryEvents ob = ExtraordinaryEvents(); IDManager.SetID(extraordinaryEventsIDRef, ob); } else if (item.Attributes.ToString() == "href") { extraordinaryEventsIDRef = item.Attributes["href"].Name; } else { extraordinaryEvents = new ExtraordinaryEvents(item); } } } }
public FxAverageRateObservation(XmlNode xmlNode) { XmlNodeList dateNodeList = xmlNode.SelectNodes("date"); if (dateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in dateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dateIDRef = item.Attributes["id"].Name; XsdTypeDate ob = XsdTypeDate(); IDManager.SetID(dateIDRef, ob); } else if (item.Attributes.ToString() == "href") { dateIDRef = item.Attributes["href"].Name; } else { date = new XsdTypeDate(item); } } } XmlNodeList averageRateWeightingFactorNodeList = xmlNode.SelectNodes("averageRateWeightingFactor"); if (averageRateWeightingFactorNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in averageRateWeightingFactorNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { averageRateWeightingFactorIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(averageRateWeightingFactorIDRef, ob); } else if (item.Attributes.ToString() == "href") { averageRateWeightingFactorIDRef = item.Attributes["href"].Name; } else { averageRateWeightingFactor = new XsdTypeDecimal(item); } } } 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; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(rateIDRef, ob); } else if (item.Attributes.ToString() == "href") { rateIDRef = item.Attributes["href"].Name; } else { rate = new NonNegativeDecimal(item); } } } }
public GasProduct(XmlNode xmlNode) { XmlNodeList typeNodeList = xmlNode.SelectNodes("type"); if (typeNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in typeNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { typeIDRef = item.Attributes["id"].Name; GasProductTypeEnum ob = GasProductTypeEnum(); IDManager.SetID(typeIDRef, ob); } else if (item.Attributes.ToString() == "href") { typeIDRef = item.Attributes["href"].Name; } else { type = new GasProductTypeEnum(item); } } } XmlNodeList calorificValueNodeList = xmlNode.SelectNodes("calorificValue"); if (calorificValueNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in calorificValueNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { calorificValueIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(calorificValueIDRef, ob); } else if (item.Attributes.ToString() == "href") { calorificValueIDRef = item.Attributes["href"].Name; } else { calorificValue = new NonNegativeDecimal(item); } } } XmlNodeList qualityNodeList = xmlNode.SelectNodes("quality"); if (qualityNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in qualityNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { qualityIDRef = item.Attributes["id"].Name; GasQuality ob = GasQuality(); IDManager.SetID(qualityIDRef, ob); } else if (item.Attributes.ToString() == "href") { qualityIDRef = item.Attributes["href"].Name; } else { quality = new GasQuality(item); } } } }
public EquityDerivativeShortFormBase(XmlNode xmlNode) : base(xmlNode) { 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; EquityStrike ob = EquityStrike(); IDManager.SetID(strikeIDRef, ob); } else if (item.Attributes.ToString() == "href") { strikeIDRef = item.Attributes["href"].Name; } else { strike = new EquityStrike(item); } } } XmlNodeList spotPriceNodeList = xmlNode.SelectNodes("spotPrice"); if (spotPriceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in spotPriceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { spotPriceIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(spotPriceIDRef, ob); } else if (item.Attributes.ToString() == "href") { spotPriceIDRef = item.Attributes["href"].Name; } else { spotPrice = new NonNegativeDecimal(item); } } } XmlNodeList numberOfOptionsNodeList = xmlNode.SelectNodes("numberOfOptions"); if (numberOfOptionsNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in numberOfOptionsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { numberOfOptionsIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(numberOfOptionsIDRef, ob); } else if (item.Attributes.ToString() == "href") { numberOfOptionsIDRef = item.Attributes["href"].Name; } else { numberOfOptions = new NonNegativeDecimal(item); } } } XmlNodeList equityPremiumNodeList = xmlNode.SelectNodes("equityPremium"); if (equityPremiumNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in equityPremiumNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { equityPremiumIDRef = item.Attributes["id"].Name; EquityPremium ob = EquityPremium(); IDManager.SetID(equityPremiumIDRef, ob); } else if (item.Attributes.ToString() == "href") { equityPremiumIDRef = item.Attributes["href"].Name; } else { equityPremium = new EquityPremium(item); } } } }
public WeightedAveragingObservation(XmlNode xmlNode) { XmlNodeList dateTimeNodeList = xmlNode.SelectNodes("dateTime"); if (dateTimeNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in dateTimeNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dateTimeIDRef = item.Attributes["id"].Name; XsdTypeDateTime ob = XsdTypeDateTime(); IDManager.SetID(dateTimeIDRef, ob); } else if (item.Attributes.ToString() == "href") { dateTimeIDRef = item.Attributes["href"].Name; } else { dateTime = new XsdTypeDateTime(item); } } } XmlNodeList observationNumberNodeList = xmlNode.SelectNodes("observationNumber"); if (observationNumberNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in observationNumberNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { observationNumberIDRef = item.Attributes["id"].Name; XsdTypePositiveInteger ob = XsdTypePositiveInteger(); IDManager.SetID(observationNumberIDRef, ob); } else if (item.Attributes.ToString() == "href") { observationNumberIDRef = item.Attributes["href"].Name; } else { observationNumber = new XsdTypePositiveInteger(item); } } } XmlNodeList weightNodeList = xmlNode.SelectNodes("weight"); if (weightNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in weightNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { weightIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(weightIDRef, ob); } else if (item.Attributes.ToString() == "href") { weightIDRef = item.Attributes["href"].Name; } else { weight = new NonNegativeDecimal(item); } } } }
public Variance(XmlNode xmlNode) : base(xmlNode) { XmlNodeList varianceAmountNodeList = xmlNode.SelectNodes("varianceAmount"); if (varianceAmountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in varianceAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { varianceAmountIDRef = item.Attributes["id"].Name; NonNegativeMoney ob = NonNegativeMoney(); IDManager.SetID(varianceAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { varianceAmountIDRef = item.Attributes["href"].Name; } else { varianceAmount = new NonNegativeMoney(item); } } } XmlNodeList volatilityStrikePriceNodeList = xmlNode.SelectNodes("volatilityStrikePrice"); if (volatilityStrikePriceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in volatilityStrikePriceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { volatilityStrikePriceIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(volatilityStrikePriceIDRef, ob); } else if (item.Attributes.ToString() == "href") { volatilityStrikePriceIDRef = item.Attributes["href"].Name; } else { volatilityStrikePrice = new NonNegativeDecimal(item); } } } XmlNodeList varianceStrikePriceNodeList = xmlNode.SelectNodes("varianceStrikePrice"); if (varianceStrikePriceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in varianceStrikePriceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { varianceStrikePriceIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(varianceStrikePriceIDRef, ob); } else if (item.Attributes.ToString() == "href") { varianceStrikePriceIDRef = item.Attributes["href"].Name; } else { varianceStrikePrice = new NonNegativeDecimal(item); } } } XmlNodeList varianceCapNodeList = xmlNode.SelectNodes("varianceCap"); if (varianceCapNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in varianceCapNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { varianceCapIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(varianceCapIDRef, ob); } else if (item.Attributes.ToString() == "href") { varianceCapIDRef = item.Attributes["href"].Name; } else { varianceCap = new XsdTypeBoolean(item); } } } XmlNodeList unadjustedVarianceCapNodeList = xmlNode.SelectNodes("unadjustedVarianceCap"); if (unadjustedVarianceCapNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in unadjustedVarianceCapNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { unadjustedVarianceCapIDRef = item.Attributes["id"].Name; PositiveDecimal ob = PositiveDecimal(); IDManager.SetID(unadjustedVarianceCapIDRef, ob); } else if (item.Attributes.ToString() == "href") { unadjustedVarianceCapIDRef = item.Attributes["href"].Name; } else { unadjustedVarianceCap = new PositiveDecimal(item); } } } XmlNodeList boundedVarianceNodeList = xmlNode.SelectNodes("boundedVariance"); if (boundedVarianceNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in boundedVarianceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { boundedVarianceIDRef = item.Attributes["id"].Name; BoundedVariance ob = BoundedVariance(); IDManager.SetID(boundedVarianceIDRef, ob); } else if (item.Attributes.ToString() == "href") { boundedVarianceIDRef = item.Attributes["href"].Name; } else { boundedVariance = new BoundedVariance(item); } } } XmlNodeList exchangeTradedContractNearestNodeList = xmlNode.SelectNodes("exchangeTradedContractNearest"); if (exchangeTradedContractNearestNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in exchangeTradedContractNearestNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { exchangeTradedContractNearestIDRef = item.Attributes["id"].Name; ExchangeTradedContract ob = ExchangeTradedContract(); IDManager.SetID(exchangeTradedContractNearestIDRef, ob); } else if (item.Attributes.ToString() == "href") { exchangeTradedContractNearestIDRef = item.Attributes["href"].Name; } else { exchangeTradedContractNearest = new ExchangeTradedContract(item); } } } XmlNodeList vegaNotionalAmountNodeList = xmlNode.SelectNodes("vegaNotionalAmount"); if (vegaNotionalAmountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in vegaNotionalAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { vegaNotionalAmountIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(vegaNotionalAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { vegaNotionalAmountIDRef = item.Attributes["href"].Name; } else { vegaNotionalAmount = new XsdTypeDecimal(item); } } } }
public DividendLeg(XmlNode xmlNode) : base(xmlNode) { 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 dividendPeriodNodeList = xmlNode.SelectNodes("dividendPeriod"); foreach (XmlNode item in dividendPeriodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { dividendPeriodIDRef = item.Attributes["id"].Name; List<DividendPeriodPayment> ob = new List<DividendPeriodPayment>(); ob.Add(new DividendPeriodPayment(item)); IDManager.SetID(dividendPeriodIDRef, ob); } else if (item.Attributes.ToString() == "href") { dividendPeriodIDRef = item.Attributes["href"].Name; } else { dividendPeriod.Add(new DividendPeriodPayment(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); } } } XmlNodeList materialDividendNodeList = xmlNode.SelectNodes("materialDividend"); if (materialDividendNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in materialDividendNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { materialDividendIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(materialDividendIDRef, ob); } else if (item.Attributes.ToString() == "href") { materialDividendIDRef = item.Attributes["href"].Name; } else { materialDividend = new XsdTypeBoolean(item); } } } }
public MultipleExercise(XmlNode xmlNode) { XmlNodeList notionalReferenceNodeList = xmlNode.SelectNodes("notionalReference"); foreach (XmlNode item in notionalReferenceNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { notionalReferenceIDRef = item.Attributes["id"].Name; List<NotionalReference> ob = new List<NotionalReference>(); ob.Add(new NotionalReference(item)); IDManager.SetID(notionalReferenceIDRef, ob); } else if (item.Attributes.ToString() == "href") { notionalReferenceIDRef = item.Attributes["href"].Name; } else { notionalReference.Add(new NotionalReference(item)); } } } XmlNodeList integralMultipleAmountNodeList = xmlNode.SelectNodes("integralMultipleAmount"); if (integralMultipleAmountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in integralMultipleAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { integralMultipleAmountIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(integralMultipleAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { integralMultipleAmountIDRef = item.Attributes["href"].Name; } else { integralMultipleAmount = new XsdTypeDecimal(item); } } } XmlNodeList minimumNotionalAmountNodeList = xmlNode.SelectNodes("minimumNotionalAmount"); if (minimumNotionalAmountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in minimumNotionalAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { minimumNotionalAmountIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(minimumNotionalAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { minimumNotionalAmountIDRef = item.Attributes["href"].Name; } else { minimumNotionalAmount = new XsdTypeDecimal(item); } } } XmlNodeList minimumNumberOfOptionsNodeList = xmlNode.SelectNodes("minimumNumberOfOptions"); if (minimumNumberOfOptionsNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in minimumNumberOfOptionsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { minimumNumberOfOptionsIDRef = item.Attributes["id"].Name; XsdTypeNonNegativeInteger ob = XsdTypeNonNegativeInteger(); IDManager.SetID(minimumNumberOfOptionsIDRef, ob); } else if (item.Attributes.ToString() == "href") { minimumNumberOfOptionsIDRef = item.Attributes["href"].Name; } else { minimumNumberOfOptions = new XsdTypeNonNegativeInteger(item); } } } XmlNodeList maximumNotionalAmountNodeList = xmlNode.SelectNodes("maximumNotionalAmount"); if (maximumNotionalAmountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in maximumNotionalAmountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { maximumNotionalAmountIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(maximumNotionalAmountIDRef, ob); } else if (item.Attributes.ToString() == "href") { maximumNotionalAmountIDRef = item.Attributes["href"].Name; } else { maximumNotionalAmount = new XsdTypeDecimal(item); } } } XmlNodeList maximumNumberOfOptionsNodeList = xmlNode.SelectNodes("maximumNumberOfOptions"); if (maximumNumberOfOptionsNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in maximumNumberOfOptionsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { maximumNumberOfOptionsIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(maximumNumberOfOptionsIDRef, ob); } else if (item.Attributes.ToString() == "href") { maximumNumberOfOptionsIDRef = item.Attributes["href"].Name; } else { maximumNumberOfOptions = new NonNegativeDecimal(item); } } } }
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 void NonNegativeDecimalCannotBeCreatedFromNegativeValue() { var result = NonNegativeDecimal.TryCreate(-1, (NonEmptyString)"Value"); result.IsSuccess.ShouldBeFalse(); }
public EquityMultipleExercise(XmlNode xmlNode) { XmlNodeList integralMultipleExerciseNodeList = xmlNode.SelectNodes("integralMultipleExercise"); if (integralMultipleExerciseNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in integralMultipleExerciseNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { integralMultipleExerciseIDRef = item.Attributes["id"].Name; PositiveDecimal ob = PositiveDecimal(); IDManager.SetID(integralMultipleExerciseIDRef, ob); } else if (item.Attributes.ToString() == "href") { integralMultipleExerciseIDRef = item.Attributes["href"].Name; } else { integralMultipleExercise = new PositiveDecimal(item); } } } XmlNodeList minimumNumberOfOptionsNodeList = xmlNode.SelectNodes("minimumNumberOfOptions"); if (minimumNumberOfOptionsNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in minimumNumberOfOptionsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { minimumNumberOfOptionsIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(minimumNumberOfOptionsIDRef, ob); } else if (item.Attributes.ToString() == "href") { minimumNumberOfOptionsIDRef = item.Attributes["href"].Name; } else { minimumNumberOfOptions = new NonNegativeDecimal(item); } } } XmlNodeList maximumNumberOfOptionsNodeList = xmlNode.SelectNodes("maximumNumberOfOptions"); if (maximumNumberOfOptionsNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in maximumNumberOfOptionsNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { maximumNumberOfOptionsIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(maximumNumberOfOptionsIDRef, ob); } else if (item.Attributes.ToString() == "href") { maximumNumberOfOptionsIDRef = item.Attributes["href"].Name; } else { maximumNumberOfOptions = new NonNegativeDecimal(item); } } } }
public FeaturePayment(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 levelPercentageNodeList = xmlNode.SelectNodes("levelPercentage"); if (levelPercentageNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in levelPercentageNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { levelPercentageIDRef = item.Attributes["id"].Name; XsdTypeDecimal ob = XsdTypeDecimal(); IDManager.SetID(levelPercentageIDRef, ob); } else if (item.Attributes.ToString() == "href") { levelPercentageIDRef = item.Attributes["href"].Name; } else { levelPercentage = new XsdTypeDecimal(item); } } } XmlNodeList amountNodeList = xmlNode.SelectNodes("amount"); if (amountNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in amountNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { amountIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(amountIDRef, ob); } else if (item.Attributes.ToString() == "href") { amountIDRef = item.Attributes["href"].Name; } else { amount = new NonNegativeDecimal(item); } } } XmlNodeList timeNodeList = xmlNode.SelectNodes("time"); if (timeNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in timeNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { timeIDRef = item.Attributes["id"].Name; TimeTypeEnum ob = TimeTypeEnum(); IDManager.SetID(timeIDRef, ob); } else if (item.Attributes.ToString() == "href") { timeIDRef = item.Attributes["href"].Name; } else { time = new TimeTypeEnum(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; Currency ob = Currency(); IDManager.SetID(currencyIDRef, ob); } else if (item.Attributes.ToString() == "href") { currencyIDRef = item.Attributes["href"].Name; } else { currency = new Currency(item); } } } XmlNodeList featurePaymentDateNodeList = xmlNode.SelectNodes("featurePaymentDate"); if (featurePaymentDateNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in featurePaymentDateNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { featurePaymentDateIDRef = item.Attributes["id"].Name; AdjustableOrRelativeDate ob = AdjustableOrRelativeDate(); IDManager.SetID(featurePaymentDateIDRef, ob); } else if (item.Attributes.ToString() == "href") { featurePaymentDateIDRef = item.Attributes["href"].Name; } else { featurePaymentDate = new AdjustableOrRelativeDate(item); } } } }
public BoundedVariance(XmlNode xmlNode) { XmlNodeList realisedVarianceMethodNodeList = xmlNode.SelectNodes("realisedVarianceMethod"); if (realisedVarianceMethodNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in realisedVarianceMethodNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { realisedVarianceMethodIDRef = item.Attributes["id"].Name; RealisedVarianceMethodEnum ob = RealisedVarianceMethodEnum(); IDManager.SetID(realisedVarianceMethodIDRef, ob); } else if (item.Attributes.ToString() == "href") { realisedVarianceMethodIDRef = item.Attributes["href"].Name; } else { realisedVarianceMethod = new RealisedVarianceMethodEnum(item); } } } XmlNodeList daysInRangeAdjustmentNodeList = xmlNode.SelectNodes("daysInRangeAdjustment"); if (daysInRangeAdjustmentNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in daysInRangeAdjustmentNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { daysInRangeAdjustmentIDRef = item.Attributes["id"].Name; XsdTypeBoolean ob = XsdTypeBoolean(); IDManager.SetID(daysInRangeAdjustmentIDRef, ob); } else if (item.Attributes.ToString() == "href") { daysInRangeAdjustmentIDRef = item.Attributes["href"].Name; } else { daysInRangeAdjustment = new XsdTypeBoolean(item); } } } XmlNodeList upperBarrierNodeList = xmlNode.SelectNodes("upperBarrier"); if (upperBarrierNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in upperBarrierNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { upperBarrierIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(upperBarrierIDRef, ob); } else if (item.Attributes.ToString() == "href") { upperBarrierIDRef = item.Attributes["href"].Name; } else { upperBarrier = new NonNegativeDecimal(item); } } } XmlNodeList lowerBarrierNodeList = xmlNode.SelectNodes("lowerBarrier"); if (lowerBarrierNodeList.Count > 1 ) { throw new Exception(); } foreach (XmlNode item in lowerBarrierNodeList) { if (item.Attributes["href"] != null || item.Attributes["id"] == null) { if (item.Attributes["id"] != null) { lowerBarrierIDRef = item.Attributes["id"].Name; NonNegativeDecimal ob = NonNegativeDecimal(); IDManager.SetID(lowerBarrierIDRef, ob); } else if (item.Attributes.ToString() == "href") { lowerBarrierIDRef = item.Attributes["href"].Name; } else { lowerBarrier = new NonNegativeDecimal(item); } } } }
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); } } } }