Perdon por la demora, pero ahora seguiremos con este tutorial en su 3ra. parte.

Dare un resumen, aqui haremos que las 3 capas se comuniquen via una entidad definida. Esta entidad es la que “viajara” a traves de nuestras distintas capas llevando o trayendo informacion.

Para esta tercera parte, esta comunacion sera una simulacion a una consulta en una base de datos. La comunicacion “real” sera para que en la proxima entrega, solo cambiaremos el codigo de esta funcion sin tocar el resto del proyecto.

Agregaremos a nuestra capa de Datos una nueva clase que denominaremos BaseDatos.cls

3capas041

Luego, crearemos una funcion denominada daConsultaCliente. El “da” lo agrego por el ingles DataAccess y es para mantener una correlacion con la capa de negocios que veremos mas adelante.

3capas043

Antes de continuar, una FE DE ERRATAS: en la entrega anterior, les hice hacer una referencia a la libreria System.Data.SqlClient en la Capa de Datos. Como por defecto ya esta la referencia System.Data, esto provoca problemas de ambiguedad. Como muestra la figura a continuacion:

3capas042

Asi que la referencia System.Data.SqlClient (indicada de la 2da. Parte) eliminenla con el boton derecho (Remove Reference)

Ahora entrego el codigo de la funcion daConsultaCliente.

Codigo VB.NET

    Imports System.Data.SqlClient
    Imports CapaEntidades

    Public Class BaseDatos

    Public Function daConsultaCliente(ByVal NroCta As Integer) As CapaEntidades.cliente
    Dim miCliente As New CapaEntidades.cliente

    miCliente.nro_cuenta = 1
    miCliente.rut = 999
    miCliente.dv = “k”
    miCliente.nombre_cliente = “juan”
    miCliente.apellido_cliente = “perez”

    Return miCliente

    End Function

    End Class
	

Aqui se hacen los IMPORTS a las librerias de SQLCLIENT y de la CAPAENTIDADES. La funcion devuelve un objeto del tipo “cliente” que es nuestra ENTIDAD.

Luego, le asigno valores a discrecion para este ejemplo. Y finalmente retorno mi variable de tipo “cliente”.

Ahora nos vamos a la Capa de Negocios donde agregaremos una nueva clase que se llamara ReglasNegocio.cls

3capas043

Luego crearemos una funcion que ejecute daConsultaCliente en la Capa de Datos. Esta se llamara blConsultaCliente. El “bl” es por BussinessLogic , ¿ya?🙂

Esta funcion, recibira el parametro enviado por la Capa Cliente (la pagina web en este caso) y solicitara la consulta a la Capa de Datos recibiendo un objeto del tipo “cliente”. El cual sera devuelto a la Capa Cliente.

3capas044

Codigo VB.NET

    Imports CapaEntidades
    Imports CapaDatos

    Public Class ReglasNegocio

    Public Function blConsultaCliente(ByVal NroCta As Integer) As CapaEntidades.cliente
    Dim miCliente As New CapaEntidades.cliente
    Dim miBase As New BaseDatos

    miCliente = miBase.daConsultaCliente(NroCta)

    Return miCliente
    End Function

    End Class
	

Finalmente, en nuestra pagina web haremos un llamado a la Capa de Negocios para que traiga los datos solicitados.

Para esto, programaremos el evento Page_Load, para hacer de manera simple.

Crearemos una objeto del tipo Capa de Negocios para poder solicitar los datos. Una vez hecha la solicitud, recibiremos un objeto del tipo “cliente” que es nuestra entidad, la cual sera desplegada en pantalla.

3capas047

Codigo VB.NET

    Imports CapaEntidades
    Imports CapaNegocios

    Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim RegNeg As New ReglasNegocio
    Dim miCliente As New cliente

    miCliente = RegNeg.blConsultaCliente(1)

    Response.Write(“rut :” & miCliente.rut & “-” & miCliente.dv & “
    “)
    Response.Write(“nombre :” & miCliente.nombre_cliente & “
    “)
    Response.Write(“apellido :” & miCliente.apellido_cliente & “
    “)

    End Sub

    End Class
	

Si se preguntan por el numero 1 que indico a la funcion, por el momento es solo para completar codigo (mas adelante lo ocuparemos como corresponde). Finalmente, el resultado debe ser el siguiente:

3capas046

Bueno, eso seria la (tan esperada) 3ra Parte, es una simulacion pero sirve para entender como se usan las Entidades en las 3 Capas.

En la 4ta. entrega, veremos como modificar la capa de datos para que haga una consulta a una base de datos SQL Server.

Links:
ASP NET: Como crear una Aplicacion de 3 Capas con Entidades (1ra. parte)

ASP NET: Como crear una Aplicacion de 3 Capas con Entidades (2da. parte)

ASP NET: Como crear una Aplicacion de 3 Capas con Entidades (4ta. parte)

TYDW.-