Public Class CEPropuestaInversion
    Private _IdDeDocumento As Integer = 0
    Private _CodigoInversion As String = String.Empty
    Private _EstadoDocumento As String = String.Empty
    Private _EstadoAutorizacion As String = String.Empty
    Private _Asunto As String = String.Empty
    Private _CodigoEmpresa As String = String.Empty
    Private _CodigoIF As String = String.Empty
    Private _TipoIF As String = String.Empty
    Private _CodigoEmisor As Integer = 0
    Private _CodigoCalificacionDeRiesgo As String = String.Empty
    Private _CodigoCalificadoraDeRiesgo As String = String.Empty
    Private _OrigendeFondos As String = String.Empty
    Private _Comentarios As String = String.Empty
    Private _Justificacion As String = String.Empty
    Private _TipoOperacion As String = String.Empty
    Private _DocumentoBase As Integer = 0
    Private _CodigoAsociado As String = String.Empty
    Private _NombreManual As String = String.Empty
    Private _TipoRenta As String = String.Empty
    Private _TipoTasa As String = String.Empty
    Private _Periodicidad As String = String.Empty

    Private _MontoInversion As Double = 0
    Private _Rendimiento As Double = 0
    Private _Ingresos As Double = 0
    Private _Precio As Double = 0
    Private _PlazoNumero As Integer = 0
    Private _Plazofactor As String = String.Empty
    Private _FechaDocumento As Date = Date.Today.Date
    Private _Pais As String = String.Empty
    Private _TipoMercado As String = String.Empty
    Private _CodigoCompra As String = String.Empty
    Private _EstadoReporto As String = String.Empty
    Private _IdFlujo As Integer = 0
    Private _IdEA As Integer = 0
    Private _IdProInv As Integer = 0
    Public Property IdDeDocumento As Integer
        Get
            Return _IdDeDocumento
        End Get
        Set(value As Integer)
            _IdDeDocumento = value
        End Set
    End Property

    Public Property CodigoInversion As String
        Get
            Return _CodigoInversion
        End Get
        Set(value As String)
            _CodigoInversion = value
        End Set
    End Property
    Public Property CodigoEmisor As Integer
        Get
            Return _CodigoEmisor
        End Get
        Set(value As Integer)
            _CodigoEmisor = value
        End Set
    End Property
    Public Property CodigoCalificacionDeRiesgo As String
        Get
            If _CodigoCalificacionDeRiesgo Is Nothing Then Return String.Empty Else Return _CodigoCalificacionDeRiesgo
        End Get
        Set(value As String)
            _CodigoCalificacionDeRiesgo = value
        End Set
    End Property
    Public Property CodigoEmpresaCalificadora As String
        Get
            If _CodigoCalificadoraDeRiesgo Is Nothing Then Return String.Empty Else Return _CodigoCalificadoraDeRiesgo
        End Get
        Set(value As String)
            _CodigoCalificadoraDeRiesgo = value
        End Set
    End Property
    Public Property Asunto As String
        Get
            Return _Asunto
        End Get
        Set(value As String)
            _Asunto = value
        End Set
    End Property
    Public Property CodigoInstrumentoFinanciero As String
        Get
            If _CodigoIF Is Nothing Then Return String.Empty Else Return _CodigoIF
        End Get
        Set(value As String)
            _CodigoIF = value
            ObtenerTipoIF()
        End Set
    End Property

    Public Property CodigoEmpresa As String
        Get
            If _CodigoEmpresa Is Nothing Then Return String.Empty Else Return _CodigoEmpresa
        End Get
        Set(value As String)
            _CodigoEmpresa = value
        End Set
    End Property

    Public Property NombreManual As String
        Get
            If _NombreManual Is Nothing Then Return String.Empty Else Return _NombreManual
        End Get
        Set(value As String)
            _NombreManual = value
        End Set
    End Property


    Public Property CodigoCompra As String
        Get
            If _CodigoCompra Is Nothing Then Return String.Empty Else Return _CodigoCompra
        End Get
        Set(value As String)
            _CodigoCompra = value
        End Set
    End Property

    Public Property CodigoAsociado As String
        Get
            If _CodigoAsociado Is Nothing Then Return String.Empty Else Return _CodigoAsociado
        End Get
        Set(value As String)
            _CodigoAsociado = value
        End Set
    End Property


    Public Property EstadoReporto As String
        Get
            If _EstadoReporto Is Nothing Then Return String.Empty Else Return _EstadoReporto
        End Get
        Set(value As String)
            _EstadoReporto = value
        End Set
    End Property



    Public Property IdEA As Integer
        Get
            Return _IdEA
        End Get
        Set(value As Integer)
            _IdEA = value
        End Set
    End Property






    Public Property IdFlujo As Integer
        Get
            Return _IdFlujo
        End Get
        Set(value As Integer)
            _IdFlujo = value
        End Set
    End Property




    Public Property TipoRenta As String
        Get
            If _TipoRenta Is Nothing Then Return String.Empty Else Return _TipoRenta
        End Get
        Set(value As String)
            _TipoRenta = value
        End Set
    End Property



    Public Property TipoTasa As String
        Get
            If _TipoTasa Is Nothing Then Return String.Empty Else Return _TipoTasa
        End Get
        Set(value As String)
            _TipoTasa = value
        End Set
    End Property




    Public Property Periodicidad As String
        Get
            If _Periodicidad Is Nothing Then Return String.Empty Else Return _Periodicidad
        End Get
        Set(value As String)
            _Periodicidad = value
        End Set
    End Property
    Public Property OrigenDeFondos As String
        Get
            If _OrigendeFondos Is Nothing Then Return String.Empty Else Return _OrigendeFondos
        End Get
        Set(value As String)
            _OrigendeFondos = value
        End Set
    End Property
    Public Property PlazoNumero As Integer
        Get
            Return _PlazoNumero
        End Get
        Set(value As Integer)
            _PlazoNumero = value
        End Set
    End Property
    Public Property PlazoFactor As String
        Get
            If _Plazofactor Is Nothing Then Return String.Empty Else Return _Plazofactor
        End Get
        Set(value As String)
            _PlazoFactor = value
        End Set
    End Property
    Public Property MontoInversion As Double
        Get
            Return _MontoInversion
        End Get
        Set(value As Double)
            _MontoInversion = value
        End Set
    End Property
    Public Property Precio As Double
        Get
            Return _Precio
        End Get
        Set(value As Double)
            _Precio = value
        End Set
    End Property
    Public Property Rendimiento As Double
        Get
            Return _Rendimiento
        End Get
        Set(value As Double)
            _Rendimiento = value
        End Set
    End Property
    Public Property Ingresos As Double
        Get
            Return _Ingresos
        End Get
        Set(value As Double)
            _Ingresos = value
        End Set
    End Property
    Public Property TipoOperacion As String
        Get
            Return _TipoOperacion
            If _TipoOperacion Is Nothing Then Return String.Empty Else Return _TipoOperacion
        End Get
        Set(value As String)
            _TipoOperacion = value
        End Set
    End Property
    Public Property EstadoDocumento As String
        Get
            If _EstadoDocumento Is Nothing Then Return String.Empty Else Return _EstadoDocumento
        End Get
        Set(value As String)
            _EstadoDocumento = value
        End Set
    End Property
    Public Property EstadoAutorizacion As String
        Get
            If _EstadoAutorizacion Is Nothing Then Return String.Empty Else Return _EstadoAutorizacion
        End Get
        Set(value As String)
            _EstadoAutorizacion = value
        End Set
    End Property
    Public Property Justificacion As String
        Get
            Return _Justificacion
        End Get
        Set(value As String)
            _Justificacion = value
        End Set
    End Property
    Public Property Comentarios As String
        Get
            Return _Comentarios
        End Get
        Set(value As String)
            _Comentarios = value
        End Set
    End Property


    Public Property FechaDocumento As Date
        Get
            Return _FechaDocumento
        End Get
        Set(value As Date)
            _FechaDocumento = value
        End Set
    End Property
    Public Property Pais As String
        Get
            Return _Pais
        End Get
        Set(value As String)
            _Pais = value
        End Set
    End Property
    Public Property TipoMercado As String
        Get
            Return _TipoMercado
        End Get
        Set(value As String)
            _TipoMercado = value
        End Set
    End Property




    Public Sub New()
        CodigoEmpresa = String.Empty
        Asunto = String.Empty
        CodigoInstrumentoFinanciero = String.Empty
        MontoInversion = 0
        Precio = 0
        Rendimiento = 0
        PlazoNumero = 0
        PlazoFactor = String.Empty
        Ingresos = 0
        OrigenDeFondos = String.Empty
        CodigoEmisor = 0
        CodigoCalificacionDeRiesgo = String.Empty
        CodigoEmpresaCalificadora = String.Empty
        Justificacion = String.Empty
        Comentarios = String.Empty
        CodigoInversion = String.Empty
        EstadoDocumento = String.Empty
        FechaDocumento = Date.Now.Date


    End Sub

    Private Sub ObtenerTipoIF()
        Dim oDAOGenral As New DAOGeneral

        _TipoIF = oDAOGenral.TipoDeInstrumento(_CodigoIF)

    End Sub

End Class
