public static List <Articulo> ListarArticulosGruposCategoria(bool ordenamiento)
        {
            SqlConnection conexion   = null;
            SqlDataReader drArticulo = null;

            try
            {
                conexion = new SqlConnection(Conexion.CadenaConexion);

                if (ordenamiento)
                {
                    SqlCommand cmdListarArticulosCategoriaAZ = new SqlCommand("ListarArticulosCategoriaAZ", conexion);
                    cmdListarArticulosCategoriaAZ.CommandType = CommandType.StoredProcedure;

                    conexion.Open();

                    drArticulo = cmdListarArticulosCategoriaAZ.ExecuteReader();
                }
                else
                {
                    SqlCommand cmdListarArticulosCategoriaZA = new SqlCommand("ListarArticulosCategoriaZA", conexion);
                    cmdListarArticulosCategoriaZA.CommandType = CommandType.StoredProcedure;

                    conexion.Open();

                    drArticulo = cmdListarArticulosCategoriaZA.ExecuteReader();
                }

                List <Articulo> Articulos = new List <Articulo>();

                CategoriaArticulo categoriaAriculo;
                Articulo          articulo;
                bool buscarCategoria = false;

                while (drArticulo.Read())
                {
                    categoriaAriculo = PersistenciaCategoriaArticulo.Buscar((string)drArticulo["Categoria"], buscarCategoria);

                    articulo = new Articulo((long)drArticulo["CodigoBarras"], (string)drArticulo["Nombre"], (double)drArticulo["Precio"], (int)drArticulo["Stock"], (string)drArticulo["Descripcion"], (string)drArticulo["Imagen"], categoriaAriculo, (bool)drArticulo["Eliminado"]);

                    Articulos.Add(articulo);
                }

                return(Articulos);
            }
            finally
            {
                if (drArticulo != null)
                {
                    drArticulo.Close();
                }

                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }
        public static Articulo Buscar(long codigoBarras, bool buscar)
        {
            SqlConnection conexion   = null;
            SqlDataReader drArticulo = null;

            try
            {
                conexion = new SqlConnection(Conexion.CadenaConexion);

                if (buscar)
                {
                    SqlCommand cmdBuscarArticulo = new SqlCommand("BuscarArticuloSinDiscriminarEliminado", conexion);
                    cmdBuscarArticulo.CommandType = CommandType.StoredProcedure;

                    cmdBuscarArticulo.Parameters.AddWithValue("@codigoBarras", codigoBarras);

                    conexion.Open();

                    drArticulo = cmdBuscarArticulo.ExecuteReader();
                }
                else
                {
                    SqlCommand cmdBuscarArticulo = new SqlCommand("BuscarArticuloNoEliminado", conexion);
                    cmdBuscarArticulo.CommandType = CommandType.StoredProcedure;

                    cmdBuscarArticulo.Parameters.AddWithValue("@codigoBarras", codigoBarras);

                    conexion.Open();

                    drArticulo = cmdBuscarArticulo.ExecuteReader();
                }

                CategoriaArticulo categoria;
                Articulo          articulo = null;
                bool buscarCategoria       = false;

                if (drArticulo.Read())
                {
                    categoria = PersistenciaCategoriaArticulo.Buscar((string)drArticulo["Categoria"], buscarCategoria);

                    articulo = new Articulo((long)drArticulo["CodigoBarras"], (string)drArticulo["Nombre"], (double)drArticulo["Precio"], (int)drArticulo["Stock"], (string)drArticulo["Descripcion"], (string)drArticulo["Imagen"], categoria, (bool)drArticulo["Eliminado"]);
                }

                return(articulo);
            }
            finally
            {
                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }
        public static List <Articulo> BuscarXNombre(string nombre, bool buscar)
        {
            SqlConnection conexion   = null;
            SqlDataReader drArticulo = null;

            try
            {
                conexion = new SqlConnection(Conexion.CadenaConexion);

                if (buscar)
                {
                    SqlCommand cmdBuscarXNombre = new SqlCommand("BuscarTodosArticulosXNombreMayorMenor", conexion);
                    cmdBuscarXNombre.CommandType = CommandType.StoredProcedure;

                    cmdBuscarXNombre.Parameters.AddWithValue("@nombreBuscado", nombre);

                    conexion.Open();

                    drArticulo = cmdBuscarXNombre.ExecuteReader();
                }
                else
                {
                    SqlCommand cmdBuscarXNombre = new SqlCommand("BuscarTodosArticulosXNombreMenorMayor", conexion);
                    cmdBuscarXNombre.CommandType = CommandType.StoredProcedure;

                    cmdBuscarXNombre.Parameters.AddWithValue("@nombreBuscado", nombre);

                    conexion.Open();

                    drArticulo = cmdBuscarXNombre.ExecuteReader();
                }

                List <Articulo> Articulos = new List <Articulo>();

                CategoriaArticulo categoria;
                Articulo          articulo = null;
                bool buscarCategoria       = false;

                while (drArticulo.Read())
                {
                    categoria = PersistenciaCategoriaArticulo.Buscar((string)drArticulo["Categoria"], buscarCategoria);

                    articulo = new Articulo((long)drArticulo["CodigoBarras"], (string)drArticulo["Nombre"], (double)drArticulo["Precio"], (int)drArticulo["Stock"], (string)drArticulo["Descripcion"], (string)drArticulo["Imagen"], categoria, (bool)drArticulo["Eliminado"]);

                    Articulos.Add(articulo);
                }

                return(Articulos);
            }
            finally
            {
                if (drArticulo != null)
                {
                    drArticulo.Close();
                }

                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }