/// <summary> /// Write a primary measure observation /// </summary> /// <param name="row"> /// The map between components and their values /// </param> /// <param name="info"> /// The current Data Retrieval state /// </param> /// <param name="limit"> /// The limit. /// </param> /// <returns> /// The number of observations stored. /// </returns> private static int WriteObservation(MappedXsValues row, DataRetrievalInfoXS info, int limit) { int maxMeasures = Math.Min(info.CrossSectionalMeasureMappings.Count, limit); int count = 0; for (var i = 0; i < maxMeasures; i++) { var crossSectionalMeasureMapping = info.CrossSectionalMeasureMappings[i]; var xsComponent = crossSectionalMeasureMapping.Components[0]; count += WriteObservation(row, xsComponent.Id, row.GetXSMeasureValue(xsComponent), info); } return count; }
/// <summary> /// Write a primary measure observation /// </summary> /// <param name="row"> /// The map between components and their values /// </param> /// <param name="info"> /// The current Data Retrieval state /// </param> /// <returns> /// The number of observations stored. /// </returns> protected override int WriteObservation(MappedXsValues row, DataRetrievalInfoXS info) { int count = 0; for (var i = 0; i < info.CrossSectionalMeasureMappings.Count; i++) { var crossSectionalMeasureMapping = info.CrossSectionalMeasureMappings[i]; var xsComponent = crossSectionalMeasureMapping.Components[0]; count += WriteObservation(row, xsComponent.Id, row.GetXSMeasureValue(xsComponent), info); } return count; }