/Docs/07-Implementacion/Source/trunk/EDUAR_Regular/EDUAR/EDUAR_BusinessLogic/Common/BLAlumno.cs

http://blpm.googlecode.com/ · C# · 337 lines · 264 code · 22 blank · 51 comment · 12 complexity · 327db8519888aa3a4441d60b6ff5273e MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using EDUAR_DataAccess.Common;
  6. using EDUAR_Entities;
  7. using EDUAR_BusinessLogic.Shared;
  8. using EDUAR_Entities.Shared;
  9. using EDUAR_Utility.Excepciones;
  10. using EDUAR_Utility.Enumeraciones;
  11. using EDUAR_DataAccess.Shared;
  12. namespace EDUAR_BusinessLogic.Common
  13. {
  14. public class BLAlumno : BusinessLogicBase<Alumno, DAAlumno>
  15. {
  16. #region --[Constante]--
  17. private const string ClassName = "BLAlumno";
  18. #endregion
  19. #region --[Constructores]--
  20. /// <summary>
  21. /// Constructor con DTO como parámetro.
  22. /// </summary>
  23. public BLAlumno(DTBase objAlumno)
  24. {
  25. Data = (Alumno)objAlumno;
  26. }
  27. /// <summary>
  28. /// Constructor vacio
  29. /// </summary>
  30. public BLAlumno()
  31. {
  32. Data = new Alumno();
  33. }
  34. #endregion
  35. #region --[Propiedades Override]--
  36. protected override sealed DAAlumno DataAcces
  37. {
  38. get { return dataAcces; }
  39. set { dataAcces = value; }
  40. }
  41. public override sealed Alumno Data
  42. {
  43. get { return data; }
  44. set { data = value; }
  45. }
  46. public override string FieldId
  47. {
  48. get { return DataAcces.FieldID; }
  49. }
  50. public override string FieldDescription
  51. {
  52. get { return DataAcces.FieldDescription; }
  53. }
  54. /// <summary>
  55. /// Gets the by id.
  56. /// </summary>
  57. public override void GetById()
  58. {
  59. try
  60. {
  61. Data = DataAcces.GetById(Data);
  62. }
  63. catch (CustomizedException ex)
  64. {
  65. throw ex;
  66. }
  67. catch (Exception ex)
  68. {
  69. throw new CustomizedException(string.Format("Fallo en {0} - GetById", ClassName), ex,
  70. enuExceptionType.BusinessLogicException);
  71. }
  72. }
  73. /// <summary>
  74. /// Método que guarda el registro actualmente cargado en memoria. No importa si se trata de una alta o modificación.
  75. /// </summary>
  76. public override void Save()
  77. {
  78. try
  79. {
  80. //Abre la transaccion que se va a utilizar
  81. DataAcces.Transaction.OpenTransaction();
  82. int idAlumno = 0;
  83. if (Data.idAlumno == 0)
  84. DataAcces.Create(Data, out idAlumno);
  85. else
  86. DataAcces.Update(Data);
  87. //Se da el OK para la transaccion.
  88. DataAcces.Transaction.CommitTransaction();
  89. }
  90. catch (CustomizedException ex)
  91. {
  92. if (DataAcces != null && DataAcces.Transaction != null)
  93. DataAcces.Transaction.RollbackTransaction();
  94. throw ex;
  95. }
  96. catch (Exception ex)
  97. {
  98. if (DataAcces != null && DataAcces.Transaction != null)
  99. DataAcces.Transaction.RollbackTransaction();
  100. throw new CustomizedException(string.Format("Fallo en {0} - Save()", ClassName), ex,
  101. enuExceptionType.BusinessLogicException);
  102. }
  103. }
  104. /// <summary>
  105. /// Método que guarda el registro actualmente cargado en memoria. No importa si se trata de una alta o modificación.
  106. /// </summary>
  107. public override void Save(DATransaction objDATransaction)
  108. {
  109. try
  110. {
  111. //Si no viene el Id es porque se esta creando la entidad
  112. DataAcces = new DAAlumno(objDATransaction);
  113. if (Data.idAlumno == 0)
  114. DataAcces.Create(Data);
  115. else
  116. {
  117. DataAcces.Update(Data);
  118. }
  119. }
  120. catch (CustomizedException ex)
  121. {
  122. throw ex;
  123. }
  124. catch (Exception ex)
  125. {
  126. throw new CustomizedException(string.Format("Fallo en {0} - Save()", ClassName), ex,
  127. enuExceptionType.BusinessLogicException);
  128. }
  129. }
  130. public override void Delete()
  131. {
  132. throw new NotImplementedException();
  133. }
  134. public override void Delete(DATransaction objDATransaction)
  135. {
  136. try
  137. {
  138. DataAcces = new DAAlumno(objDATransaction);
  139. DataAcces.Delete(Data);
  140. }
  141. catch (CustomizedException ex)
  142. {
  143. throw ex;
  144. }
  145. catch (Exception ex)
  146. {
  147. throw new CustomizedException(string.Format("Fallo en {0} - Delete()", ClassName), ex,
  148. enuExceptionType.BusinessLogicException);
  149. }
  150. }
  151. #endregion
  152. #region --[Métodos publicos]--
  153. /// <summary>
  154. /// Gets the alumnos.
  155. /// </summary>
  156. /// <param name="entidad">The entidad.</param>
  157. /// <returns></returns>
  158. public List<Alumno> GetAlumnos(AlumnoCurso entidad)
  159. {
  160. try
  161. {
  162. return DataAcces.GetAlumnos(entidad);
  163. }
  164. catch (CustomizedException ex)
  165. {
  166. throw ex;
  167. }
  168. catch (Exception ex)
  169. {
  170. throw new CustomizedException(string.Format("Fallo en {0} - GetAlumnos", ClassName), ex,
  171. enuExceptionType.BusinessLogicException);
  172. }
  173. }
  174. /// <summary>
  175. /// Gets the curso alumno.
  176. /// </summary>
  177. /// <returns></returns>
  178. public AlumnoCursoCicloLectivo GetCursoAlumno()
  179. {
  180. try
  181. {
  182. return DataAcces.GetCursoAlumno(Data);
  183. }
  184. catch (CustomizedException ex)
  185. {
  186. throw ex;
  187. }
  188. catch (Exception ex)
  189. {
  190. throw new CustomizedException(string.Format("Fallo en {0} - GetCursoAlumno", ClassName), ex,
  191. enuExceptionType.BusinessLogicException);
  192. }
  193. }
  194. /// <summary>
  195. /// Gets the docentes alumno.
  196. /// </summary>
  197. /// <returns></returns>
  198. public List<Persona> GetDocentesAlumno(CicloLectivo cicloLectivoActual)
  199. {
  200. try
  201. {
  202. AlumnoCursoCicloLectivo objAsignaturas = this.GetCursoActualAlumno(cicloLectivoActual);
  203. BLAsignatura objBLAsignatura = new BLAsignatura();
  204. Asignatura objAsignatura = new Asignatura();
  205. objAsignatura.cursoCicloLectivo = objAsignaturas.cursoCicloLectivo;
  206. List<Asignatura> listaAsignatura = objBLAsignatura.GetAsignaturasCurso(objAsignatura);
  207. Persona objDocente = null;
  208. List<Persona> listaDocentes = new List<Persona>();
  209. foreach (Asignatura item in listaAsignatura)
  210. {
  211. objDocente = new Persona();
  212. objDocente.nombre = item.docente.nombre;
  213. objDocente.apellido = item.docente.apellido;
  214. objDocente.idPersona = item.docente.idPersona;
  215. listaDocentes.Add(objDocente);
  216. }
  217. return listaDocentes;
  218. }
  219. catch (CustomizedException ex)
  220. {
  221. throw ex;
  222. }
  223. catch (Exception ex)
  224. {
  225. throw new CustomizedException(string.Format("Fallo en {0} - GetDocentesAlumno", ClassName), ex,
  226. enuExceptionType.BusinessLogicException);
  227. }
  228. }
  229. /// <summary>
  230. /// Gets the alumnos tutor.
  231. /// </summary>
  232. /// <returns></returns>
  233. public List<AlumnoCursoCicloLectivo> GetAlumnosTutor(CicloLectivo cicloLectivo)
  234. {
  235. try
  236. {
  237. return DataAcces.GetAlumnosTutor(Data, cicloLectivo.idCicloLectivo);
  238. }
  239. catch (CustomizedException ex)
  240. {
  241. throw ex;
  242. }
  243. catch (Exception ex)
  244. {
  245. throw new CustomizedException(string.Format("Fallo en {0} - GetAlumnosTutor", ClassName), ex,
  246. enuExceptionType.BusinessLogicException);
  247. }
  248. }
  249. /// <summary>
  250. /// Gets the curso actual alumno.
  251. /// </summary>
  252. /// <param name="cicloLectivo">The ciclo lectivo.</param>
  253. /// <returns></returns>
  254. public AlumnoCursoCicloLectivo GetCursoActualAlumno(CicloLectivo cicloLectivo)
  255. {
  256. try
  257. {
  258. return DataAcces.GetCursoAlumno(Data, cicloLectivo.idCicloLectivo);
  259. }
  260. catch (CustomizedException ex)
  261. {
  262. throw ex;
  263. }
  264. catch (Exception ex)
  265. {
  266. throw new CustomizedException(string.Format("Fallo en {0} - GetCursoActualAlumno", ClassName), ex,
  267. enuExceptionType.BusinessLogicException);
  268. }
  269. }
  270. /// <summary>
  271. /// Gets the asignaturas alumno.
  272. /// </summary>
  273. /// <param name="cicloLectivo">The ciclo lectivo.</param>
  274. /// <returns></returns>
  275. public List<AsignaturaCicloLectivo> GetAsignaturasAlumno(AlumnoCursoCicloLectivo alumnoCursoCicloLectivo)
  276. {
  277. try
  278. {
  279. //return DataAcces.GetCursoAlumno(Data, cicloLectivo.idCicloLectivo);
  280. return new List<AsignaturaCicloLectivo>();
  281. }
  282. catch (CustomizedException ex)
  283. {
  284. throw ex;
  285. }
  286. catch (Exception ex)
  287. {
  288. throw new CustomizedException(string.Format("Fallo en {0} - GetAsignaturasAlumno", ClassName), ex,
  289. enuExceptionType.BusinessLogicException);
  290. }
  291. }
  292. /// <summary>
  293. /// Gets the alumnos por niveles y ciclos lectivos.
  294. /// </summary>
  295. /// <param name="cicloLectivo">The ciclo lectivo.</param>
  296. /// <returns></returns>
  297. public List<Alumno> GetAlumnosNivelCicloLectivo(List<CicloLectivo> cicloLectivo, List<Nivel> nivel)
  298. {
  299. try
  300. {
  301. return DataAcces.GetAlumnosNivelCicloLectivo(cicloLectivo,nivel);
  302. }
  303. catch (CustomizedException ex)
  304. {
  305. throw ex;
  306. }
  307. catch (Exception ex)
  308. {
  309. throw new CustomizedException(string.Format("Fallo en {0} - GetAlumnosNivelCicloLectivo", ClassName), ex,
  310. enuExceptionType.BusinessLogicException);
  311. }
  312. }
  313. #endregion
  314. }
  315. }