private static QualifiedCoordinates CreateQualifiedCoordinatesInstance(GeoMessageQualifiedCoordinates table)
 {
     return new QualifiedCoordinates()
     {
         Altitude = table.Altitude,
         HorizontalAccuracy = table.HorizontalAccuracy,
         Latitude = table.Latitude,
         Longitude = table.Longitude,
         VerticalAccuracy = table.VerticalAccuracy
     };
 }
        private static GeoMessageQualifiedCoordinates GetGeoMessageQualifiedCoordinates(Int32 qualifiedCoordinatesID, SqlConnection connection, SqlTransaction transaction)
        {
            var result = new GeoMessageQualifiedCoordinates();

            SqlCommand cmd = new SqlCommand(
                "select Latitude, Longitude, Altitude, HorizontalAccuracy, VerticalAccuracy from GeoMessageQualifiedCoordinates where GeoMessageQualifiedCoordinatesID = @qualifiedCoordinatesID",
                connection,
                transaction);
            cmd.Parameters.AddWithValue("@qualifiedCoordinatesID", qualifiedCoordinatesID);
            SqlDataReader reader = cmd.ExecuteReader();

            try
            {
                while (reader.Read())
                {
                    Double latitude = Convert.ToDouble(reader[0]);
                    Double longitude = Convert.ToDouble(reader[1]);

                    Single altitude = Single.NaN;
                    Object altitudeRaw = reader[2];
                    if (!(altitudeRaw is DBNull))
                        altitude = Convert.ToSingle(altitudeRaw);

                    Single horizontalAccuracy = Single.NaN;
                    Object horizontalAccuracyRaw = reader[3];
                    if (!(horizontalAccuracyRaw is DBNull))
                        horizontalAccuracy = Convert.ToSingle(horizontalAccuracyRaw);

                    Single verticalAccuracy = Single.NaN;
                    Object verticalAccuracyRaw = reader[4];
                    if (!(verticalAccuracyRaw is DBNull))
                        verticalAccuracy = Convert.ToSingle(verticalAccuracyRaw);

                    result.Altitude = altitude;
                    result.HorizontalAccuracy = horizontalAccuracy;
                    result.ID = qualifiedCoordinatesID;
                    result.Latitude = latitude;
                    result.Longitude = longitude;
                    result.VerticalAccuracy = verticalAccuracy;
                }
            }
            finally
            {
                if (reader != null)
                    reader.Close();
            }

            return result;
        }