Example #1
0
        /// <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);
 }