예제 #1
0
        public List <Publicacion> getPublicaciones()
        {
            List <Publicacion> publicaciones = new List <Publicacion>();
            SqlDataReader      reader        = null;

            try
            {
                reader = DatabaseConection.executeQuery(baseQuery + "ORDER BY publ_id DESC");
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        publicaciones.Add(ParserPublicaciones.parsearPublicacionDelReader(reader));
                    }
                }
                return(publicaciones);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally {
                if (reader != null & !reader.IsClosed)
                {
                    reader.Close();
                }
            }
        }
예제 #2
0
        public List <Publicacion> filtrarPaginasPorRubro(int pagina, List <Rubro> rubros)
        {
            string             funcion = "SELECT * FROM [TheBigBangQuery].[getPaginaPublicacionesPorFiltroRubros](@pagina, @table, @fechaActual)";
            List <Publicacion> publis  = new List <Publicacion>();
            SqlDataReader      reader  = null;

            try
            {
                SqlCommand command = new SqlCommand(funcion);
                command.CommandText = funcion;

                DataTable table = new DataTable();
                table.Columns.Add("rub_id", typeof(decimal));

                foreach (Rubro r in rubros)
                {
                    table.Rows.Add(r.id);
                }

                SqlParameter param = new SqlParameter("@table", SqlDbType.Structured);
                param.TypeName = "[TheBigBangQuery].[RubrosList]";
                param.Value    = table;

                command.Parameters.AddWithValue("@pagina", pagina);
                command.Parameters.Add(param);
                command.Parameters.AddWithValue("@fechaActual", Generals.getFecha());

                reader = DatabaseConection.executeQuery(command);
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Publicacion publi = ParserPublicaciones.parsearPublicacionDelReader(reader);
                        publi.espectaculo.descripcion = reader.IsDBNull(6) ? null : reader.GetSqlString(6).ToString();
                        publi.espectaculo.direccion   = reader.IsDBNull(7) ? null : reader.GetSqlString(7).ToString();
                        publi.gradoPublicacion.nivel  = reader.IsDBNull(8) ? null : reader.GetSqlString(8).ToString();
                        publis.Add(publi);
                    }
                }


                return(publis);
            }
            catch (Exception e)
            {
                throw new DataNotFoundException("No se han encontrado publicaciones pertenecientes a los rubros seleccionados");
            }
            finally {
                if (reader != null & !reader.IsClosed)
                {
                    reader.Close();
                }
            }
        }
예제 #3
0
        public List <Publicacion> getPublicacionesPorPagina(int pagina, Nullable <int> empresaId = null)
        {
            string             function          = "SELECT * FROM [TheBigBangQuery].[GetPublicacionesPorPaginaSinFiltroDeEmpresa](@pagina, @empresa, @fechaActual)";
            SqlDataReader      reader            = null;
            List <Publicacion> publicacionesList = new List <Publicacion>();

            try
            {
                SqlCommand command = new SqlCommand(function);
                command.CommandText = function;

                command.Parameters.AddWithValue("@pagina", pagina);
                if (empresaId != null)
                {
                    command.Parameters.AddWithValue("@empresa", empresaId);
                }
                else
                {
                    command.Parameters.AddWithValue("@empresa", DBNull.Value);
                }

                command.Parameters.AddWithValue("@fechaActual", Generals.getFecha());

                reader = DatabaseConection.executeQuery(command);
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Publicacion publi = ParserPublicaciones.parsearPublicacionDelReader(reader);
                        publi.espectaculo.descripcion = reader.IsDBNull(6) ? null : reader.GetSqlString(6).ToString();
                        publi.espectaculo.direccion   = reader.IsDBNull(7) ? null : reader.GetSqlString(7).ToString();
                        publi.gradoPublicacion.nivel  = reader.IsDBNull(8) ? null : reader.GetSqlString(8).ToString();
                        publicacionesList.Add(publi);
                    }
                }
                return(publicacionesList);
            }
            catch (Exception ex)
            {
                throw new DataNotFoundException("No se han encontrado publicaciones para la pagina seleccionada");
            }
            finally {
                if (reader != null && !reader.IsClosed)
                {
                    reader.Close();
                }
            }
        }
예제 #4
0
        public Publicacion getPublicacionPorId(int id, SqlTransaction trans = null)
        {
            Publicacion   publicacion;
            SqlDataReader reader = null;
            string        query  = baseQuery + "WHERE publ_id = @id";

            try
            {
                publicacion = new Publicacion();
                SqlCommand command = new SqlCommand();
                command.CommandText = query;
                if (trans != null)
                {
                    command.Transaction = trans;
                }

                SqlParameter param = new SqlParameter("@id", SqlDbType.Decimal);
                param.Value = id;
                command.Parameters.Add(param);

                reader = DatabaseConection.executeQuery(command);
                if (reader.HasRows)
                {
                    reader.Read();
                    return(ParserPublicaciones.parsearPublicacionDelReader(reader));
                }
                else
                {
                    throw new Exception();
                }
            }
            catch (Exception ex) {
                throw new DataNotFoundException("Error al buscar la publicacion con id {id}".Replace("{id}", id.ToString()));
            }
            finally
            {
                if (reader != null & !reader.IsClosed)
                {
                    reader.Close();
                }
            }
        }
예제 #5
0
        public List <Publicacion> filtrarPaginasPorFechas(int pagina, DateTime fechaInicio, DateTime fechaFin)
        {
            string             function = "SELECT * FROM [TheBigBangQuery].[getPaginaPublicacionesPorFiltroFecha](@pag, @fechaI, @fechaF)";
            SqlDataReader      reader   = null;
            List <Publicacion> publis;

            try
            {
                publis = new List <Publicacion>();
                SqlCommand command = new SqlCommand(function);
                command.CommandText = function;

                command.Parameters.AddWithValue("@pag", pagina);
                command.Parameters.AddWithValue("@fechaI", fechaInicio);
                command.Parameters.AddWithValue("@fechaF", fechaFin);

                reader = DatabaseConection.executeQuery(command);
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Publicacion publi = ParserPublicaciones.parsearPublicacionDelReader(reader);
                        publi.espectaculo.descripcion = reader.IsDBNull(6) ? null : reader.GetSqlString(6).ToString();
                        publi.espectaculo.direccion   = reader.IsDBNull(7) ? null : reader.GetSqlString(7).ToString();
                        publi.gradoPublicacion.nivel  = reader.IsDBNull(8) ? null : reader.GetSqlString(8).ToString();
                        publis.Add(publi);
                    }
                }
                return(publis);
            }
            catch (Exception e)
            {
                throw new DataNotFoundException("No se han encontrado publicaciones entre las fechas ingresadas");
            }
            finally {
                if (reader != null & !reader.IsClosed)
                {
                    reader.Close();
                }
            }
        }
예제 #6
0
        public List <Publicacion> filtrarPaginasPorDescripcion(int pagina, string descripcion)
        {
            List <Publicacion> publis;
            SqlDataReader      reader   = null;
            string             function = "SELECT * FROM [TheBigBangQuery].[getPaginaPublicacionesPorFiltroDescripcion](@pag, @desc,@fechaActual)";

            try
            {
                publis = new List <Publicacion>();
                SqlCommand command = new SqlCommand(function);
                command.CommandText = function;

                command.Parameters.AddWithValue("@pag", pagina);
                command.Parameters.AddWithValue("@desc", descripcion);
                command.Parameters.AddWithValue("@fechaActual", Generals.getFecha());

                reader = DatabaseConection.executeQuery(command);
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Publicacion publi = ParserPublicaciones.parsearPublicacionDelReader(reader);
                        publi.espectaculo.descripcion = reader.IsDBNull(6) ? null : reader.GetSqlString(6).ToString();
                        publi.espectaculo.direccion   = reader.IsDBNull(7) ? null : reader.GetSqlString(7).ToString();
                        publi.gradoPublicacion.nivel  = reader.IsDBNull(8) ? null : reader.GetSqlString(8).ToString();
                        publis.Add(publi);
                    }
                }
                return(publis);
            }
            catch (Exception e)
            {
                throw new DataNotFoundException("No se han encontrado publicaciones coincidentes con la descripcion ingresada");
            }
            finally {
                if (reader != null & !reader.IsClosed)
                {
                    reader.Close();
                }
            }
        }
예제 #7
0
        public List <Publicacion> getInfoBasicaPublicacionPorPagina(int pagina)
        {
            List <Publicacion> publicaciones = new List <Publicacion>();
            string             query         = "SELECT * FROM [TheBigBangQuery].[getPublicacionesPorPagina](@numPagina, @tabla) ";
            SqlDataReader      reader        = null;

            try
            {
                SqlCommand command = new SqlCommand(query);
                command.CommandText = query;

                command.Parameters.AddWithValue("@numPagina", pagina);

                reader = DatabaseConection.executeQuery(command);
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Publicacion publi = ParserPublicaciones.parsearPublicacionDelReader(reader);
                        publi.espectaculo.descripcion = reader.IsDBNull(6) ? null : reader.GetSqlString(6).ToString();
                        publi.espectaculo.direccion   = reader.IsDBNull(7) ? null : reader.GetSqlString(7).ToString();
                        publi.gradoPublicacion.nivel  = reader.IsDBNull(8) ? null : reader.GetSqlString(8).ToString();
                        publicaciones.Add(publi);
                    }
                }
            }
            catch (Exception e)
            {
                throw new DataNotFoundException("No se han encontrado publicaciones para la pagina " + pagina);
            }
            finally {
                if (reader != null & !reader.IsClosed)
                {
                    reader.Close();
                }
            }

            return(publicaciones);
        }
예제 #8
0
        public List <Publicacion> getPublicacionesConInfoBasica()
        {
            string query = "SELECT publ_id, publ_espectaculo, publ_grad_nivel, publ_fecha_publicacion, publ_fecha_hora_espectaculo," +
                           "publ_estado, espe_descripcion, espe_direccion ,grad_nivel " +
                           "FROM [TheBigBangQuery].[Publicacion] JOIN [TheBigBangQuery].[Espectaculo] ON (espe_id = publ_espectaculo) " +
                           "JOIN [TheBigBangQuery].[GradoPublicaciones] ON (grad_id = publ_grad_nivel)";

            List <Publicacion> publicaciones = new List <Publicacion>();
            SqlDataReader      reader        = null;

            try
            {
                reader = DatabaseConection.executeQuery(query);
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Publicacion publicacion = ParserPublicaciones.parsearPublicacionDelReader(reader);
                        publicacion.espectaculo.descripcion = reader.IsDBNull(6) ? null : reader.GetSqlString(6).ToString();
                        publicacion.espectaculo.direccion   = reader.IsDBNull(7) ? null : reader.GetSqlString(7).ToString();
                        publicacion.gradoPublicacion.nivel  = reader.IsDBNull(8) ? null : reader.GetSqlString(8).ToString();

                        publicaciones.Add(publicacion);
                    }
                }
                return(publicaciones);
            }
            catch (Exception ex)
            {
                throw new DataNotFoundException("Error al buscar las publicaciones");
            }
            finally
            {
                if (reader != null & !reader.IsClosed)
                {
                    reader.Close();
                }
            }
        }