Imports BDtelefonos
Imports System.ComponentModel

Class CProveedorDatosTelefono
  Public Property ContextoDeObjs() As bd_telefonos2Entities
    Get
      Return m_ContextoDeObjs
    End Get
    Private Set(value As bd_telefonos2Entities)
      m_ContextoDeObjs = value
    End Set
  End Property
  Private m_ContextoDeObjs As bd_telefonos2Entities

  Public Sub New()
    '
    '       * #if ... #endif: evitar el error que da el diseñador debido a que estamos estableciendo la conexión en el contructor
    '       * y el diseñador, al cargar el XAML, intenta crear una instancia e intenta leer la información de conexión del fichero de configuración,
    '       * pero durante el diseño, la aplicación es el propio Visual Studio (no la nuestra) y su fichero de configuración, obviamente,
    '       * no contiene esta información.
    '       

#If DEBUG Then
    If DesignerProperties.GetIsInDesignMode(New DependencyObject()) Then
      Return
    End If
#End If

    ContextoDeObjs = New bd_telefonos2Entities()
  End Sub

  Public Function ObtenerTelefonos() As List(Of telefono)
#If DEBUG Then
    If DesignerProperties.GetIsInDesignMode(New DependencyObject()) Then
      Return Nothing
    End If
#End If

    ' Consulta LINQ 
    Dim tfnos = From tfno In ContextoDeObjs.telefonos
                Select tfno
    Return tfnos.ToList()
  End Function
End Class
