/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

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