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); } }
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); }
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); }
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()); }
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)); }
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); } }
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); }
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; }