/// <summary> /// Get Get Filter string for IUS Filter for individual IndicatorDataValueFilter item of IndicatorDataValueFilters collection /// </summary> /// <param name="indicatorDataValueFilter"></param> /// <param name="showIUS"></param> /// <returns></returns> private string GetIndicatorDataValueFilterString(IndicatorDataValueFilter indicatorDataValueFilter, bool showIUS) { string RetVal = String.Empty; if (showIUS == true) { // Sample (IUS.IUSNId = 93 AND (D.Data_value BETWEEN 0 AND 100)) RetVal = "(" + Indicator_Unit_Subgroup.IUSNId; } else { // Sample (IUS.Indicator_NId = 74 AND (D.Data_value BETWEEN 0 AND 100)) RetVal = "(" + Indicator_Unit_Subgroup.IndicatorNId; } RetVal += " = " + indicatorDataValueFilter.IndicatorNId; //-- Set invariant culture data values in filter clause as row filter will be set on an invariant dataview string CurrentThreadDecimalChar = Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator; string InvariantCultureDecimalChar = new System.Globalization.CultureInfo("en-US").NumberFormat.NumberDecimalSeparator; switch (indicatorDataValueFilter.OpertorType) { case OpertorType.EqualTo: RetVal += " AND " + DataExpressionColumns.NumericData + " = " + indicatorDataValueFilter.FromDataValue.ToString().Replace(CurrentThreadDecimalChar, InvariantCultureDecimalChar); break; case OpertorType.Between: //Inclusive of min & max values as per ANSI SQL RetVal += " AND (" + DataExpressionColumns.NumericData + " >= " + indicatorDataValueFilter.FromDataValue.ToString().Replace(CurrentThreadDecimalChar, InvariantCultureDecimalChar) + " AND " + DataExpressionColumns.NumericData + " <= " + indicatorDataValueFilter.ToDataValue.ToString().Replace(CurrentThreadDecimalChar, InvariantCultureDecimalChar) + ")"; break; case OpertorType.GreaterThan: RetVal += " AND (" + DataExpressionColumns.NumericData.ToString().Replace(CurrentThreadDecimalChar, InvariantCultureDecimalChar) + " > " + indicatorDataValueFilter.FromDataValue.ToString().Replace(CurrentThreadDecimalChar, InvariantCultureDecimalChar) + ")"; break; case OpertorType.LessThan: RetVal += " AND (" + DataExpressionColumns.NumericData.ToString().Replace(CurrentThreadDecimalChar, InvariantCultureDecimalChar) + " < " + indicatorDataValueFilter.ToDataValue.ToString().Replace(CurrentThreadDecimalChar, InvariantCultureDecimalChar) + ")"; break; } RetVal += ")"; return RetVal; }
/// <summary> /// Add the IndicatorDataValueFilter in the list /// </summary> /// <param name="IndicatorDataValueFilter">IndicatorDataValueFilter</param> public void Add(int IndicatorNId, string IndicatorGId, OpertorType OpertorType, double FromDataValue, double ToDataValue) { IndicatorDataValueFilter IndicatorDataValueFilter = new IndicatorDataValueFilter(this._ShowIUS, IndicatorNId, IndicatorGId, OpertorType, FromDataValue, ToDataValue); this.List.Add(IndicatorDataValueFilter); }
public void Remove(IndicatorDataValueFilter IndicatorDataValueFilter) { this.List.Remove(IndicatorDataValueFilter); }
/// <summary> /// Add the IndicatorDataValueFilter in the list /// </summary> /// <param name="IndicatorDataValueFilter">IndicatorDataValueFilter</param> public void Add(IndicatorDataValueFilter IndicatorDataValueFilter) { this.List.Add(IndicatorDataValueFilter); }