![]() |
António Roberto Software |
|
Linguagens de Programação
2
|
3º ano da
Licenciatura em Informática de Gestão
|
Aula de 17 de Janeiro de 2003
Desenvolvimento da solução SolLoja (continuação): Finalização do Caso de Utilização Seleccionar Produto
|
|
![]() |
Reaproveitamento do código da classe Loja pertencente à solução do nível 1 da frequência
A lógica desse código vai ser repartida por duas classes: a classe Produto e a classe Encomenda
A classe Produto foi acrescentada ao projecto Loja (a classe Encomenda será adicionada em 24 Janeiro)
o campo BD é partilhado (Shared) por todos os objectos da classe Produto
o campo BD é uma referência para um objecto da classe BDLoja
todos os objectos da classe Produto criados por um objecto da classe Loja vão utilizar o mesmo objecto para aceder à Base de Dados
o método partilhado InitLoja serve para inicializar o campo partilhado BD
Alterações no construtor da classe Loja

Cria um novo objecto da classe BDLoja
Chama o método InitLoja da classe Produto, passando a referência para o objecto criado no ponto 1
Alterações no construtor da classe Produto
Alterações no método SeleccionarProduto da classe Loja
Alterações na classe CliLoja (camada da Interface com o Utilizador)
acrescentou-se o campo ProdSel, que representa o produto seleccionado
a resposta ao evento SelectionChangeCommitted foi reformulada
a obtenção do código do produto é realizada com a informação obtida a partir do objecto (da classe DataRowView) correspondente ao item seleccionado na Combo Box
passamos o código do produto seleccionado na invocação do método SeleccionarProduto do objecto Loj, que retorna um objecto da classe Produto
actualizamos a propriedade Text dos controls txtCodigo e txtQuantStock a partir das propriedades do objecto da classe Produto
Diagrama de sequência de Seleccionar Produto:
Código fonte obtido no final da aula:
|
Nome da Solução |
Tipo |
Código Fonte |
|
SolLoja |
Windows Application + Class Library |
Nota: para a solução correr no seu computador, tem de actualizar a Connection String no construtor da classe BDLoja.