Exemple #1
0
        public void CanTryParseGeometryValueStringWithSRIDValue()
        {
            var mysqlGeometryResult = new MySqlGeometry(0, 0);

            MySqlGeometry.TryParse("SRID=101;POINT (47.37 -122.21)", out mysqlGeometryResult);
            Assert.Equal("SRID=101;POINT(47.37 -122.21)", mysqlGeometryResult.ToString());
        }
        internal void Serialize(MySqlPacket packet, bool binary, MySqlConnectionStringBuilder settings)
        {
            if (!binary && (paramValue == null || paramValue == DBNull.Value))
            {
                packet.WriteStringNoNull("NULL");
            }
            else
            {
                if (ValueObject.MySqlDbType == MySqlDbType.Guid)
                {
                    MySqlGuid g = (MySqlGuid)ValueObject;
                    g.OldGuids  = settings.OldGuids;
                    ValueObject = g;
                }
#if !CF
                if (ValueObject.MySqlDbType == MySqlDbType.Geometry)
                {
                    MySqlGeometry v = (MySqlGeometry)ValueObject;
                    if (v.IsNull && Value != null)
                    {
                        MySqlGeometry.TryParse(Value.ToString(), out v);
                    }
                    ValueObject = v;
                }
#endif
                ValueObject.WriteValue(packet, binary, paramValue, Size);
            }
        }
Exemple #3
0
        public void CanTryParseGeometryValueString()
        {
            MySqlGeometry v = new MySqlGeometry(0, 0);

            MySqlGeometry.TryParse("POINT (47.37 -122.21)", out v);
            Assert.Equal("POINT(47.37 -122.21)", v.ToString());
        }
 public override object GetSqlGeometry(string wkt, int srid)
 {
     if (!MySqlGeometry.TryParse(wkt, out MySqlGeometry value))
     {
         return(null);
     }
     return(value);
 }
Exemple #5
0
        public override double?GetYCoordinate(DbGeometry geometryValue)
        {
            if (geometryValue == null)
            {
                throw new ArgumentNullException("geometryValue");
            }

            var providerValue = new MySqlGeometry();

            MySqlGeometry.TryParse(geometryValue.ProviderValue.ToString(), out providerValue);
            return(providerValue.YCoordinate);
        }
Exemple #6
0
        public override string AsText(DbGeometry geometryValue)
        {
            if (geometryValue == null)
            {
                throw new ArgumentNullException("geometryValue");
            }

            var providerValue = new MySqlGeometry();

            MySqlGeometry.TryParse(geometryValue.ProviderValue.ToString(), out providerValue);

            return(providerValue.ToString());
        }
Exemple #7
0
        public override DbGeometry GetGeometry(int ordinal)
        {
            ReturnGeometryColumn(ordinal);

            var  geometryBytes = this.reader.GetValue(ordinal);
            Type t             = geometryBytes.GetType();

            object geometry = Activator.CreateInstance(t);

            var providerValue = new MySqlGeometry();

            MySqlGeometry.TryParse(geometryBytes.ToString(), out providerValue);

            return(MySqlSpatialServices.Instance.GeometryFromProviderValue(providerValue));
        }
Exemple #8
0
        public override DbGeometry GeometryFromProviderValue(object providerValue)
        {
            if (providerValue == null)
            {
                throw new ArgumentNullException("provider value");
            }

            var myGeom = new MySqlGeometry();

            if (MySqlGeometry.TryParse(providerValue.ToString(), out myGeom))
            {
                return(DbGeometry.FromText(providerValue.ToString()));
            }
            else
            {
                return(null);
            }
        }
Exemple #9
0
        public override object CreateProviderValue(DbGeometryWellKnownValue wellKnownValue)
        {
            if (wellKnownValue == null)
            {
                throw new ArgumentNullException("wellKnownValue");
            }

            if (wellKnownValue.WellKnownText != null)
            {
                var mysqlGeometry = new MySqlGeometry(true);
                MySqlGeometry.TryParse(wellKnownValue.WellKnownText.ToString(), out mysqlGeometry);
                return(mysqlGeometry);
            }
            else if (wellKnownValue.WellKnownBinary != null)
            {
                var mysqlGeometry = new MySqlGeometry(MySqlDbType.Geometry, wellKnownValue.WellKnownBinary);
                return(mysqlGeometry);
            }
            return(null);
        }
Exemple #10
0
 internal void Serialize(MySqlPacket packet, bool binary, MySqlConnectionStringBuilder settings)
 {
     if (!binary && (this.paramValue == null || this.paramValue == DBNull.Value))
     {
         packet.WriteStringNoNull("NULL");
         return;
     }
     if (this.ValueObject.MySqlDbType == MySqlDbType.Guid)
     {
         MySqlGuid mySqlGuid = (MySqlGuid)this.ValueObject;
         mySqlGuid.OldGuids = settings.OldGuids;
         this.ValueObject   = mySqlGuid;
     }
     if (this.ValueObject.MySqlDbType == MySqlDbType.Geometry)
     {
         MySqlGeometry mySqlGeometry = (MySqlGeometry)this.ValueObject;
         if (mySqlGeometry.IsNull && this.Value != null)
         {
             MySqlGeometry.TryParse(this.Value.ToString(), out mySqlGeometry);
         }
         this.ValueObject = mySqlGeometry;
     }
     this.ValueObject.WriteValue(packet, binary, this.paramValue, this.Size);
 }
 public override object GetSqlGeometry(string wkt, int srid)
 {
     if (!MySqlGeometry.TryParse(wkt, out MySqlGeometry value))
         return null;
     return value;
 }