/**
         * <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);
        }
Example #3
0
        /**
         * <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);
        }
Example #5
0
 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);
 }