/Docs/07-Implementacion/Source/trunk/EDUAR_actual/EDUAR/EDUAR_DataAccess/Common/DAAlumno.cs

http://blpm.googlecode.com/ · C# · 317 lines · 263 code · 28 blank · 26 comment · 35 complexity · a82582949638321ed4a71b665125e246 MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.SqlClient;
  5. using EDUAR_DataAccess.Shared;
  6. using EDUAR_Entities;
  7. using EDUAR_Utility.Enumeraciones;
  8. using EDUAR_Utility.Excepciones;
  9. namespace EDUAR_DataAccess.Common
  10. {
  11. public class DAAlumno : DataAccesBase<Alumno>
  12. {
  13. #region --[Atributos]--
  14. private const string ClassName = "DAAlumno";
  15. #endregion
  16. #region --[Constructor]--
  17. public DAAlumno()
  18. {
  19. }
  20. public DAAlumno(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 Alumno GetById(Alumno entidad)
  35. {
  36. throw new NotImplementedException();
  37. }
  38. public override void Create(Alumno entidad)
  39. {
  40. throw new NotImplementedException();
  41. }
  42. public override void Create(Alumno entidad, out int identificador)
  43. {
  44. throw new NotImplementedException();
  45. }
  46. public override void Update(Alumno entidad)
  47. {
  48. throw new NotImplementedException();
  49. }
  50. public override void Delete(Alumno entidad)
  51. {
  52. throw new NotImplementedException();
  53. }
  54. #endregion
  55. #region --[Métodos Públicos]--
  56. /// <summary>
  57. /// Gets the alumnos.
  58. /// </summary>
  59. /// <param name="entidad">The entidad.</param>
  60. /// <returns></returns>
  61. public List<Alumno> GetAlumnos(AlumnoCurso entidad)
  62. {
  63. try
  64. {
  65. Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("AlumnosPorCurso_Select");
  66. if (entidad != null)
  67. {
  68. if (entidad.alumno.idAlumno > 0)
  69. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idAlumno", DbType.Int32, entidad.alumno.idAlumno);
  70. if (entidad.curso.idCurso > 0)
  71. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCurso", DbType.Int32, entidad.curso.idCurso);
  72. if (!string.IsNullOrEmpty(entidad.alumno.username))
  73. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.alumno.username);
  74. }
  75. IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
  76. List<Alumno> listaAlumnos = new List<Alumno>();
  77. Alumno objAlumno;
  78. while (reader.Read())
  79. {
  80. objAlumno = new Alumno();
  81. objAlumno.idAlumno = Convert.ToInt32(reader["idAlumno"]);
  82. objAlumno.nombre = reader["nombre"].ToString();
  83. objAlumno.apellido = reader["apellido"].ToString();
  84. if (!string.IsNullOrEmpty(reader["fechaAlta"].ToString()))
  85. objAlumno.fechaAlta = (DateTime)reader["fechaAlta"];
  86. if (!string.IsNullOrEmpty(reader["fechaBaja"].ToString()))
  87. objAlumno.fechaBaja = (DateTime)reader["fechaBaja"];
  88. objAlumno.activo = Convert.ToBoolean(reader["activo"]);
  89. objAlumno.idPersona = Convert.ToInt32(reader["idPersona"]);
  90. //TODO: Completar los miembros que faltan de alumno
  91. listaAlumnos.Add(objAlumno);
  92. }
  93. return listaAlumnos;
  94. }
  95. catch (SqlException ex)
  96. {
  97. throw new CustomizedException(string.Format("Fallo en {0} - GetAlumnosPorCurso()", ClassName),
  98. ex, enuExceptionType.SqlException);
  99. }
  100. catch (Exception ex)
  101. {
  102. throw new CustomizedException(string.Format("Fallo en {0} - GetalumnosPorCurso()", ClassName),
  103. ex, enuExceptionType.DataAccesException);
  104. }
  105. }
  106. /// <summary>
  107. /// Gets the curso alumno.
  108. /// </summary>
  109. /// <param name="entidad">The entidad.</param>
  110. /// <returns></returns>
  111. public AlumnoCursoCicloLectivo GetCursoAlumno(Alumno entidad)
  112. {
  113. try
  114. {
  115. return GetCursoAlumno(entidad, 0);
  116. }
  117. catch (SqlException ex)
  118. {
  119. throw new CustomizedException(string.Format("Fallo en {0} - GetCursoAlumno()", ClassName),
  120. ex, enuExceptionType.SqlException);
  121. }
  122. catch (Exception ex)
  123. {
  124. throw new CustomizedException(string.Format("Fallo en {0} - GetCursoAlumno()", ClassName),
  125. ex, enuExceptionType.DataAccesException);
  126. }
  127. }
  128. /// <summary>
  129. /// Gets the curso alumno.
  130. /// </summary>
  131. /// <param name="entidad">The entidad.</param>
  132. /// <returns></returns>
  133. public AlumnoCursoCicloLectivo GetCursoAlumno(Alumno entidad, int idCicloLectivo)
  134. {
  135. try
  136. {
  137. Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("AlumnosPorCurso_Select");
  138. if (entidad != null)
  139. {
  140. if (!string.IsNullOrEmpty(entidad.username))
  141. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.username);
  142. if (entidad.idAlumno > 0)
  143. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idAlumno", DbType.Int32, entidad.idAlumno);
  144. if (idCicloLectivo > 0)
  145. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCicloLectivo", DbType.Int32, idCicloLectivo);
  146. if (entidad.listaTutores.Count > 0 && !string.IsNullOrEmpty(entidad.listaTutores[0].username))
  147. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@usernameTutor", DbType.String, entidad.listaTutores[0].username);
  148. }
  149. IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
  150. AlumnoCursoCicloLectivo objAlumnoCurso = null;
  151. while (reader.Read())
  152. {
  153. objAlumnoCurso = new AlumnoCursoCicloLectivo();
  154. objAlumnoCurso.alumno.idAlumno = Convert.ToInt32(reader["idAlumno"]);
  155. objAlumnoCurso.alumno.nombre = reader["nombre"].ToString();
  156. objAlumnoCurso.alumno.apellido = reader["apellido"].ToString();
  157. if (!string.IsNullOrEmpty(reader["fechaAlta"].ToString()))
  158. objAlumnoCurso.alumno.fechaAlta = (DateTime)reader["fechaAlta"];
  159. if (!string.IsNullOrEmpty(reader["fechaBaja"].ToString()))
  160. objAlumnoCurso.alumno.fechaBaja = (DateTime)reader["fechaBaja"];
  161. objAlumnoCurso.alumno.activo = Convert.ToBoolean(reader["activo"]);
  162. objAlumnoCurso.alumno.idPersona = Convert.ToInt32(reader["idPersona"]);
  163. objAlumnoCurso.cursoCicloLectivo.idCursoCicloLectivo = Convert.ToInt32(reader["idCursoCicloLectivo"]);
  164. objAlumnoCurso.cursoCicloLectivo.curso.nombre = reader["curso"].ToString();
  165. objAlumnoCurso.cursoCicloLectivo.curso.nivel.nombre = reader["nivel"].ToString();
  166. return objAlumnoCurso;
  167. }
  168. return null;
  169. }
  170. catch (SqlException ex)
  171. {
  172. throw new CustomizedException(string.Format("Fallo en {0} - GetCursoAlumno()", ClassName),
  173. ex, enuExceptionType.SqlException);
  174. }
  175. catch (Exception ex)
  176. {
  177. throw new CustomizedException(string.Format("Fallo en {0} - GetCursoAlumno()", ClassName),
  178. ex, enuExceptionType.DataAccesException);
  179. }
  180. }
  181. /// <summary>
  182. /// Gets the curso alumno.
  183. /// </summary>
  184. /// <param name="entidad">The entidad.</param>
  185. /// <returns></returns>
  186. public List<AlumnoCursoCicloLectivo> GetAlumnosTutor(Alumno entidad, int idCicloLectivo)
  187. {
  188. try
  189. {
  190. Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("TutorAlumnosPorCurso_Select");
  191. if (entidad != null)
  192. {
  193. if (!string.IsNullOrEmpty(entidad.username))
  194. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.username);
  195. if (entidad.idAlumno > 0)
  196. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idAlumno", DbType.Int32, entidad.idAlumno);
  197. if (idCicloLectivo > 0)
  198. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCicloLectivo", DbType.Int32, idCicloLectivo);
  199. if (entidad.listaTutores.Count > 0 && !string.IsNullOrEmpty(entidad.listaTutores[0].username))
  200. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@usernameTutor", DbType.String, entidad.listaTutores[0].username);
  201. }
  202. IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
  203. List<AlumnoCursoCicloLectivo> listaAlumnos = new List<AlumnoCursoCicloLectivo>();
  204. AlumnoCursoCicloLectivo objAlumnoCurso = null;
  205. while (reader.Read())
  206. {
  207. objAlumnoCurso = new AlumnoCursoCicloLectivo();
  208. objAlumnoCurso.alumno.idAlumno = Convert.ToInt32(reader["idAlumno"]);
  209. objAlumnoCurso.alumno.nombre = reader["nombre"].ToString();
  210. objAlumnoCurso.alumno.apellido = reader["apellido"].ToString();
  211. if (!string.IsNullOrEmpty(reader["fechaAlta"].ToString()))
  212. objAlumnoCurso.alumno.fechaAlta = (DateTime)reader["fechaAlta"];
  213. if (!string.IsNullOrEmpty(reader["fechaBaja"].ToString()))
  214. objAlumnoCurso.alumno.fechaBaja = (DateTime)reader["fechaBaja"];
  215. objAlumnoCurso.alumno.activo = Convert.ToBoolean(reader["activo"]);
  216. objAlumnoCurso.alumno.idPersona = Convert.ToInt32(reader["idPersona"]);
  217. objAlumnoCurso.cursoCicloLectivo.idCursoCicloLectivo = Convert.ToInt32(reader["idCursoCicloLectivo"]);
  218. objAlumnoCurso.cursoCicloLectivo.curso.nombre = reader["curso"].ToString();
  219. objAlumnoCurso.cursoCicloLectivo.curso.nivel.nombre = reader["nivel"].ToString();
  220. listaAlumnos.Add(objAlumnoCurso);
  221. }
  222. return listaAlumnos;
  223. }
  224. catch (SqlException ex)
  225. {
  226. throw new CustomizedException(string.Format("Fallo en {0} - GetCursoAlumno()", ClassName),
  227. ex, enuExceptionType.SqlException);
  228. }
  229. catch (Exception ex)
  230. {
  231. throw new CustomizedException(string.Format("Fallo en {0} - GetCursoAlumno()", ClassName),
  232. ex, enuExceptionType.DataAccesException);
  233. }
  234. }
  235. /// <summary>
  236. /// Gets the alumnos por niveles y ciclos lectivos.
  237. /// </summary>
  238. /// <param name="entidad">The entidad.</param>
  239. /// <returns></returns>
  240. public List<Alumno> GetAlumnosNivelCicloLectivo(List<CicloLectivo> cicloLectivo, List<Nivel> nivel)
  241. {
  242. try
  243. {
  244. Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("AlumnosPorNivelCicloLectivo_select");
  245. if (cicloLectivo != null && nivel != null)
  246. {
  247. string ciclosLectivosParam = string.Empty;
  248. if (cicloLectivo.Count > 0)
  249. {
  250. foreach (CicloLectivo unCicloLectivo in cicloLectivo)
  251. ciclosLectivosParam += string.Format("{0},", unCicloLectivo.idCicloLectivo);
  252. ciclosLectivosParam = ciclosLectivosParam.Substring(0, ciclosLectivosParam.Length - 1);
  253. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@listaCicloLectivo", DbType.String, ciclosLectivosParam);
  254. }
  255. string nivelesParam = string.Empty;
  256. if (nivel.Count > 0)
  257. {
  258. foreach (Nivel unNivel in nivel)
  259. nivelesParam += string.Format("{0},", unNivel.idNivel);
  260. nivelesParam = nivelesParam.Substring(0, nivelesParam.Length - 1);
  261. Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@listaNivel", DbType.String, nivelesParam);
  262. }
  263. }
  264. IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
  265. List<Alumno> listaAlumnos = new List<Alumno>();
  266. Alumno objAlumno = null;
  267. while (reader.Read())
  268. {
  269. objAlumno = new Alumno();
  270. objAlumno.idAlumno = Convert.ToInt32(reader["idAlumno"]);
  271. objAlumno.nombre = reader["Nombre"].ToString();
  272. listaAlumnos.Add(objAlumno);
  273. }
  274. return listaAlumnos;
  275. }
  276. catch (SqlException ex)
  277. {
  278. throw new CustomizedException(string.Format("Fallo en {0} - GetAlumnosNivelCicloLectivo()", ClassName),
  279. ex, enuExceptionType.SqlException);
  280. }
  281. catch (Exception ex)
  282. {
  283. throw new CustomizedException(string.Format("Fallo en {0} - GetAlumnosNivelCicloLectivo()", ClassName),
  284. ex, enuExceptionType.DataAccesException);
  285. }
  286. }
  287. #endregion
  288. }
  289. }