Tutorial ASP.NET 2.0 – Orientação a Objeto adicionando regras de negócio a nossa classe

Antes de adicionar regras de negócio a nossa classe, vamos analisar o que fizemos para chamar nossa classe

Dim oProduto As New Produto

Estamos criando a instância do objeto, que é conhecida como classe, repare na utilização da palavra new é ela que diz que demos criar nova instância do objeto Produto. Uma observação importante é que se tivéssemos criando um tipo de dado (int,string,datetime,etc) a palavra new não seria utilizada.

No trecho abaixo preenchemos as propriedades com o valores digitados no formulário

oProduto.DataFabricacao = txtDataFabricacao.Text

oProduto.Nome = txtNome.Text

oProduto.NumeroDias = txtNumeroDias.Text

E por último vamos chamar o método para calcular a data de validade

lblResultado.Text = oProduto.RetornaDataValidade()

Agora vamos adicionar algumas regras de negócio ao nosso método RetornaDataValidade:

  1. A quantidade de dias de validade deve estar entre 5 e 90 dias até o mês 6 do ano, do mês 7 ao mês 12 a quantidade de dias deve estar entre 10 e 70 dias.
  2. Para quantidades entre 15 e 30 dias, deve ser acrescentado 20% ao resultado final.

Com as regras nosso método ficaria assim:

Function RetornaDataValidade() As String

Dim retorno As String

Dim qtdDias As Integer = NumeroDias

‘Para quantidades entre 15 e 30 dias , deve ser acrescentado 20% ao resultado final.

If ((qtdDias > 14) AndAlso (qtdDias < 71)) Then qtdDias = qtdDias * 1.2

If (DataFabricacao.Month < 7) Then

‘5 e 90 dias até o mês 6 do ano

If ((NumeroDias > 4) AndAlso (NumeroDias < 91)) Then

retorno = DataFabricacao.AddDays(qtdDias)

Else

retorno = "Numero de dias deve estar entre 5 e 90"

End If

Else

‘Mês 7 ao mês 12 a quantidade de dias deve estar

If ((NumeroDias > 4) AndAlso (NumeroDias < 91)) Then

retorno = DataFabricacao.AddDays(qtdDias)

Else

retorno = "Numero de dias deve estar entre 10 e 70"

End If

End If

Return retorno

End Function

Para podermos enviar uma mensagem foi alterado o retorno do método para string

De Function RetornaDataValidade() As DateTime

Para Function RetornaDataValidade() As String

Outro ponto interessante é o trecho abaixo, onde podemos notar que não utilizamos o end if, isso foi possível por que só temos uma linha de comando dentro do if (qtdDias = qtdDias * 1.2), se tivéssemos duas linhas ou mais , o end if seria obrigatório.

If ((qtdDias > 14) AndAlso (qtdDias < 71)) Then qtdDias = qtdDias * 1.2

Agora rode a aplicação e informe os valores diferentes para ver o funcionamento das regras criadas.

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s