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

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

http://blpm.googlecode.com/
C# | 319 lines | 263 code | 28 blank | 28 comment | 35 complexity | 7b739f2490fa1955794f668fba1873e6 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.curso.idCurso = Convert.ToInt32(reader["idCursoCicloLectivo"]);
184					objAlumnoCurso.cursoCicloLectivo.idCursoCicloLectivo = Convert.ToInt32(reader["idCursoCicloLectivo"]);
185					objAlumnoCurso.cursoCicloLectivo.curso.nombre = reader["curso"].ToString();
186					objAlumnoCurso.cursoCicloLectivo.curso.nivel.nombre = reader["nivel"].ToString();
187					return objAlumnoCurso;
188				}
189				return null;
190			}
191			catch (SqlException ex)
192			{
193				throw new CustomizedException(string.Format("Fallo en {0} - GetCursoAlumno()", ClassName),
194									ex, enuExceptionType.SqlException);
195			}
196			catch (Exception ex)
197			{
198				throw new CustomizedException(string.Format("Fallo en {0} - GetCursoAlumno()", ClassName),
199									ex, enuExceptionType.DataAccesException);
200			}
201		}
202
203		/// <summary>
204		/// Gets the curso alumno.
205		/// </summary>
206		/// <param name="entidad">The entidad.</param>
207		/// <returns></returns>
208		public List<AlumnoCursoCicloLectivo> GetAlumnosTutor(Alumno entidad, int idCicloLectivo)
209		{
210			try
211			{
212				Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("TutorAlumnosPorCurso_Select");
213				if (entidad != null)
214				{
215					if (!string.IsNullOrEmpty(entidad.username))
216						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.username);
217					if (entidad.idAlumno > 0)
218						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idAlumno", DbType.Int32, entidad.idAlumno);
219					if (idCicloLectivo > 0)
220						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCicloLectivo", DbType.Int32, idCicloLectivo);
221					if (entidad.listaTutores.Count > 0 && !string.IsNullOrEmpty(entidad.listaTutores[0].username))
222						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@usernameTutor", DbType.String, entidad.listaTutores[0].username);
223				}
224
225				IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
226				List<AlumnoCursoCicloLectivo> listaAlumnos = new List<AlumnoCursoCicloLectivo>();
227				AlumnoCursoCicloLectivo objAlumnoCurso = null;
228				while (reader.Read())
229				{
230					objAlumnoCurso = new AlumnoCursoCicloLectivo();
231					objAlumnoCurso.alumno.idAlumno = Convert.ToInt32(reader["idAlumno"]);
232					objAlumnoCurso.alumno.nombre = reader["nombre"].ToString();
233					objAlumnoCurso.alumno.apellido = reader["apellido"].ToString();
234					if (!string.IsNullOrEmpty(reader["fechaAlta"].ToString()))
235						objAlumnoCurso.alumno.fechaAlta = (DateTime)reader["fechaAlta"];
236					if (!string.IsNullOrEmpty(reader["fechaBaja"].ToString()))
237						objAlumnoCurso.alumno.fechaBaja = (DateTime)reader["fechaBaja"];
238					objAlumnoCurso.alumno.activo = Convert.ToBoolean(reader["activo"]);
239					objAlumnoCurso.alumno.idPersona = Convert.ToInt32(reader["idPersona"]);
240					//objAlumnoCurso.curso.idCurso = Convert.ToInt32(reader["idCursoCicloLectivo"]);
241					objAlumnoCurso.cursoCicloLectivo.idCursoCicloLectivo = Convert.ToInt32(reader["idCursoCicloLectivo"]);
242					objAlumnoCurso.cursoCicloLectivo.curso.nombre = reader["curso"].ToString();
243					objAlumnoCurso.cursoCicloLectivo.curso.nivel.nombre = reader["nivel"].ToString();
244					listaAlumnos.Add(objAlumnoCurso);
245				}
246				return listaAlumnos;
247			}
248			catch (SqlException ex)
249			{
250				throw new CustomizedException(string.Format("Fallo en {0} - GetCursoAlumno()", ClassName),
251									ex, enuExceptionType.SqlException);
252			}
253			catch (Exception ex)
254			{
255				throw new CustomizedException(string.Format("Fallo en {0} - GetCursoAlumno()", ClassName),
256									ex, enuExceptionType.DataAccesException);
257			}
258		}
259
260        /// <summary>
261        /// Gets the alumnos por niveles y ciclos lectivos.
262        /// </summary>
263        /// <param name="entidad">The entidad.</param>
264        /// <returns></returns>
265        public List<Alumno> GetAlumnosNivelCicloLectivo(List<CicloLectivo> cicloLectivo, List<Nivel> nivel)
266        {
267            try
268            {
269                Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("AlumnosPorNivelCicloLectivo_select");
270                if (cicloLectivo != null && nivel != null)
271                {
272                    string ciclosLectivosParam = string.Empty;
273                    if (cicloLectivo.Count > 0)
274                    {
275                        foreach (CicloLectivo unCicloLectivo in cicloLectivo)
276                            ciclosLectivosParam += string.Format("{0},", unCicloLectivo.idCicloLectivo);
277
278                        ciclosLectivosParam = ciclosLectivosParam.Substring(0, ciclosLectivosParam.Length - 1);
279                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@listaCicloLectivo", DbType.String, ciclosLectivosParam);
280                    }
281
282                    string nivelesParam = string.Empty;
283                    if (nivel.Count > 0)
284                    {
285                        foreach (Nivel unNivel in nivel)
286                            nivelesParam += string.Format("{0},", unNivel.idNivel);
287
288                        nivelesParam = nivelesParam.Substring(0, nivelesParam.Length - 1);
289                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@listaNivel", DbType.String, nivelesParam);
290                    }
291                }
292
293                IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
294                List<Alumno> listaAlumnos = new List<Alumno>();
295                Alumno objAlumno = null;
296                while (reader.Read())
297                {
298                    objAlumno = new Alumno();
299                    objAlumno.idAlumno = Convert.ToInt32(reader["idAlumno"]);
300                    objAlumno.nombre = reader["Nombre"].ToString();
301                    
302                    listaAlumnos.Add(objAlumno);
303                }
304                return listaAlumnos;
305            }
306            catch (SqlException ex)
307            {
308                throw new CustomizedException(string.Format("Fallo en {0} - GetAlumnosNivelCicloLectivo()", ClassName),
309                                    ex, enuExceptionType.SqlException);
310            }
311            catch (Exception ex)
312            {
313                throw new CustomizedException(string.Format("Fallo en {0} - GetAlumnosNivelCicloLectivo()", ClassName),
314                                    ex, enuExceptionType.DataAccesException);
315            }
316        }
317		#endregion
318	}
319}