/// <summary>
        /// Convert a WebDataQuery instance to a string that
        /// represents the query as a SQL condition.
        /// </summary>
        /// <param name="context">Web service request context.</param>
        /// <param name="dataQuery">The data query.</param>
        /// <returns>A SQL condition string.</returns>
        protected static String GetDataQuery(WebServiceContext context,
                                             WebDataQuery dataQuery)
        {
            SqlSpeciesFactQueryBuilder queryBuilder;

            queryBuilder = new SqlSpeciesFactQueryBuilder();
            GetDataQuery(context, dataQuery, queryBuilder);
            return(queryBuilder.GetQuery(context));
        }
 /// <summary>
 /// Move WebDataQuery information into the
 /// SqlSpeciesFactQueryBuilder instance.
 /// </summary>
 /// <param name="context">Web service request context.</param>
 /// <param name="dataQuery">The data query.</param>
 /// <param name="queryBuilder">The query builder.</param>
 private static void GetDataQuery(WebServiceContext context,
                                  WebDataQuery dataQuery,
                                  SqlSpeciesFactQueryBuilder queryBuilder)
 {
     if (dataQuery.DataCondition.IsNotNull())
     {
         if (dataQuery.DataCondition.DataLogicCondition.IsNotNull())
         {
             GetDataLogicCondition(context, dataQuery.DataCondition.DataLogicCondition, queryBuilder);
         }
         if (dataQuery.DataCondition.SpeciesFactCondition.IsNotNull())
         {
             GetSpeciesFactCondition(context, dataQuery.DataCondition.SpeciesFactCondition, queryBuilder);
         }
     }
     if (dataQuery.DataConversion.IsNotNull())
     {
         throw new NotImplementedException("Conversion of data type in data query is not implemented!");
     }
     if (dataQuery.DataLimitation.IsNotNull())
     {
         throw new NotImplementedException("Limitation of data scope in data query is not implemented!");
     }
 }