You are on page 1of 4

Estndares para la creacin de Accesos a Datos de las Entidades en Visual Basic .Net.

1) Las entidades estarn complementadas por una Clase Publica para realizar las consultas de los datos y los procesos de almacenamiento, actualizacin y eliminacin. Dicha clase tendr el nombre de la entidad a la que representa, precedida por las letras AD (Ejemplo: nombre la entidad ETbl_Contribuyente, nombre del acceso a datos ADETbl_Contribuyente) Cdigo de ejemplo: Public Class ADETbl_Cont_Juridico End Class 2) La clase de acceso a datos contendr las siguiente variables: a) Una nueva instancia de la clase Conexin, en donde nombre ser el mismo nombre de la clases, precedida por la letra i Cdigo de ejemplo: Dim iConexion As New Conexin b) Una variable tipo SqlDataReader, en donde nombre ser lector. Cdigo de ejemplo: Dim lector As Common.DbDataReader c) Una nueva instancia de la clase de la entidad, en donde nombre ser el mismo nombre de la clase, precedida por la letra i. Cdigo de ejemplo: Dim iETbl_Contribuyente As New ETbl_Contribuyente d) Una nueva instancia de listado del tipo de la entidad utilizando el tipo BindingList, en donde nombre ser lista. Cdigo de ejemplo: Dim lista As New BindingList(OF ETbl_Contribuyente) e) Una variable tipo String para crear las condiciones de los filtros, en donde nombre ser condicion. Cdigo de ejemplo: Dim condicion As String Variables opciones: f) Una nueva instancia de los accesos a datos dependiendo del nmero de relaciones que cuente la entidad, en donde nombre ser el mismo nombre de las clases de acceso a datos, precedida por la letra i. Cdigo de ejemplo: Dim iADETbl_Cont_Natural As New ADETbl_Cont_Natural) 3) La clase contendr las siguientes funciones: a) Lisado: esta funcin se utilizara para llenar la variable lista, la cual recibir parmetros opcionales que servirn para crear condiciones que formaran parte de la clusula Where, las cuales deben devolver varios registros, los parmetros opcionales deben llevar Nothing como valor por defecto. El valor devuelto por la funcin ser tipo BindingList del mismo tipo de la entidad retornada con la variable lista.

Cdigo de ejemplo:
Public Function Listado _ (Optional ByVal tip_contribuyente As String = Nothing) _ As BindingList(Of ETbl_Contribuyente) Select Case True Case Not tip_contribuyente = Nothing condicion = String.Format("tip_contribuyente = '{0}'", tip_contribuyente) Case Else condicion = "" End Select lector = iConexion.Consultar(strTabla:="dbo.tbl_contribuyente", strCampos:="*", _ strWhere:=condicion) While lector.Read iETbl_Contribuyente = New _ ETbl_Contribuyente(Convert.ToInt32(lector("cod_contribuyente")), _ Convert.ToString(lector("tip_contribuyente")), _ Convert.ToBoolean(lector("con_est_deuda")), _ Convert.ToString(lector("cod_cont_migrado"))) _ With { .iETbl_Cont_Natural = iADETbl_Cont_Natural.Buscar(cod_contribuyente:=.cod_contribuyente), _ .iETbl_Cont_Juridico = iADETbl_Cont_Juridico.Buscar(cod_contribuyente:=.cod_contribuyente) } lista.Add(iETbl_Contribuyente) End While Try lector.Close() Catch ex As Exception End Try Return lista End Function

