PageRenderTime 30ms CodeModel.GetById 14ms app.highlight 12ms RepoModel.GetById 2ms app.codeStats 0ms

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