/// <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;
		}
示例#2
0
 /// <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;
 }
示例#3
0
 /// <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(validation.ToString())
            .Add("(")
            .AddObject(geometry)
            .Add(")")
            .ToSqlString());
 }
示例#4
0
 /// <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)
 {
     if (IsOGCStrict)
     {
         return(GetOGCSpatialValidationString(geometry, validation, criterion));
     }
     else
     {
         return(GetNativeSpatialValidationString(geometry, validation, criterion));
     }
 }
示例#5
0
        public SqlString GetNativeSpatialValidationString(object geometry, SpatialValidation validation, bool criterion)
        {
            return(new SqlStringBuilder()

                   .Add(DialectPrefix)
                   .Add(validation.ToString())
                   .Add("(")
                   .AddObject(geometry)
                   .Add(")")
                   .Add(criterion ? " = 1" : "")
                   .ToSqlString());
        }
示例#6
0
        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());
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SpatialValidationCriterion"/> class.
 /// </summary>
 /// <param name="propertyName">Name of the property.</param>
 /// <param name="validation">The validation.</param>
 public SpatialValidationCriterion(string propertyName, SpatialValidation validation)
 {
     this.propertyName = propertyName;
     this.validation = validation;
 }
		protected void RegisterSpatialFunction(SpatialValidation validation)
		{
			RegisterFunction(SpatialDialect.HqlPrefix + validation, new SpatialValidationFunction(this, validation));
		}
 public void RegisterSpatialFunction(SpatialValidation validation)
 {
     adaptor.RegisterFunction(SpatialDialect.HqlPrefix + validation.ToString(), new SpatialValidationFunction(this, validation));
 }
示例#11
0
 /// <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();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SpatialValidationProjection"/> class.
 /// </summary>
 /// <param name="propertyName">Name of the property.</param>
 /// <param name="validation">The validation.</param>
 public SpatialValidationProjection(string propertyName, SpatialValidation validation)
     : base(propertyName)
 {
     this.validation = validation;
 }
示例#13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SpatialValidationCriterion"/> class.
 /// </summary>
 /// <param name="propertyName">Name of the property.</param>
 /// <param name="validation">The validation.</param>
 public SpatialValidationCriterion(string propertyName, SpatialValidation validation)
 {
     this.propertyName = propertyName;
     this.validation   = validation;
 }
示例#14
0
 public SqlString GetSpatialValidationString(object geometry, SpatialValidation validation, bool criterion)
 {
     return(worker.GetSpatialValidationString(geometry, validation, criterion));
 }
        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 SqlString GetSpatialValidationString(object geometry, SpatialValidation validation, bool criterion)
 {
     return new SqlStringBuilder()
         .Add(DialectPrefix)
         .Add(validation.ToString())
         .Add("(")
         .AddObject(geometry)
         .Add(")")
         .Add(criterion ? " = 1" : "")
         .ToSqlString();
 }
示例#17
0
 private void RegisterSpatialFunction(SpatialValidation validation)
 {
     RegisterFunction(SpatialDialect.HqlPrefix + validation.ToString(), new SpatialValidationFunction(this, validation));
 }
示例#18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SpatialValidationProjection"/> class.
 /// </summary>
 /// <param name="propertyName">Name of the property.</param>
 /// <param name="validation">The validation.</param>
 public SpatialValidationProjection(string propertyName, SpatialValidation validation)
     : base(propertyName)
 {
     this.validation = validation;
 }
示例#19
0
 private void RegisterSpatialFunction(SpatialValidation validation)
 {
     adaptor.RegisterFunction(SpatialDialect.HqlPrefix + validation, new SpatialValidationFunction(this, validation));
 }
 protected void RegisterSpatialFunction(SpatialValidation validation)
 {
     RegisterFunction(SpatialDialect.HqlPrefix + validation, new SpatialValidationFunction(this, validation));
 }
		public SqlString GetSpatialValidationString(object geometry, SpatialValidation validation, bool criterion)
		{
			return worker.GetSpatialValidationString(geometry, validation, criterion);
		}
 public void RegisterSpatialFunction(SpatialValidation validation)
 {
     adaptor.RegisterFunction(SpatialDialect.HqlPrefix + validation.ToString(), new SpatialValidationFunction(this, validation));
 }
 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)
 {
     if (IsOGCStrict)
         return GetOGCSpatialValidationString(geometry, validation, criterion);
     else
         return GetNativeSpatialValidationString(geometry, validation, criterion);
 }