PageRenderTime 16ms CodeModel.GetById 12ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/Docs/07-Implementacion/Source/trunk/EDUAR_Regular/EDUAR/EDUAR_DataAccess/Shared/DataAccesBase.cs

http://blpm.googlecode.com/
C# | 93 lines | 45 code | 16 blank | 32 comment | 2 complexity | f998990c1ea4edd837be9d8d74baa300 MD5 | raw file
 1using System;
 2using System.Runtime.Serialization;
 3
 4namespace EDUAR_DataAccess.Shared
 5{
 6    /// <summary>
 7    /// Clase abstracta que sirve de base para los objetos comunes de DataAccesBase
 8    /// </summary>
 9    /// <typeparam name="TDataTransferObject">DTO de la entidad</typeparam>
10    public abstract class DataAccesBase<TDataTransferObject>
11    {
12        #region --[Propiedades]--
13        public DATransaction Transaction { get; set; }
14        #endregion
15
16        #region --[Constructores]--
17        protected DataAccesBase()
18        {
19            Transaction = new DATransaction();
20        }
21
22        protected DataAccesBase(DATransaction objDATransaction)
23        {
24            Transaction = objDATransaction;
25        }
26
27        protected virtual void Dispose()
28        {
29            //if (Transaction.Conection.State != System.Data.ConnectionState.Closed) Transaction.Conection.Close();
30            //Transaction.Conection.Dispose();
31        }
32        #endregion
33
34        #region --[Propiedades Abstractas]--
35
36        /// <summary>
37        /// Propiedad para obtener/asignar el campo principal de la entidad
38        /// </summary>
39        [DataMember]
40        public abstract string FieldID { get; }
41
42        /// <summary>
43        /// Propiedad para obtener/asignar el campo descripción de la entidad
44        /// </summary>
45        [DataMember]
46        public abstract string FieldDescription { get; }
47
48        #endregion
49
50        #region --[Métodos Abstract]--
51
52        /// <summary>
53        /// Método abstracto que debe ser implementado para obtener una entidad
54        /// </summary>
55        public abstract TDataTransferObject GetById(TDataTransferObject entidad);
56
57        /// <summary>
58        /// Método abstracto que debe ser implementado para guardar la entidad
59        /// </summary>
60        public abstract void Create(TDataTransferObject entidad);
61
62        /// <summary>
63        /// Método abstracto que debe ser implementado para guardar la entidad
64        /// </summary>
65        public abstract void Create(TDataTransferObject entidad, out Int32 identificador);
66
67        /// <summary>
68        /// Método abstracto que debe ser implementado para guardar la entidad
69        /// </summary>
70        public abstract void Update(TDataTransferObject entidad);
71
72        /// <summary>
73        /// Método abstracto que debe ser implementado para eliminar la entidad
74        /// </summary>
75        public abstract void Delete(TDataTransferObject entidad);
76
77        #endregion
78
79        #region --[Métodos Públicos]--
80        /// <summary>
81        /// Validars the fecha SQL.
82        /// </summary>
83        /// <param name="fecha">The fecha.</param>
84        /// <returns></returns>
85        public static bool ValidarFechaSQL(DateTime fecha)
86        {
87            if (fecha.Year < 1753 || fecha.Year > 9999)
88                return false;
89            return true;
90        }
91        #endregion
92    }
93}