PageRenderTime 38ms CodeModel.GetById 14ms app.highlight 19ms RepoModel.GetById 1ms app.codeStats 0ms

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