/** * <summary>Metodo para consultar de la base de datos una localidad dado su nombre</summary> * retorna toda la informacion de la localidad **/ public LocalidadEvento ConsultarLocalidadEventoPorNombre(string nombre) { LocalidadEvento localidad = new LocalidadEvento(); try { comando = new NpgsqlCommand("ConsultarLocalidadPorNombre", conexion.SqlConexion); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Varchar, nombre); read = comando.ExecuteReader(); read.Read(); localidad.Id = read.GetInt32(0); localidad.Nombre = read.GetString(1); localidad.Descripcion = read.GetString(2); localidad.Coordenadas = read.GetString(3); } catch (BaseDeDatosExcepcion e) { e.NombreMetodos.Add(this.GetType().FullName + "." + MethodBase.GetCurrentMethod().Name); throw e; } finally { conexion.Desconectar(); } return(localidad); }
/** * <summary>Metodo para listar todas las localidades de la base de datos</summary> * **/ public IList <LocalidadEvento> ListaLocalidadEventos() { IList <LocalidadEvento> localidades = new List <LocalidadEvento>(); try { comando = new NpgsqlCommand("consultarlocalidades", conexion.SqlConexion); comando.CommandType = CommandType.StoredProcedure; read = comando.ExecuteReader(); while (read.Read()) { LocalidadEvento localidad = new LocalidadEvento(read.GetInt32(0), read.GetString(1), read.GetString(2), read.GetString(3)); localidades.Add(localidad); } } catch (BaseDeDatosExcepcion e) { e.NombreMetodos.Add(this.GetType().FullName + "." + MethodBase.GetCurrentMethod().Name); throw e; } finally { conexion.Desconectar(); } return(localidades); }
/** * <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); }
/** * <summary>Metodo para agregar una localidad a la base de datos</summary> * **/ public int ActualizarLocalidadEvento(LocalidadEvento lEvento) { int respuesta = 0; try { conexion.Comando = conexion.SqlConexion.CreateCommand(); comando = new NpgsqlCommand("actualizarlocalidadporid", conexion.SqlConexion); comando.CommandType = CommandType.StoredProcedure; //Aqui se registran los valores de localidad evento comando.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Integer, lEvento.Id); comando.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Varchar, lEvento.Nombre); comando.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Varchar, lEvento.Descripcion); comando.Parameters.AddWithValue(NpgsqlTypes.NpgsqlDbType.Varchar, lEvento.Coordenadas); read = comando.ExecuteReader(); try { if (read.Read()) { Int32.TryParse(read.GetValue(0).ToString(), out respuesta); } if (respuesta == 0) { throw new ItemNoEncontradoException($"No se encontro el evento con el nombre {lEvento.Nombre}"); } } catch (System.InvalidCastException e) { Console.WriteLine(e.Message); } } catch (BaseDeDatosExcepcion e) { e.NombreMetodos.Add(this.GetType().FullName + "." + MethodBase.GetCurrentMethod().Name); throw e; } finally { conexion.Desconectar(); } return(respuesta); }
public IDictionary AgregarLocalidadEvento([FromBody] LocalidadEvento data) { try { comando = FabricaComando.CrearComandoAgregarLocalidad(data); comando.Ejecutar(); respuesta.Add("dato", "Se ha creado una localidad"); } catch (BaseDeDatosExcepcion e) { respuesta.Add("Error", e.Message); } catch (CasteoInvalidoExcepcion e) { respuesta.Add("Error", e.Message); } return(respuesta); }