b) Buscar: esta funcin se utilizara para devolver un tem de la entidad, la cual recibir parmetros opcionales que servirn para crear condiciones que formaran parte de la clusula Where, las cuales deben devolver un nico registro, sin embargo, al no encontrar un registro la funcin deber devolver Nothing; los parmetros opcionales deben llevar Nothing como valor por defecto. El valor devuelto por la funcin ser mismo tipo de la entidad. La funcin contendr dos parmetros opcionales UnicoInsertar y UnicoActualizar ubicados de ltimo, ambas servir para verificar si existe el registro, en donde la primera lo realizar al momento de ingresar un nuevo registro existe, y la segunda al momento de actualizar. Cdigo de ejemplo:
Public Function Buscar(Optional ByVal cod_contribuyente As Integer = Nothing, _ Optional ByVal tip_contribuyente As String = Nothing, _ Optional ByVal cod_cont_migrado As String = Nothing, _ Optional ByVal UnicoInsertar As Boolean = False, _ Optional ByVal UnicoActualizar As Boolean = False) _ As ETbl_Contribuyente iETbl_Contribuyente = New ETbl_Contribuyente Select Case True Case UnicoInsertar condicion = String.Format("tip_contribuyente = '{0}' AND cod_cont_migrado = '{1}'", _ tip_contribuyente, cod_cont_migrado) Case UnicoActualizar condicion = String.Format("tip_contribuyente = '{0}' AND cod_cont_migrado = '{1}' " & _ "cod_contribuyente != '{2}'", _ tip_contribuyente, cod_cont_migrado, cod_contribuyente) Case Not cod_contribuyente = Nothing condicion = String.Format("cod_contribuyente = '{0}'", cod_contribuyente)

Case Else Return Nothing End Select lector = iConexion.Consultar(strTabla:="dbo.tbl_contribuyente", strCampos:="*", _ strWhere:=condicion) If lector.Read Then iETbl_Contribuyente = New _ ETbl_Contribuyente(Convert.ToInt32(lector("cod_contribuyente")), _ Convert.ToString(lector("tip_contribuyente")), _ Convert.ToBoolean(lector("con_est_deuda")), _ Convert.ToString(lector("cod_cont_migrado"))) _ With { .iETbl_Cont_Natural = iADETbl_Cont_Natural.Buscar(cod_contribuyente:=.cod_contribuyente), _ .iETbl_Cont_Juridico = iADETbl_Cont_Juridico.Buscar(cod_contribuyente:=.cod_contribuyente) } Else Return Nothing End If Try lector.Close() Catch ex As Exception End Try Return iETbl_Contribuyente End Function

c) Insertar: esta funcin se utilizar para almacenar un registro a la tabla, recibir un parmetro llamado tem del mismo tipo de la entidad . Cdigo de ejemplo:
Public Function Insertar(ByVal item As ETbl_Contribuyente) As Integer Return iConexion.Insertar(strTabla:="dbo.tbl_contribuyente", _ strValores:="'" & item.tip_contribuyente & "'," & _ "'" & item.con_est_deuda & "'," & _ "'" & item.cod_cont_migrado & "'", _ strCampos:="tip_contribuyente, con_est_deuda, cod_cont_migrado") End Function

d) Actualizar: esta funcin se utilizar para editar un registro a la tabla, recibir un parmetro llamado tem del mismo tipo de la entidad . Cdigo de ejemplo:
Public Function Actualizar(ByVal item As ETbl_Contribuyente) As Integer Return iConexion.Actualizar(strTabla:="dbo.tbl_contribuyente", _ strSet:="id_producto='" & item.tip_contribuyente & "', " "id_tip_uni_medida='" & item.con_est_deuda & "', "cod_presupuestario='" & item.cod_cont_migrado & strWhere:="cod_contribuyente='" & item.cod_contribuyente End Function

& _ " & _ "'", _ & "'")

e) Eliminar: esta funcin se utilizar para borrar un registro a la tabla, recibir un parmetro llamado tem del mismo tipo de la entidad . Cdigo de ejemplo:

Public Function Eliminar(ByVal item As ETbl_Contribuyente) As Integer Return iConexion.Eliminar(strTabla:="dbo.tbl_contribuyente", _ strWhere:="cod_contribuyente ='" & item.cod_contribuyente & "'") End Function

You might also like