/// <summary>
        /// Initializes a new instance of the <see cref="TimeDimensionSingleFrequency"/> class.
        /// </summary>
        /// <param name="timeDimensionMapping">
        /// The time dimension mapping.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// <paramref name="timeDimensionMapping"/> is null
        /// </exception>
        public TimeDimensionSingleFrequency(ITimeDimensionMapping timeDimensionMapping)
        {
            if (timeDimensionMapping == null)
            {
                throw new ArgumentNullException("timeDimensionMapping");
            }

            this._timeDimensionMapping = timeDimensionMapping;
        }
Esempio n. 2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TimeDimensionSingleFrequency"/> class.
        /// </summary>
        /// <param name="timeDimensionMapping">
        /// The time dimension mapping.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// <paramref name="timeDimensionMapping"/> is null
        /// </exception>
        public TimeDimensionSingleFrequency(ITimeDimensionMapping timeDimensionMapping)
        {
            if (timeDimensionMapping == null)
            {
                throw new ArgumentNullException("timeDimensionMapping");
            }

            this._timeDimensionMapping = timeDimensionMapping;
        }
        /// <summary>
        /// Generates the where clause.
        /// </summary>
        /// <param name="dateFrom">The date from.</param>
        /// <param name="dateTo">The date to.</param>
        /// <param name="frequencyValue">The frequency value.</param>
        /// <param name="engine">The engine.</param>
        /// <returns>The where clause </returns>
        private string GenerateWhereClause(ISdmxDate dateFrom, ISdmxDate dateTo, string frequencyValue, ITimeDimensionMapping engine)
        {
            string frequencyWhereClause = this._frequencyComponentMapping.GenerateComponentWhere(frequencyValue);
            if (!string.IsNullOrWhiteSpace(frequencyWhereClause))
            {
                string timePeriodsWhereClauses = engine.GenerateWhere(dateFrom, dateTo);
                if (!string.IsNullOrWhiteSpace(timePeriodsWhereClauses))
                {
                    var whereClause = string.Format(CultureInfo.InvariantCulture, "(( {0} ) and ( {1} ))", frequencyWhereClause, timePeriodsWhereClauses);
                    return whereClause;
                }
            }

            return string.Empty;
        }
Esempio n. 4
0
        /// <summary>
        /// Generates the where clause.
        /// </summary>
        /// <param name="dateFrom">The date from.</param>
        /// <param name="dateTo">The date to.</param>
        /// <param name="frequencyValue">The frequency value.</param>
        /// <param name="engine">The engine.</param>
        /// <returns>The where clause </returns>
        private string GenerateWhereClause(ISdmxDate dateFrom, ISdmxDate dateTo, string frequencyValue, ITimeDimensionMapping engine)
        {
            string frequencyWhereClause = this._frequencyComponentMapping.GenerateComponentWhere(frequencyValue);

            if (!string.IsNullOrWhiteSpace(frequencyWhereClause))
            {
                string timePeriodsWhereClauses = engine.GenerateWhere(dateFrom, dateTo);
                if (!string.IsNullOrWhiteSpace(timePeriodsWhereClauses))
                {
                    var whereClause = string.Format(CultureInfo.InvariantCulture, "(( {0} ) and ( {1} ))", frequencyWhereClause, timePeriodsWhereClauses);
                    return(whereClause);
                }
            }

            return(string.Empty);
        }