PageRenderTime 14ms CodeModel.GetById 11ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/Docs/07-Implementacion/Source/trunk/EDUAR_Regular/EDUAR_SI/EDUAR_SI_BusinessLogic/BLTransaction.cs

http://blpm.googlecode.com/
C# | 90 lines | 29 code | 18 blank | 43 comment | 0 complexity | 3cb6401af51b491f89b670ff30306e14 MD5 | raw file
 1namespace EDUAR_SI_BusinessLogic
 2{
 3    /// <summary>
 4    /// Clase abstracta que sirve de base para los objetos comunes de BusinessLogic
 5    /// </summary>
 6    /// <typeparam name="TDataTransferObject">DTO</typeparam>
 7    /// <typeparam name="TDataAccessObject">DAO</typeparam>
 8    public abstract class BLTransaction<TDataTransferObject, TDataAccessObject> where TDataAccessObject : new()
 9    {
10        #region --[Atributos]--
11
12        protected TDataTransferObject data;
13        protected TDataAccessObject dataAcces;
14     
15        #endregion
16
17        #region --[Constructores]--
18
19        /// <summary>
20        /// Constructor vacio
21        /// </summary>
22        protected BLTransaction()
23        {
24            dataAcces = new TDataAccessObject();
25        }
26
27        #endregion
28
29        #region --[Propiedades Abstractas]--
30        /// <summary>
31        /// Propiedad para obtener/asignar el DAO.
32        /// </summary>
33        protected abstract TDataAccessObject DataAcces { get; set; }
34
35        /// <summary>
36        /// Propiedad para obtener/asignar el DTO.
37        /// </summary>
38        public abstract TDataTransferObject Data { get; set; }
39
40        /// <summary>
41        /// Propiedad para obtener/asignar el campo principal de la entidad
42        /// </summary>
43        public abstract string FieldId { get; }
44
45        /// <summary>
46        /// Propiedad para obtener/asignar el campo descripción de la entidad
47        /// </summary>
48        public abstract string FieldDescription { get; }
49
50        ///// <summary>
51        ///// Propiedad para obtener/asignar la lista de DTO.
52        ///// </summary>
53        //public abstract IList<TDataTransferObject> ListaData { get; set; }
54
55        #endregion
56
57        #region --[Métodos Abstract]--
58        /// <summary>
59        /// Método abstracto que debe ser implementado para obtener una entidad
60        /// </summary>
61        public abstract void GetById();
62
63        /// <summary>
64        /// Método abstracto que debe ser implementado para guardar la entidad
65        /// </summary>
66        public abstract void Save();
67
68        /// <summary>
69        /// Método abstracto que debe ser implementado para guardar la entidad utilizando la transacción
70        /// y conexión pasada
71        /// </summary>
72        /// <param name="objDATransaction">Objeto con la conexion a BD y la transaccion</param>
73        public abstract void Save(DATransaction objDATransaction);
74
75        /// <summary>
76        /// Método abstracto que debe ser implementado para eliminar la entidad
77        /// </summary>
78        public abstract void Delete();
79
80        /// <summary>
81        /// Método abstracto que debe ser implementado para eliminar la entidad utilizando la transacción
82        /// y conexión pasada
83        /// </summary>
84        /// <param name="objDATransaction">Objeto con la conexion a BD y la transaccion</param>
85        public abstract void Delete(DATransaction objDATransaction);
86
87        #endregion
88
89    }
90}