PageRenderTime 56ms CodeModel.GetById 12ms app.highlight 38ms RepoModel.GetById 2ms app.codeStats 0ms

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

http://blpm.googlecode.com/
C# | 249 lines | 208 code | 21 blank | 20 comment | 26 complexity | 79a7c5496b1f2fe63949599d67fe4f50 MD5 | raw file
  1using System;
  2using EDUAR_DataAccess.Shared;
  3using EDUAR_Entities;
  4using System.Collections.Generic;
  5using System.Data;
  6using System.Data.SqlClient;
  7using EDUAR_Utility.Excepciones;
  8using EDUAR_Utility.Enumeraciones;
  9
 10namespace EDUAR_DataAccess.Common
 11{
 12	public class DACitacion : DataAccesBase<Citacion>
 13	{
 14		#region --[Atributos]--
 15		private const string ClassName = "DACitacion";
 16		#endregion
 17
 18		#region --[Constructor]--
 19		public DACitacion()
 20		{
 21		}
 22
 23		public DACitacion(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 Citacion GetById(Citacion entidad)
 42		{
 43			throw new NotImplementedException();
 44		}
 45
 46		public override void Create(Citacion entidad)
 47		{
 48			throw new NotImplementedException();
 49		}
 50
 51		/// <summary>
 52		/// Creates the specified entidad.
 53		/// </summary>
 54		/// <param name="entidad">The entidad.</param>
 55		/// <param name="identificador">The identificador.</param>
 56		public override void Create(Citacion entidad, out int identificador)
 57		{
 58			try
 59			{
 60				Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("Citacion_Insert");
 61
 62				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCitacion", DbType.Int32, 0);
 63				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idMotivoCitacion", DbType.Int32, entidad.motivoCitacion.idMotivoCitacion);
 64				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTutor", DbType.Int32, entidad.tutor.idTutor);
 65				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fecha", DbType.Date, entidad.fecha.Date.ToShortDateString());
 66				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@hora", DbType.Time, entidad.hora.ToShortTimeString());
 67				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.organizador.username);
 68				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@detalle", DbType.String, entidad.detalles);
 69				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@activo", DbType.Boolean, entidad.activo);
 70
 71				if (Transaction.Transaction != null)
 72					Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand, Transaction.Transaction);
 73				else
 74					Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand);
 75
 76				identificador = Int32.Parse(Transaction.DBcomand.Parameters["@idCitacion"].Value.ToString());
 77
 78			}
 79			catch (SqlException ex)
 80			{
 81				throw new CustomizedException(string.Format("Fallo en {0} - Create()", ClassName),
 82									ex, enuExceptionType.SqlException);
 83			}
 84			catch (Exception ex)
 85			{
 86				throw new CustomizedException(string.Format("Fallo en {0} - Create()", ClassName),
 87									ex, enuExceptionType.DataAccesException);
 88			}
 89		}
 90
 91		/// <summary>
 92		/// Updates the specified entidad.
 93		/// </summary>
 94		/// <param name="entidad">The entidad.</param>
 95		public override void Update(Citacion entidad)
 96		{
 97			try
 98			{
 99				Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("Citacion_Update");
100
101				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCitacion", DbType.Int32, entidad.idCitacion);
102				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idMotivoCitacion", DbType.Int32, entidad.motivoCitacion.idMotivoCitacion);
103				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTutor", DbType.Int32, entidad.tutor.idTutor);
104				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fecha", DbType.Date, entidad.fecha.Date.ToShortDateString());
105				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@hora", DbType.Time, Convert.ToDateTime(entidad.hora.Hour + ":" + entidad.hora.Minute));
106				//Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.organizador.username);
107				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idOrganizador", DbType.Int32, entidad.organizador.IdPersonal);
108				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@detalle", DbType.String, entidad.detalles);
109				Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@activo", DbType.Boolean, entidad.activo);
110
111				if (Transaction.Transaction != null)
112					Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand, Transaction.Transaction);
113				else
114					Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand);
115			}
116			catch (SqlException ex)
117			{
118				throw new CustomizedException(string.Format("Fallo en {0} - Update()", ClassName),
119									ex, enuExceptionType.SqlException);
120			}
121			catch (Exception ex)
122			{
123				throw new CustomizedException(string.Format("Fallo en {0} - Update()", ClassName),
124									ex, enuExceptionType.DataAccesException);
125			}
126		}
127
128		public override void Delete(Citacion entidad)
129		{
130			throw new NotImplementedException();
131		}
132		#endregion
133
134		#region --[Métodos Públicos]--
135		/// <summary>
136		/// Gets the citaciones.
137		/// </summary>
138		/// <param name="entidad">The entidad.</param>
139		/// <returns></returns>
140		public List<Citacion> GetCitaciones(Citacion entidad)
141		{
142			try
143			{
144				Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("Citacion_Select");
145				if (entidad != null)
146				{
147					if (entidad.idCitacion > 0)
148						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCitacion", DbType.Int32, entidad.idCitacion);
149					if (entidad.motivoCitacion.idMotivoCitacion > 0)
150						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idMotivoCitacion", DbType.Int32, entidad.motivoCitacion.idMotivoCitacion);
151					if (entidad.tutor.idTutor > 0)
152						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTutor", DbType.Int32, entidad.tutor.idTutor);
153					if (!string.IsNullOrEmpty(entidad.organizador.username))
154						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@usuario", DbType.String, entidad.organizador.username);
155					if (!string.IsNullOrEmpty(entidad.detalles))
156						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@detalle", DbType.String, entidad.detalles);
157					if (entidad.activo)
158						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@activo", DbType.Boolean, entidad.activo);
159					if (ValidarFechaSQL(entidad.fechaEventoDesde))
160						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fechaDesde", DbType.Date, entidad.fechaEventoDesde);
161					if (ValidarFechaSQL(entidad.fechaEventoHasta))
162						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fechaHasta", DbType.Date, entidad.fechaEventoHasta);
163					if (!string.IsNullOrEmpty(entidad.tutor.username))
164						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@usuarioTutor", DbType.String, entidad.tutor.username);
165				}
166				IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
167
168				List<Citacion> listaCitaciones = new List<Citacion>();
169				Citacion objCitacion;
170				while (reader.Read())
171				{
172					objCitacion = new Citacion();
173					objCitacion.idCitacion = Convert.ToInt32(reader["idCitacion"]);
174					objCitacion.detalles = reader["detalle"].ToString();
175					objCitacion.fecha = Convert.ToDateTime(reader["fecha"].ToString());
176					if (!string.IsNullOrEmpty(reader["hora"].ToString()))
177						objCitacion.hora = Convert.ToDateTime(reader["hora"].ToString());
178					objCitacion.organizador.IdPersonal = Convert.ToInt32(reader["idOrganizador"]);
179					objCitacion.organizador.nombre = reader["nombreOrganizador"].ToString();
180					objCitacion.organizador.apellido = reader["apellidoOrganizador"].ToString();
181					if (!string.IsNullOrEmpty(reader["usernameOrganizador"].ToString()))
182						objCitacion.organizador.username = reader["usernameOrganizador"].ToString();
183					objCitacion.tutor.idTutor = Convert.ToInt32(reader["idTutor"]);
184					objCitacion.tutor.nombre = reader["nombreTutor"].ToString();
185					objCitacion.tutor.apellido = reader["apellidoTutor"].ToString();
186					objCitacion.motivoCitacion.idMotivoCitacion = Convert.ToInt32(reader["idMotivoCitacion"]);
187					objCitacion.motivoCitacion.nombre = reader["motivoCitacion"].ToString();
188					objCitacion.activo = Convert.ToBoolean(reader["activo"]);
189					listaCitaciones.Add(objCitacion);
190				}
191				return listaCitaciones;
192			}
193			catch (SqlException ex)
194			{
195				throw new CustomizedException(string.Format("Fallo en {0} - GetCitaciones()", ClassName),
196									ex, enuExceptionType.SqlException);
197			}
198			catch (Exception ex)
199			{
200				throw new CustomizedException(string.Format("Fallo en {0} - GetCitaciones()", ClassName),
201									ex, enuExceptionType.DataAccesException);
202			}
203		}
204
205		/// <summary>
206		/// Verificars the disponibilidad.
207		/// </summary>
208		/// <param name="entidad">The entidad.</param>
209		/// <returns></returns>
210		public bool VerificarDisponibilidad(Citacion entidad)
211		{
212			try
213			{
214				Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("Citacion_Select");
215				if (entidad != null)
216				{
217					if (entidad.idCitacion > 0)
218						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idCitacion", DbType.Int32, entidad.idCitacion);
219					if (entidad.tutor.idTutor > 0)
220						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTutor", DbType.Int32, entidad.tutor.idTutor);
221					if (!string.IsNullOrEmpty(entidad.organizador.username))
222						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.organizador.username);
223					if (ValidarFechaSQL(entidad.fechaEventoDesde))
224						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fecha", DbType.Date, entidad.fecha);
225					if (!string.IsNullOrEmpty(entidad.hora.ToShortTimeString()))
226						Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@hora", DbType.Time, entidad.hora.ToShortTimeString());
227				}
228				IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
229
230				while (reader.Read())
231				{
232					return false;
233				}
234				return true;
235			}
236			catch (SqlException ex)
237			{
238				throw new CustomizedException(string.Format("Fallo en {0} - VerificarDisponibilidad()", ClassName),
239									ex, enuExceptionType.SqlException);
240			}
241			catch (Exception ex)
242			{
243				throw new CustomizedException(string.Format("Fallo en {0} - VerificarDisponibilidad()", ClassName),
244									ex, enuExceptionType.DataAccesException);
245			}
246		}
247		#endregion
248	}
249}