public Route GetRoute(Route r)
        {
            try
            {
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();
                    SqlCommand command = new SqlCommand(GetRouteQuery, connection);
                    command.Parameters.AddWithValue("@routeId", r.RouteID);
                    SqlDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        r.RouteName = Convert.ToString(reader["route_name"]);
                        r.IsPrivate = Convert.ToBoolean(reader["is_Private"]);
                    }
                    reader.Close();

                    command = new SqlCommand(GetWaypointsQuery, connection);
                    command.Parameters.AddWithValue("@routeId", r.RouteID);


                    reader = command.ExecuteReader();

                    while (reader.Read())
                    {
                        r.AddWaypoint(Convert.ToString(reader["waypoint_position"]));
                        r.AddTime(Convert.ToDateTime(reader["stop_time"]));
                    }
                    reader.Close();

                    command = new SqlCommand(GetUsersQuery, connection);
                    command.Parameters.AddWithValue("routeId", r.RouteID);

                    reader = command.ExecuteReader();

                    while (reader.Read())
                    {
                        r.AddUser(Convert.ToString(reader["email_address"]));
                    }


                    return(r);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }