/// <summary> /// Initializes a new instance of the <see cref="SpatialValidationFunction"/> class. /// </summary> /// <param name="spatialDialect">The spatial dialect.</param> /// <param name="validation">The validation.</param> public SpatialValidationFunction(ISpatialDialect spatialDialect, SpatialValidation validation) : base(validation.ToString(), NHibernateUtil.Boolean) { this.spatialDialect = spatialDialect; this.validation = validation; this.allowedArgsCount = 1; }
/// <summary> /// Gets the spatial validation string. /// </summary> /// <param name="geometry">The geometry.</param> /// <param name="validation">The validation.</param> /// <param name="criterion">if set to <c>true</c> [criterion].</param> /// <returns></returns> public SqlString GetSpatialValidationString(object geometry, SpatialValidation validation, bool criterion) { return(new SqlStringBuilder() .AddObject(geometry) .Add(".ST") .Add(validation.ToString()) .Add("()") .Add(criterion ? " = 1" : "") .ToSqlString()); }
/// <summary> /// Gets the spatial validation string. /// </summary> /// <param name="geometry">The geometry.</param> /// <param name="validation">The validation.</param> /// <param name="criterion">if set to <c>true</c> [criterion].</param> /// <returns></returns> public SqlString GetSpatialValidationString(object geometry, SpatialValidation validation, bool criterion) { return(new SqlStringBuilder() .Add(SpatialDialect.IsoPrefix) .Add(validation.ToString()) .Add("(") .AddObject(geometry) .Add(")") .ToSqlString()); }
public SqlString GetOGCSpatialValidationString(object geometry, SpatialValidation validation, bool criterion) { return(new SqlStringBuilder() .Add("MDSYS.OGC_") .Add(validation.ToString()) .Add("(") .Add("MDSYS.ST_GEOMETRY.FROM_SDO_GEOM(") .AddObject(geometry) .Add(")") .Add(")") .ToSqlString()); }
/// <summary> /// Gets the spatial validation string. /// </summary> /// <param name="geometry">The geometry.</param> /// <param name="validation">The validation.</param> /// <param name="criterion">if set to <c>true</c> [criterion].</param> /// <returns></returns> public virtual SqlString GetSpatialValidationString(object geometry, SpatialValidation validation, bool criterion) { // the MSDN say that "STIsValid" should return a CLR-SqlBoolean but our test "TestBooleanUnaryOperation" say that it may return null // when the geometry is null. return(new SqlStringBuilder() .Add("COALESCE(") .AddObject(geometry) .Add(".ST") .Add(validation.ToString()) .Add("()") .Add(", 0)") .Add(criterion ? " = 1" : "") .ToSqlString()); }
private void RegisterSpatialFunction(SpatialValidation validation) { RegisterFunction(SpatialDialect.HqlPrefix + validation.ToString(), new SpatialValidationFunction(this, validation)); }
/// <summary> /// Gets the spatial validation string. /// </summary> /// <param name="geometry">The geometry.</param> /// <param name="validation">The validation.</param> /// <param name="criterion">if set to <c>true</c> [criterion].</param> /// <returns></returns> public SqlString GetSpatialValidationString(object geometry, SpatialValidation validation, bool criterion) { return new SqlStringBuilder() .Add(DialectPrefix) .Add(validation.ToString()) .Add("(") .AddObject(geometry) .Add(")") .Add(criterion ? " = 1" : "") .ToSqlString(); }
public void RegisterSpatialFunction(SpatialValidation validation) { adaptor.RegisterFunction(SpatialDialect.HqlPrefix + validation.ToString(), new SpatialValidationFunction(this, validation)); }
/// <summary> /// Gets the spatial validation string. /// </summary> /// <param name="geometry">The geometry.</param> /// <param name="validation">The validation.</param> /// <param name="criterion">if set to <c>true</c> [criterion].</param> /// <returns></returns> public SqlString GetSpatialValidationString(object geometry, SpatialValidation validation, bool criterion) { // the MSDN say that "STIsValid" should return a CLR-SqlBoolean but our test "TestBooleanUnaryOperation" say that it may return null // when the geometry is null. return new SqlStringBuilder() .Add("COALESCE(") .AddObject(geometry) .Add(".ST") .Add(validation.ToString()) .Add("()") .Add(", 0)") .Add(criterion ? " = 1" : "") .ToSqlString(); }
public SqlString GetOGCSpatialValidationString(object geometry, SpatialValidation validation, bool criterion) { return new SqlStringBuilder() .Add("MDSYS.OGC_") .Add(validation.ToString()) .Add("(") .Add("MDSYS.ST_GEOMETRY.FROM_SDO_GEOM(") .AddObject(geometry) .Add(")") .Add(")") .ToSqlString(); }