コード例 #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            Panel2.Visible = false;

            List <Articulo> Articulos = LogicaArticulo.Listar(false);

            DataTable dtArticulos = new DataTable();
            dtArticulos.Columns.Add(new DataColumn("CodigoBarras"));
            dtArticulos.Columns.Add(new DataColumn("Imagen"));
            dtArticulos.Columns.Add(new DataColumn("Nombre"));
            dtArticulos.Columns.Add(new DataColumn("Precio"));
            dtArticulos.Columns.Add(new DataColumn("Stock"));
            dtArticulos.Columns.Add(new DataColumn("Categoria"));


            foreach (Articulo a in Articulos)
            {
                DataRow drwArticulos = dtArticulos.NewRow();
                drwArticulos["CodigoBarras"] = a.CodigoBarras;
                drwArticulos["Imagen"]       = a.Imagen;
                drwArticulos["Nombre"]       = a.Nombre;
                drwArticulos["Precio"]       = a.Precio;
                drwArticulos["Stock"]        = a.Stock;
                CategoriaArticulo categoria = a.Categoria;
                drwArticulos["categoria"] = categoria.Nombre;

                dtArticulos.Rows.Add(drwArticulos);
            }

            gvArticulos.DataSource = dtArticulos;

            if (Session["CodigoArticulo"] != null)
            {
                gvArticulos.PageIndex = ultimaPagina;
            }

            gvArticulos.DataBind();
        }
        catch (ApplicationException ex)
        {
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! " + ex.Message;
        }

        catch
        {
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! Al cargar la pagina, no se encontro el repositorio de base de datos.";
        }
    }
コード例 #2
0
    protected void CargarGridView()
    {
        string categoria = ddlCategorias.SelectedValue;

        List <Articulo> Articulos = LogicaArticulo.ListarTodosLosArticulos();

        bool ordenamiento; //variable para definir el ordenamiento por precio que tenga el grid view en la consulta a la base de datos

        if (categoria == "Todas")
        {
            if (ddlOrdenXPrecio.SelectedValue == "MayorAMenor")
            {
                ordenamiento            = true;
                seleccionDeOrdenamiento = "MayorAMenor";

                Articulos = LogicaArticulo.Listar(ordenamiento);
            }

            if (ddlOrdenXPrecio.SelectedValue == "MenorAMayor")
            {
                ordenamiento            = false;
                seleccionDeOrdenamiento = "MenorAMayor";

                Articulos = LogicaArticulo.Listar(ordenamiento);
            }


            if (ddlOrdenXCategoria.SelectedValue == "A - Z")
            {
                seleccionDeOrdenamiento = "A - Z";
                Articulos = LogicaArticulo.ListarArticulosGruposCategoria(true);
            }

            if (ddlOrdenXCategoria.SelectedValue == "Z - A")
            {
                seleccionDeOrdenamiento = "Z - A";
                Articulos = LogicaArticulo.ListarArticulosGruposCategoria(false);
            }

            if (ddlOrdenXPrecio.SelectedValue == "SinOrdenar" && ddlOrdenXCategoria.SelectedValue == "SinOrdenar")
            {
                seleccionDeOrdenamiento = "SinOrdenar";
            }

            Session["SeleccionDeOrenamiento"] = seleccionDeOrdenamiento;
            Cargar1(Articulos);
        }
        else
        {
            Articulos = LogicaArticulo.ListarXCategoriaDesordenado(categoria);

            if (ddlOrdenXPrecio.SelectedValue == "MayorAMenor")
            {
                ordenamiento            = true;
                seleccionDeOrdenamiento = "MayorAMenor";

                Articulos = LogicaArticulo.ListarXCategoria(categoria, ordenamiento);
            }

            if (ddlOrdenXPrecio.SelectedValue == "MenorAMayor")
            {
                ordenamiento            = false;
                seleccionDeOrdenamiento = "MenorAMayor";

                Articulos = LogicaArticulo.ListarXCategoria(categoria, ordenamiento);
            }

            if (Articulos.Count == 0) //si la categoria no tiene articulos se muestra un mensaje y se vacia el gridview anterior
            {
                DataTable dtSinArticulos = new DataTable();

                gvArticulos.DataSource = dtSinArticulos;
                gvArticulos.DataBind();

                throw new ExcepcionPresentacion("La categoria no tiene ningun articulo.");
            }

            if (ddlOrdenXPrecio.SelectedValue == "SinOrdenar" && ddlOrdenXCategoria.SelectedValue == "SinOrdenar")
            {
                seleccionDeOrdenamiento = "SinOrdenar";
            }

            Session["SeleccionDeOrenamiento"] = seleccionDeOrdenamiento;
            Cargar1(Articulos);
        }
    }