/// <summary> /// Create a instance of DataWhereStatmentSelectionGroup for SDMX 2.1 Version /// </summary> /// <param name="_group21">from DataWhereStatment ParseGroup21</param> public DataWhereStatmentSelectionGroup(IComplexDataQuerySelectionGroup _group21) { this.Group20 = null; this.Group21 = _group21; ParseGroup21(); }
/// <summary> /// Create a instance of DataWhereStatmentSelectionGroup for SDMX 2.0 Version /// </summary> /// <param name="_group20">from DataWhereStatment ParseGroup20</param> public DataWhereStatmentSelectionGroup(IDataQuerySelectionGroup _group20) { this.Group20 = _group20; this.Group21 = null; ParseGroup20(); }
/// <summary> /// Handles the primary measure. /// </summary> /// <param name="whereType">Type of the where.</param> /// <param name="complexDataQuerySelectionGroup">The complex data query selection group.</param> /// <param name="complexDataQuery">The complex data query.</param> private static void HandlePrimaryMeasure(DataParametersType whereType, IComplexDataQuerySelectionGroup complexDataQuerySelectionGroup, IComplexDataQuery complexDataQuery) { var primaryMeasure = complexDataQuery.DataStructure.PrimaryMeasure; foreach (IComplexComponentValue primaryMeasureValue in complexDataQuerySelectionGroup.PrimaryMeasureValue) { var primaryMeasureValueType = new PrimaryMeasureValueType(); SetOperatorAndValue(primaryMeasure, primaryMeasureValue, primaryMeasureValueType); whereType.PrimaryMeasureValue.Add(primaryMeasureValueType); } }
/// <summary> /// Generates sql where clauses from <paramref name="time"/> /// </summary> /// <param name="time"> /// The <see cref="IComplexDataQuerySelectionGroup"/> /// </param> /// <param name="info"> /// The current data retrieval state /// </param> /// /// </param> /// <param name="freqValue"> /// The frequency value /// </param> /// <returns> /// The string containing the time part of the WHERE in an SQL query. /// </returns> private static string GenerateWhereClause(IComplexDataQuerySelectionGroup time, DataRetrievalInfo info, string freqValue) { return info.TimeTranscoder != null ? info.TimeTranscoder.GenerateWhere(time.DateFrom, time.DateTo, freqValue) : string.Empty; }
/// <summary> /// Handles the time. /// </summary> /// <param name="whereType">Type of the where.</param> /// <param name="complexDataQuerySelectionGroup">The complex data query selection group.</param> private static void HandleTime(DataParametersType whereType, IComplexDataQuerySelectionGroup complexDataQuerySelectionGroup) { var timeDimensionValueType = new TimeDimensionValueType(); if (complexDataQuerySelectionGroup.DateFrom != null) { var timePeriodValueType = new TimeValue(); timePeriodValueType.TypedValue = complexDataQuerySelectionGroup.DateFrom.DateInSdmxFormat; timePeriodValueType.@operator = complexDataQuerySelectionGroup.DateFromOperator.OrdOperator; timeDimensionValueType.TimeValue.Add(timePeriodValueType); } if (complexDataQuerySelectionGroup.DateTo != null) { var timePeriodValueType = new TimeValue(); timePeriodValueType.TypedValue = complexDataQuerySelectionGroup.DateTo.DateInSdmxFormat; timePeriodValueType.@operator = complexDataQuerySelectionGroup.DateToOperator.OrdOperator; timeDimensionValueType.TimeValue.Add(timePeriodValueType); } whereType.TimeDimensionValue.Add(timeDimensionValueType); }