public ComplexDataQuerySelectionGroupImpl(ISet<IComplexDataQuerySelection> complexSelections, ISdmxDate dateFrom, OrderedOperator dateFromOperator, ISdmxDate dateTo, OrderedOperator dateToOperator, ISet<IComplexComponentValue> primaryMeasureValues) { //check if the operator to be applied on the time has not the 'NOT_EQUAL' value if (dateFromOperator.Equals(OrderedOperatorEnumType.NotEqual) || dateToOperator.Equals(OrderedOperatorEnumType.NotEqual)) throw new SdmxSemmanticException(ExceptionCode.QuerySelectionIllegalOperator); if (complexSelections == null) { return; } this._dateFrom = dateFrom; this._dateFromOperator = dateFromOperator; this._dateTo = dateTo; this._dateToOperator = dateToOperator; this._complexSelections = complexSelections; this._primaryMeasureValues = primaryMeasureValues; // Add each of the Component Selections to the selection concept map. foreach (IComplexDataQuerySelection compSel in _complexSelections) { if (_complexSelectionForConcept.ContainsKey(compSel.ComponentId)) { //TODO Does this require a exception, or can the code selections be merged? throw new ArgumentException("Duplicate concept"); } _complexSelectionForConcept.Add(compSel.ComponentId, compSel); } }
public ComplexComponentValueImpl(string value, OrderedOperator orderedOperator, SdmxStructureEnumType componentType) { if (componentType.Equals(SdmxStructureEnumType.TimeDimension) && orderedOperator.Equals(OrderedOperatorEnumType.NotEqual)) throw new SdmxSemmanticException(ExceptionCode.QuerySelectionIllegalOperator); this._value =value; if (orderedOperator!=null) this._orderedOperator = orderedOperator; else this._orderedOperator = OrderedOperator.GetFromEnum(OrderedOperatorEnumType.Equal); }