private static Location CreateLocationInstance(GeoMessageLocation table) { return new Location() { Course = table.Course, ExtraInfo = table.ExtraInfo, IsValid = table.IsValid, LocationMethod = table.LocationMethod, Speed = table.Speed, TimeStamp = table.TimeStamp.Value.Ticks }; }
private static GeoMessageLocation GetGeoMessageLocation(Int32 locationID, SqlConnection connection, SqlTransaction transaction) { var location = new GeoMessageLocation(); SqlCommand cmd = new SqlCommand( "select AddressInfoID, Course, LocationMethod, QualifiedCoordinatesID, Speed, TimeStamp, IsValid, ExtraInfo from GeoMessageLocation where GeoMessageLocationID = @locationID", connection, transaction); cmd.Parameters.AddWithValue("@locationID", locationID); SqlDataReader reader = cmd.ExecuteReader(); try { while (reader.Read()) { Int32? addressInfo = null; Object addressInfoRaw = reader[0]; if (!(addressInfoRaw is DBNull)) addressInfo = Convert.ToInt32(addressInfoRaw); Single course = Single.NaN; Object courseRaw = reader[1]; if (!(courseRaw is DBNull)) course = Convert.ToSingle(courseRaw); Int32 locationMethod = Convert.ToInt32(reader[2]); Int32 qualifiedCoordinatesID = Convert.ToInt32(reader[3]); Single speed = Single.NaN; Object speedRaw = reader[4]; if (!(speedRaw is DBNull)) speed = Convert.ToSingle(speedRaw); DateTime timeStamp = Convert.ToDateTime(reader[5]); Boolean isValid = Convert.ToBoolean(reader[6]); String extraInfo = Convert.ToString(reader[7]); location.AddressInfoID = addressInfo; location.Course = course; location.ExtraInfo = extraInfo; location.ID = locationID; location.IsValid = isValid; location.LocationMethod = locationMethod; location.QualifiedCoordinatesID = qualifiedCoordinatesID; location.Speed = speed; location.TimeStamp = timeStamp; } } finally { if (reader != null) reader.Close(); } return location; }