PageRenderTime 51ms CodeModel.GetById 15ms app.highlight 30ms RepoModel.GetById 1ms app.codeStats 0ms

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

http://blpm.googlecode.com/
C# | 272 lines | 244 code | 28 blank | 0 comment | 26 complexity | bf46ad966059a1f9138858883a07a455 MD5 | raw file
  1using System;
  2using System.Collections.Generic;
  3using System.Linq;
  4using System.Text;
  5using EDUAR_Entities;
  6using EDUAR_DataAccess.Shared;
  7using System.Data;
  8using System.Data.SqlClient;
  9using EDUAR_Utility.Excepciones;
 10using EDUAR_Utility.Enumeraciones;
 11using EDUAR_Utility.Constantes;
 12
 13namespace EDUAR_DataAccess.Common
 14{
 15    public class DAEventoInstitucional : DataAccesBase<EventoInstitucional>
 16    {
 17        #region --[Atributos]--
 18        private const string ClassName = "DAEventoInstitucional";
 19        #endregion
 20
 21        #region --[Constructor]--
 22        public DAEventoInstitucional()
 23        {
 24        }
 25
 26        public DAEventoInstitucional(DATransaction objDATransaction)
 27            : base(objDATransaction)
 28        {
 29
 30        }
 31        #endregion
 32
 33        #region --[Implementación métodos heredados]--
 34        public override string FieldID
 35        {
 36            get { throw new NotImplementedException(); }
 37        }
 38
 39        public override string FieldDescription
 40        {
 41            get { throw new NotImplementedException(); }
 42        }
 43
 44        public override EventoInstitucional GetById(EventoInstitucional entidad)
 45        {
 46            try
 47            {
 48                Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("EventoInstitucional_Select");
 49
 50                if (entidad.idEventoInstitucional > 0)
 51                    Transaction.DataBase.AddInParameter(Transaction.DBcomand, "idEventoInstitucional", DbType.Int32, entidad.idEventoInstitucional);
 52
 53                IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
 54
 55                EventoInstitucional objEvento = new EventoInstitucional();
 56                while (reader.Read())
 57                {
 58                    objEvento.idEventoInstitucional = Convert.ToInt32(reader["idEventoInstitucional"]);
 59                    objEvento.fecha = Convert.ToDateTime(reader["fecha"].ToString());
 60                    objEvento.hora = Convert.ToDateTime(reader["hora"].ToString());
 61                    objEvento.lugar = reader["lugar"].ToString();
 62                    objEvento.tipoEventoInstitucional = new TipoEventoInstitucional() { idTipoEventoInstitucional = Convert.ToInt32((reader["idTipoEvento"])), descripcion = reader["tipoEvento"].ToString() };
 63                    objEvento.organizador = new Persona() { idPersona =  Convert.ToInt32(reader["idPersona"]), nombre = reader["nombreOrganizador"].ToString(), apellido = reader["apellidoOrganizador"].ToString() };
 64                    objEvento.titulo = reader["titulo"].ToString();
 65                    objEvento.detalle = reader["detalle"].ToString();
 66                    objEvento.activo = (bool)(reader["activo"]);
 67                }
 68                return objEvento;
 69            }
 70            catch (SqlException ex)
 71            {
 72                throw new CustomizedException(string.Format("Fallo en {0} - GetEventoInstitucional()", ClassName),
 73                                    ex, enuExceptionType.SqlException);
 74            }
 75            catch (Exception ex)
 76            {
 77                throw new CustomizedException(string.Format("Fallo en {0} - GetEventoInstitucional()", ClassName),
 78                                    ex, enuExceptionType.DataAccesException);
 79            }
 80        }
 81
 82        public override void Create(EventoInstitucional entidad)
 83        {
 84            try
 85            {
 86                Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("EventoInstitucional_Insert");
 87
 88                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idEventoInstitucional", DbType.Int32, 0);
 89                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTipoEvento", DbType.Int32, entidad.tipoEventoInstitucional.idTipoEventoInstitucional);
 90                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idPersona", DbType.Int32, entidad.organizador.idPersona);
 91                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fecha", DbType.Date, entidad.fecha);
 92                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@hora", DbType.Time, Convert.ToDateTime(entidad.hora).ToShortTimeString());
 93                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@lugar", DbType.String, entidad.lugar);
 94                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@titulo", DbType.String, entidad.titulo);
 95                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@detalle", DbType.String, entidad.detalle);
 96                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@activo", DbType.String, entidad.activo);
 97
 98                if (Transaction.Transaction != null)
 99                    Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand, Transaction.Transaction);
100                else
101                    Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand);
102            }
103            catch (SqlException ex)
104            {
105                throw new CustomizedException(string.Format("Fallo en {0} - Create()", ClassName),
106                                    ex, enuExceptionType.SqlException);
107            }
108            catch (Exception ex)
109            {
110                throw new CustomizedException(string.Format("Fallo en {0} - Create()", ClassName),
111                                    ex, enuExceptionType.DataAccesException);
112            }
113        }
114
115        public override void Create(EventoInstitucional entidad, out int identificador)
116        {
117            try
118            {
119                Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("EventoInstitucional_Insert");
120
121                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idEventoInstitucional", DbType.Int32,0);
122                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTipoEvento", DbType.Int32, entidad.tipoEventoInstitucional.idTipoEventoInstitucional);
123                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.organizador.username);
124                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fecha", DbType.Date, entidad.fecha);
125                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@hora", DbType.Time, Convert.ToDateTime(entidad.hora).ToShortTimeString());
126                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@lugar", DbType.String, entidad.lugar);
127                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@titulo", DbType.String, entidad.titulo);
128                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@detalle", DbType.String, entidad.detalle);
129                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@activo", DbType.String, entidad.activo);
130
131                if (Transaction.Transaction != null)
132                    Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand, Transaction.Transaction);
133                else
134                    Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand);
135
136                identificador = Int32.Parse(Transaction.DBcomand.Parameters["@idEventoInstitucional"].Value.ToString());
137
138            }
139            catch (SqlException ex)
140            {
141                throw new CustomizedException(string.Format("Fallo en {0} - Create()", ClassName),
142                                    ex, enuExceptionType.SqlException);
143            }
144            catch (Exception ex)
145            {
146                throw new CustomizedException(string.Format("Fallo en {0} - Create()", ClassName),
147                                    ex, enuExceptionType.DataAccesException);
148            }
149        }
150
151        public override void Update(EventoInstitucional entidad)
152        {
153            try
154            {
155                Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("EventoInstitucional_Update");
156
157                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idEventoInstitucional", DbType.Int32, entidad.idEventoInstitucional);
158                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTipoEvento", DbType.Int32, entidad.tipoEventoInstitucional.idTipoEventoInstitucional);
159                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@username", DbType.String, entidad.organizador.username);
160                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fecha", DbType.Date, entidad.fecha);
161                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@hora", DbType.Time, Convert.ToDateTime(entidad.hora).ToShortTimeString());
162                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@lugar", DbType.String, entidad.lugar);
163                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@titulo", DbType.String, entidad.titulo);
164                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@detalle", DbType.String, entidad.detalle);
165                Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@activo", DbType.String, entidad.activo);
166
167                if (Transaction.Transaction != null)
168                    Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand, Transaction.Transaction);
169                else
170                    Transaction.DataBase.ExecuteNonQuery(Transaction.DBcomand);
171            }
172            catch (SqlException ex)
173            {
174                if (ex.Number == BLConstantesGenerales.ConcurrencyErrorNumber)
175                    throw new CustomizedException(string.Format(
176                           "No se puede modificar el Evento {0}, debido a que otro usuario lo ha modificado.",
177                           entidad.titulo), ex, enuExceptionType.ConcurrencyException);
178
179                throw new CustomizedException(string.Format("Fallo en {0} - Update()", ClassName),
180                                                      ex, enuExceptionType.SqlException);
181            }
182            catch (Exception ex)
183            {
184                throw new CustomizedException(string.Format("Fallo en {0} - Update()", ClassName),
185                                                      ex, enuExceptionType.DataAccesException);
186            }
187        }
188
189        public override void Delete(EventoInstitucional entidad)
190        {
191            throw new NotImplementedException();
192        }
193        #endregion
194
195        #region --[Métodos Públicos]--
196        public List<EventoInstitucional> GetEventoInstitucional(EventoInstitucional entidad)
197        {
198            try
199            {
200                Transaction.DBcomand = Transaction.DataBase.GetStoredProcCommand("EventoInstitucional_Select");
201                if (entidad != null)
202                {
203                    if (entidad.idEventoInstitucional > 0)
204                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idEventoInstitucional", DbType.Int32, entidad.idEventoInstitucional);
205                    if (entidad.tipoEventoInstitucional.idTipoEventoInstitucional > 0)
206                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idTipoEvento", DbType.Int32, entidad.tipoEventoInstitucional.idTipoEventoInstitucional);
207                    if (entidad.organizador.Equals(null))
208                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@idPersona", DbType.String, entidad.organizador.idPersona);
209                    if (ValidarFechaSQL(entidad.fecha))
210                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fecha", DbType.Date, entidad.fecha.ToShortDateString());
211                    if (ValidarFechaSQL(entidad.fechaDesde))
212                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fechaDesde", DbType.Date, entidad.fechaDesde.ToShortDateString());
213                    if (ValidarFechaSQL(entidad.fechaHasta))
214                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@fechaHasta", DbType.Date, entidad.fechaHasta.ToShortDateString());
215                    if (entidad.hora != null)
216                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@hora", DbType.Time, Convert.ToDateTime(String.Format("{0:HH:mm}",entidad.hora)).ToShortTimeString());
217                    if (!string.IsNullOrEmpty(entidad.lugar))
218                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@lugar", DbType.String, entidad.lugar);
219                    if (!string.IsNullOrEmpty(entidad.titulo))
220                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@titulo", DbType.String, entidad.titulo);
221                    if (!string.IsNullOrEmpty(entidad.detalle))
222                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@detalle", DbType.String, entidad.detalle);
223                    if (entidad.activo)
224                        Transaction.DataBase.AddInParameter(Transaction.DBcomand, "@activo", DbType.String, entidad.activo);
225                }
226                IDataReader reader = Transaction.DataBase.ExecuteReader(Transaction.DBcomand);
227
228                List<EventoInstitucional> listEventoInstitucional = new List<EventoInstitucional>();
229                EventoInstitucional objEvento;
230
231                while (reader.Read())
232                {
233                    objEvento = new EventoInstitucional();
234
235                    objEvento.idEventoInstitucional = Convert.ToInt32(reader["idEventoInstitucional"]);
236                    objEvento.fecha = Convert.ToDateTime(reader["fecha"].ToString());
237                    if (!string.IsNullOrEmpty(reader["hora"].ToString()))
238                        objEvento.hora = Convert.ToDateTime(reader["hora"].ToString());
239                    objEvento.lugar = reader["lugar"].ToString();
240                    objEvento.tipoEventoInstitucional = new TipoEventoInstitucional();
241                    {
242                        objEvento.tipoEventoInstitucional.idTipoEventoInstitucional = Convert.ToInt32(reader["idTipoEvento"]);
243                        objEvento.tipoEventoInstitucional.descripcion = reader["tipoEvento"].ToString();
244                    }
245                    objEvento.organizador = new Persona();
246                    {
247                        objEvento.organizador.idPersona = Convert.ToInt32(reader["idPersona"]);
248                        objEvento.organizador.nombre = reader["nombreOrganizador"].ToString();
249                        objEvento.organizador.apellido = reader["apellidoOrganizador"].ToString();
250                    }
251                    objEvento.titulo = reader["titulo"].ToString();
252                    objEvento.detalle = reader["detalle"].ToString();
253                    objEvento.activo = (bool)(reader["activo"]);
254                    listEventoInstitucional.Add(objEvento);
255                }
256                return listEventoInstitucional;
257            }
258            catch (SqlException ex)
259            {
260                throw new CustomizedException(string.Format("Fallo en {0} - GetEventoInstitucional()", ClassName),
261                                    ex, enuExceptionType.SqlException);
262            }
263            catch (Exception ex)
264            {
265                throw new CustomizedException(string.Format("Fallo en {0} - GetEventoInstitucional()", ClassName),
266                                    ex, enuExceptionType.DataAccesException);
267            }
268        }
269
270        #endregion
271    }
272}