/Docs/07-Implementacion/Source/trunk/EDUAR_Regular/EDUAR/EDUAR_DataAccess/Common/DACitacion.cs

http://blpm.googlecode.com/ · C# · 249 lines · 208 code · 21 blank · 20 comment · 26 complexity · 79a7c5496b1f2fe63949599d67fe4f50 MD5 · raw file

  1. using System;
  2. using EDUAR_DataAccess.Shared;
  3. using EDUAR_Entities;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Data.SqlClient;
  7. using EDUAR_Utility.Excepciones;
  8. using EDUAR_Utility.Enumeraciones;
  9. namespace EDUAR_DataAccess.Common
  10. {
  11. public class DACitacion : DataAccesBase<Citacion>
  12. {
  13. #region --[Atributos]--
  14. private const string ClassName = "DACitacion";
  15. #endregion
  16. #region --[Constructor]--
  17. public DACitacion()
  18. {
  19. }
  20. public DACitacion(DATransaction objDATransaction)
  21. : base(objDATransaction)
  22. {
  23. }
  24. #endregion
  25. #region --[Implementación métodos heredados]--
  26. public override string FieldID
  27. {
  28. get { throw new NotImplementedException(); }
  29. }
  30. public override string FieldDescription
  31. {
  32. get { throw new NotImplementedException(); }
  33. }
  34. public override Citacion GetById(Citacion entidad)
  35. {
  36. throw new NotImplementedException();
  37. }
  38. public override void Create(Citacion entidad)
  39. {
  40. throw new NotImplementedException();
  41. }
  42. /// <summary>
  43. /// Creates the specified entidad.
  44. /// </summary>
  45. /// <param name="entidad">The entidad.</param>
  46. /// <param name="identificador">The identificador.</param>
  47. public override void Create(Citacion entidad, out int identificador)
  48. {
  49. try
  50. {
  51. Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("Citacion_Insert");
  52. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCitacion", DbType.Int32, 0);
  53. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idMotivoCitacion", DbType.Int32, entidad.motivoCitacion.idMotivoCitacion);
  54. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTutor", DbType.Int32, entidad.tutor.idTutor);
  55. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fecha", DbType.Date, entidad.fecha.Date.ToShortDateString());
  56. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@hora", DbType.Time, entidad.hora.ToShortTimeString());
  57. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.organizador.username);
  58. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@detalle", DbType.String, entidad.detalles);
  59. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@activo", DbType.Boolean, entidad.activo);
  60. if (Transaction.Transaction != null)
  61. Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand, Transaction.Transaction);
  62. else
  63. Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand);
  64. identificador = Int32.Parse(Transaction.DBcomand.Parameters["@idCitacion"].Value.ToString());
  65. }
  66. catch (SqlException ex)
  67. {
  68. throw new CustomizedException(string.Format("Fallo en {0} - Create()", ClassName),
  69. ex, enuExceptionType.SqlException);
  70. }
  71. catch (Exception ex)
  72. {
  73. throw new CustomizedException(string.Format("Fallo en {0} - Create()", ClassName),
  74. ex, enuExceptionType.DataAccesException);
  75. }
  76. }
  77. /// <summary>
  78. /// Updates the specified entidad.
  79. /// </summary>
  80. /// <param name="entidad">The entidad.</param>
  81. public override void Update(Citacion entidad)
  82. {
  83. try
  84. {
  85. Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("Citacion_Update");
  86. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCitacion", DbType.Int32, entidad.idCitacion);
  87. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idMotivoCitacion", DbType.Int32, entidad.motivoCitacion.idMotivoCitacion);
  88. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTutor", DbType.Int32, entidad.tutor.idTutor);
  89. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fecha", DbType.Date, entidad.fecha.Date.ToShortDateString());
  90. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@hora", DbType.Time, Convert.ToDateTime(entidad.hora.Hour + ":" + entidad.hora.Minute));
  91. //Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.organizador.username);
  92. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idOrganizador", DbType.Int32, entidad.organizador.IdPersonal);
  93. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@detalle", DbType.String, entidad.detalles);
  94. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@activo", DbType.Boolean, entidad.activo);
  95. if (Transaction.Transaction != null)
  96. Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand, Transaction.Transaction);
  97. else
  98. Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand);
  99. }
  100. catch (SqlException ex)
  101. {
  102. throw new CustomizedException(string.Format("Fallo en {0} - Update()", ClassName),
  103. ex, enuExceptionType.SqlException);
  104. }
  105. catch (Exception ex)
  106. {
  107. throw new CustomizedException(string.Format("Fallo en {0} - Update()", ClassName),
  108. ex, enuExceptionType.DataAccesException);
  109. }
  110. }
  111. public override void Delete(Citacion entidad)
  112. {
  113. throw new NotImplementedException();
  114. }
  115. #endregion
  116. #region --[Métodos Públicos]--
  117. /// <summary>
  118. /// Gets the citaciones.
  119. /// </summary>
  120. /// <param name="entidad">The entidad.</param>
  121. /// <returns></returns>
  122. public List<Citacion> GetCitaciones(Citacion entidad)
  123. {
  124. try
  125. {
  126. Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("Citacion_Select");
  127. if (entidad != null)
  128. {
  129. if (entidad.idCitacion > 0)
  130. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCitacion", DbType.Int32, entidad.idCitacion);
  131. if (entidad.motivoCitacion.idMotivoCitacion > 0)
  132. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idMotivoCitacion", DbType.Int32, entidad.motivoCitacion.idMotivoCitacion);
  133. if (entidad.tutor.idTutor > 0)
  134. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTutor", DbType.Int32, entidad.tutor.idTutor);
  135. if (!string.IsNullOrEmpty(entidad.organizador.username))
  136. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@usuario", DbType.String, entidad.organizador.username);
  137. if (!string.IsNullOrEmpty(entidad.detalles))
  138. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@detalle", DbType.String, entidad.detalles);
  139. if (entidad.activo)
  140. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@activo", DbType.Boolean, entidad.activo);
  141. if (ValidarFechaSQL(entidad.fechaEventoDesde))
  142. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fechaDesde", DbType.Date, entidad.fechaEventoDesde);
  143. if (ValidarFechaSQL(entidad.fechaEventoHasta))
  144. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fechaHasta", DbType.Date, entidad.fechaEventoHasta);
  145. if (!string.IsNullOrEmpty(entidad.tutor.username))
  146. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@usuarioTutor", DbType.String, entidad.tutor.username);
  147. }
  148. IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
  149. List<Citacion> listaCitaciones = new List<Citacion>();
  150. Citacion objCitacion;
  151. while (reader.Read())
  152. {
  153. objCitacion = new Citacion();
  154. objCitacion.idCitacion = Convert.ToInt32(reader["idCitacion"]);
  155. objCitacion.detalles = reader["detalle"].ToString();
  156. objCitacion.fecha = Convert.ToDateTime(reader["fecha"].ToString());
  157. if (!string.IsNullOrEmpty(reader["hora"].ToString()))
  158. objCitacion.hora = Convert.ToDateTime(reader["hora"].ToString());
  159. objCitacion.organizador.IdPersonal = Convert.ToInt32(reader["idOrganizador"]);
  160. objCitacion.organizador.nombre = reader["nombreOrganizador"].ToString();
  161. objCitacion.organizador.apellido = reader["apellidoOrganizador"].ToString();
  162. if (!string.IsNullOrEmpty(reader["usernameOrganizador"].ToString()))
  163. objCitacion.organizador.username = reader["usernameOrganizador"].ToString();
  164. objCitacion.tutor.idTutor = Convert.ToInt32(reader["idTutor"]);
  165. objCitacion.tutor.nombre = reader["nombreTutor"].ToString();
  166. objCitacion.tutor.apellido = reader["apellidoTutor"].ToString();
  167. objCitacion.motivoCitacion.idMotivoCitacion = Convert.ToInt32(reader["idMotivoCitacion"]);
  168. objCitacion.motivoCitacion.nombre = reader["motivoCitacion"].ToString();
  169. objCitacion.activo = Convert.ToBoolean(reader["activo"]);
  170. listaCitaciones.Add(objCitacion);
  171. }
  172. return listaCitaciones;
  173. }
  174. catch (SqlException ex)
  175. {
  176. throw new CustomizedException(string.Format("Fallo en {0} - GetCitaciones()", ClassName),
  177. ex, enuExceptionType.SqlException);
  178. }
  179. catch (Exception ex)
  180. {
  181. throw new CustomizedException(string.Format("Fallo en {0} - GetCitaciones()", ClassName),
  182. ex, enuExceptionType.DataAccesException);
  183. }
  184. }
  185. /// <summary>
  186. /// Verificars the disponibilidad.
  187. /// </summary>
  188. /// <param name="entidad">The entidad.</param>
  189. /// <returns></returns>
  190. public bool VerificarDisponibilidad(Citacion entidad)
  191. {
  192. try
  193. {
  194. Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("Citacion_Select");
  195. if (entidad != null)
  196. {
  197. if (entidad.idCitacion > 0)
  198. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCitacion", DbType.Int32, entidad.idCitacion);
  199. if (entidad.tutor.idTutor > 0)
  200. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTutor", DbType.Int32, entidad.tutor.idTutor);
  201. if (!string.IsNullOrEmpty(entidad.organizador.username))
  202. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.organizador.username);
  203. if (ValidarFechaSQL(entidad.fechaEventoDesde))
  204. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fecha", DbType.Date, entidad.fecha);
  205. if (!string.IsNullOrEmpty(entidad.hora.ToShortTimeString()))
  206. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@hora", DbType.Time, entidad.hora.ToShortTimeString());
  207. }
  208. IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
  209. while (reader.Read())
  210. {
  211. return false;
  212. }
  213. return true;
  214. }
  215. catch (SqlException ex)
  216. {
  217. throw new CustomizedException(string.Format("Fallo en {0} - VerificarDisponibilidad()", ClassName),
  218. ex, enuExceptionType.SqlException);
  219. }
  220. catch (Exception ex)
  221. {
  222. throw new CustomizedException(string.Format("Fallo en {0} - VerificarDisponibilidad()", ClassName),
  223. ex, enuExceptionType.DataAccesException);
  224. }
  225. }
  226. #endregion
  227. }
  228. }