sábado, 22 de agosto de 2015

estructura básica de DAL y BO

Estructuras básicas DAL y BO

------------------------------------------------------
Estructura básica BO
------------------------------------------------------
namespace BO {

    class BO-class
    {

         //declaración de variables
         //public tipo nombre {get; set;}
         public int32 contador{get; set;}
    }
}
---------------------------------------------------------
Estructura Básica DAL
--------------------------------------------------------
namespace DAL
{
    class DAL-class
    {

#region “propiedades”

//en este “bloque” se va a declarar las propiedades generales para la página
//mensaje es la propiedad que indicará si hay algún error
private string _mensaje = string.Empty;
        public string mensaje
        {
            get { return _mensaje; }
            set { _mensaje = value; }
        }

#endregion

#region “constructores”

//en este “bloque” se queda así como está agregándole el constructor que por dafault agrega la clase.

public DAL-class() {
        }

Tambien se agregarán en esta apartado las variables que son necesarias para que la clase funcione, por ejemplo un identificador o una cadena de conexión

#endregion


#region “métodos comunes”

//en este “bloque” se ejecutaran las principales consulta a la tabla
public List<BO-class> obtenerTodo()
{
//se espera un procedimiento almacenado.
}
#endregion


#region “métodos Auxiliares”

//en este bloque se ejecutara las consultas menos comunes y los métodos que ayudaran a crear los objetos

public List<BO-class> obtenerListaWhere(String condicion){

//se arma la condición adjuntándole la clausula where
if (condicion.Trim() != String.Empty)
            {
                condicion = "WHERE " + condicion;
            }
//se declara una datatable para contener los datos
DataTable dt = new DataTable();

//la clase classBD tendrá el acceso a la base de datos.
            dt = classBD.obtenerDataTable(String.Format("select * from [dbo].[tabla] {0};", condicion));

            List<BO-class> listaEvento = new List<BO-class>();

            //Sin error
            if (string.IsNullOrEmpty(_mensaje))
            {
                List<BO-class> listaBO-class = new List<BO-class>();
                foreach (DataRow drw in dt.Rows)
                {
                    DataRow dr = drw;
                    listaBO-class.Add(obtenerObjeto(dr));
                }
                return listaBO-class;
            }
            //Retornamos Nothing
            return null;

}

//se asigna los valores que se obtiene de la consulta a las propiedades del BO

private BO-class obtenerObjeto(DataRow dr)
        {
            BO-class temp = new BO-class();
            temp.valorString= dr["valorString "].ToString();
            temp.valorBool= Convert.ToBoolean(dr["valorBool "].ToString());
            temp.valorInt = Convert.ToInt16(dr["valorInt "].ToString());
            if (dr["valorfecha"] is DBNull)
            {
                temp.valorfecha = null;
            }else{
                temp.valorfecha = Convert.ToDateTime(dr["valorfecha"].ToString());
            }
                        
            return temp;
        }
#endregion

     }
}


El valor de una idea radia en el uso que se le da

No hay comentarios:

Publicar un comentario