none
passar valores camada RRS feed

  • Pergunta

  • Pessoal, tenho as seguintes propriedades em uma classe DTOFornecedor:

    '===========================================
    Private _Fornecedor_ID
    Property Fornecedor_ID
    Get
    Return _Fornecedor_ID
    End Get
    Set (byval Value)
    _Fornecedor_ID = value
    End Set
    End Property
    '===========================================
    Private _Fornecedor_UF_ID
    Property Fornecedor_UF_ID
    Get
    Return _Fornecedor_UF_ID
    End Get
    Set (byval Value)
    _Fornecedor_UF_ID = value
    End Set
    End Property
    
    '============================================
    Private _Fornecedor_GrupoFornecedor_ID
    Property Fornecedor_GrupoFornecedor_ID
    Get
    Return _Fornecedor_GrupoFornecedor_ID
    End Get
    Set (byval Value)
    _Fornecedor_GrupoFornecedor_ID = value
    End Set
    End Property
    '===========================================

    No form eu faço algo do tipo

    Fornecedor.Fornecedor_ID = Fornecedor_ID.text
    Fornecedor.Fornecedor_UF_ID = Fornecedor_UF_ID.text
    Fornecedor.Fornecedor_GrupoFornecedor_ID = Fornecedor_GrupoFornecedor_ID.text

    Então, por exemplo no form de Fornecedores onde tem o código acima eu tenho uns 30 campos e o nome das propriedades na DTOFornecedor é o mesmo nome, como que eu faria para que eu diminuísse esse código?

    sábado, 11 de agosto de 2012 15:13

Respostas

Todas as Respostas

  • Um exemplo:

    Dim f As New Fornecedor
    
    For Each c As Control In Me.Controls.OfType(Of TextBox)()
        f.GetType().GetProperty(c.Name).SetValue(f, c.Text, Nothing)
    Next

    • Marcado como Resposta Altair_147 sábado, 11 de agosto de 2012 21:29
    sábado, 11 de agosto de 2012 16:10
  • Então, dessa forma ai resolve, só tenho mais um detalhe, os campos do form estão dentro de um panel, e parece que quando estão dentro do panel eles não conseguem encontrar.
    sábado, 11 de agosto de 2012 17:11
  • Panels também têm a propriedade Controls.
    • Marcado como Resposta Altair_147 sábado, 11 de agosto de 2012 21:30
    sábado, 11 de agosto de 2012 19:12