Public Class USU_IdiomaBusinessObject
    Inherits BusinessObject(Of USU_Idioma)

#Region "Contructores"
    Public Sub New()
        MyBase.New()
        DbHelper = New USU_IdiomaDbHelper
    End Sub

    Public Sub New(ByVal entity As USU_Idioma)
        MyBase.New(entity)
        DbHelper = New USU_IdiomaDbHelper
    End Sub

    Public Sub New(ByVal idUsuario As Int32, ByVal IDI_CODIGO As String, Optional ByVal foreignLevel As Integer=0)
        Me.New()
        _Entity.idUsuario = idUsuario
        _Entity.IDI_CODIGO = IDI_CODIGO
        Dim Entity_Aux As USU_Idioma = DbHelper.SelectEntity(_Entity,foreignLevel)
        If Not Entity_Aux Is Nothing Then
            _IsNew = False
            _Entity = Entity_Aux
        End If
    End Sub
#End Region

#Region "Metodos Estaticos"
    Protected Shared _Instance As USU_IdiomaBusinessObject
    Protected Shared Function GetDdHelperInstance() As USU_IdiomaDbHelper
        If _Instance Is Nothing Then
            _Instance = New USU_IdiomaBusinessObject
        End If
    Return CType(_Instance.DbHelper, USU_IdiomaDbHelper)
    End Function

    Public Shared Function GetListUSU_Idioma(Optional ByVal foreignLevel As Integer=0) As EntityList(Of USU_Idioma)
        Return GetDdHelperInstance.SelectList(foreignLevel)
    End Function

    Public Shared Function GetListUSU_IdiomaBySEG_Usuarios(ByVal idUsuario as Int32, Optional ByVal foreignLevel As Integer=0) As EntityList(Of USU_Idioma)
        Return GetDdHelperInstance.GetListUSU_IdiomaBySEG_Usuarios(idUsuario, foreignLevel)
    End Function

    Public Shared Function GetListUSU_IdiomaByUSU_IdiomaExperienciaLee(ByVal IDI_Lee As Int32, Optional ByVal foreignLevel As Integer = 0) As EntityList(Of USU_Idioma)
        Return GetDdHelperInstance.GetListUSU_IdiomaByUSU_IdiomaExperienciaLee(IDI_Lee, foreignLevel)
    End Function

    Public Shared Function GetListUSU_IdiomaByUSU_IdiomaExperienciaEscribe(ByVal IDI_Escribe As Int32, Optional ByVal foreignLevel As Integer = 0) As EntityList(Of USU_Idioma)
        Return GetDdHelperInstance.GetListUSU_IdiomaByUSU_IdiomaExperienciaEscribe(IDI_Escribe, foreignLevel)
    End Function

    Public Shared Function GetListUSU_IdiomaByUSU_IdiomaExperienciaHabla(ByVal IDI_Habla As Int32, Optional ByVal foreignLevel As Integer = 0) As EntityList(Of USU_Idioma)
        Return GetDdHelperInstance.GetListUSU_IdiomaByUSU_IdiomaExperienciaHabla(IDI_Habla, foreignLevel)
    End Function

#End Region
End Class
