/// <summary>
        /// Render the SQL Fragment.
        /// </summary>
        /// <param name="criteria"></param>
        /// <param name="position"></param>
        /// <param name="criteriaQuery"></param>
        /// <param name="enabledFilters"></param>
        /// <returns></returns>
        public override SqlString ToSqlString(ICriteria criteria, int position, ICriteriaQuery criteriaQuery, IDictionary <string, IFilter> enabledFilters)
        {
            ISpatialDialect spatialDialect = (ISpatialDialect)criteriaQuery.Factory.Dialect;
            string          column1        = criteriaQuery.GetColumn(criteria, this.propertyName);
            SqlString       sqlString;

            if (this.IsBinaryOperation())
            {
                string column2 = criteriaQuery.GetColumn(criteria, this.anotherPropertyName);
                sqlString = spatialDialect.GetSpatialAnalysisString(column1, this.analysis, column2);
            }
            else
            {
                sqlString = spatialDialect.GetSpatialAnalysisString(column1, this.analysis, this.arguments);
            }
            return(new SqlStringBuilder()
                   .Add(sqlString)
                   .Add(" as y")
                   .Add(position.ToString())
                   .Add("_")
                   .ToSqlString());
        }
Esempio n. 2
0
 public SqlString GetSpatialAnalysisString(object geometry, SpatialAnalysis analysis, object extraArgument)
 {
     return(worker.GetSpatialAnalysisString(geometry, analysis, extraArgument));
 }