/** * <summary>Metodo que muestra info de un evento dado su nombre</summary> * <params name="nombreEvento">nombre del evento</params> * <returns>El evento solicitado</returns> * */ public Evento ConsultarEventoNombre(string nombreEvento) { Evento evento = new Evento(); PeticionLocalidadEvento peticionLocalidadEvento = new PeticionLocalidadEvento(); try { comando = new NpgsqlCommand("ConsultarEventoPorIdNombre", conexion.SqlConexion); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Varchar, nombreEvento); read = comando.ExecuteReader(); read.Read(); //Creo un objeto de tipo categoria con un solo atributo nombre //y Busco el id de la categoria Categoria categoriaNombre = new Categoria(); categoriaNombre.Nombre = read.GetString(9); PeticionCategoria peticionCategoria = new PeticionCategoria(); Categoria categoria = peticionCategoria.ObtenerIdCategoriaPorNombre(categoriaNombre); evento.Id = read.GetInt32(0); evento.Nombre = read.GetString(1); evento.Descripcion = read.GetString(2); evento.Precio = read.GetInt64(3); evento.FechaInicio = read.GetDateTime(4); evento.FechaFin = read.GetDateTime(5); DateTime horaInicio = new DateTime(); horaInicio.AddHours(read.GetTimeSpan(6).Hours); horaInicio.AddMinutes(read.GetTimeSpan(6).Minutes); evento.HoraInicio = horaInicio; DateTime horaFin = new DateTime(); horaFin.AddHours(read.GetTimeSpan(7).Hours); horaFin.AddMinutes(read.GetTimeSpan(7).Minutes); evento.HoraFin = horaFin; evento.Foto = read.GetString(8); evento.IdCategoria = categoria.Id; evento.IdLocalidad = peticionLocalidadEvento.ConsultarLocalidadEventoPorNombre(read.GetString(10)).Id; } catch (BaseDeDatosExcepcion e) { e.NombreMetodos.Add(this.GetType().FullName + "." + MethodBase.GetCurrentMethod().Name); e.Mensaje = "Problemas en la base de datos, en ConsultarEvento"; throw e; } finally { conexion.Desconectar(); } return(evento); }
/** * <summary>Lista de eventos dado una fecha</summary> * <params name=fecha>fecha</params> * <returns>Retorna la informacion de todos los eventos a partir de esa fecha</returns> * */ public List <Evento> ListaEventosPorFecha(DateTime fecha) { List <Evento> list = new List <Evento>(); try { comando = new NpgsqlCommand("ConsultarEventosPorFecha", conexion.SqlConexion); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Timestamp, fecha); read = comando.ExecuteReader(); while (read.Read()) { //Creo un objeto de tipo categoria con un solo atributo nombre //y Busco el id de la categoria Categoria categoriaNombre = new Categoria(); categoriaNombre.Nombre = read.GetString(9); PeticionCategoria peticionCategoria = new PeticionCategoria(); Categoria categoria = peticionCategoria.ObtenerIdCategoriaPorNombre(categoriaNombre); PeticionLocalidadEvento peticionLocalidadEvento = new PeticionLocalidadEvento(); LocalidadEvento localidad = peticionLocalidadEvento.ConsultarLocalidadEventoPorNombre(read.GetString(10)); DateTime horaInicio = new DateTime(); horaInicio.AddHours(read.GetTimeSpan(6).Hours); horaInicio.AddMinutes(read.GetTimeSpan(6).Minutes); DateTime horaFin = new DateTime(); horaFin.AddHours(read.GetTimeSpan(7).Hours); horaFin.AddMinutes(read.GetTimeSpan(7).Minutes); //Categoria categoria = peticionCategoria.ObtenerCategorias Evento evento = new Evento(read.GetInt32(0), read.GetString(1), read.GetString(2), read.GetInt64(3), read.GetDateTime(4), read.GetDateTime(5), horaInicio, horaFin, read.GetString(8), categoria.Id, localidad.Id); list.Add(evento); } } catch (BaseDeDatosExcepcion e) { e.NombreMetodos.Add(this.GetType().FullName + "." + MethodBase.GetCurrentMethod().Name); e.Mensaje = "Problemas en la base de datos, en ConsultarEventosPorFecha"; throw e; } finally { conexion.Desconectar(); } return(list); }