protected void CargarGridPedidos()
    {
        DataTable dtPedidos = new DataTable();

        dtPedidos.Columns.Add(new DataColumn("Numero"));
        dtPedidos.Columns.Add(new DataColumn("Fecha"));
        dtPedidos.Columns.Add(new DataColumn("PrecioTotal"));
        dtPedidos.Columns.Add(new DataColumn("Enviado"));
        dtPedidos.Columns.Add(new DataColumn("AltEnviado"));

        List <Pedido> pedidos = LogicaPedido.ListarPedidosPorUsuario(((Usuario)Session["Usuario"]).Cedula); //lista enviados y pendientes en base de datos

        foreach (Pedido p in pedidos)
        {
            DataRow drwPedido = dtPedidos.NewRow();
            drwPedido["Numero"]      = p.Numero;
            drwPedido["Fecha"]       = p.Fecha;
            drwPedido["PrecioTotal"] = p.PrecioTotal;
            drwPedido["Enviado"]     = p.Enviado ? "~/Imagenes/iconos/tick.png" : "~/Imagenes/iconos/clock.png";
            drwPedido["AltEnviado"]  = p.Enviado ? "Enviado" : "Pendiente";

            dtPedidos.Rows.Add(drwPedido);
        }

        if (dtPedidos.Rows.Count == 0)
        {
            lblMensaje.Text = "No hay pedidos para mostrar.";
            Panel1.Visible  = false;
        }

        gvMisPedidos.DataSource = dtPedidos;
        gvMisPedidos.DataBind();
    }
    protected void btnBuscar_Click(object sender, EventArgs e)
    {
        try
        {
            int cedula;

            try
            {
                cedula = Convert.ToInt32(txtCedula.Text.Trim());
            }
            catch
            {
                throw new ExcepcionPresentacion("Ingrese una cédula válida, sin puntos ni guiones para realizar la busqueda.");
            }

            List <Pedido> Pedidos = LogicaPedido.ListarPedidosPorUsuario(cedula);

            Session["BuscadoPorCedula"] = cedula;

            CargarGridView(Pedidos);

            txtCedula.Text = "";
        }
        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.";
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            Response.CacheControl = "no-cache";
            lblMensaje.Text       = "";

            List <Pedido> Pedidos;

            if (Session["BuscadoPorCedula"] != null)
            {
                Pedidos = LogicaPedido.ListarPedidosPorUsuario((int)Session["BuscadoPorCedula"]);

                Session.Remove("BuscadoPorCedula");
            }
            else
            {
                string tipoListado = ddlEstadoPedido.SelectedValue;

                switch (tipoListado)
                {
                case "Todos":

                    Pedidos = LogicaPedido.ListarTodosLosPedidos();
                    CargarGridView(Pedidos);

                    break;

                case "Pendientes":

                    Pedidos = LogicaPedido.ListarPedidosPendientes();
                    CargarGridView(Pedidos);

                    break;

                case "Enviados":

                    Pedidos = LogicaPedido.ListarPedidosEnviados();
                    CargarGridView(Pedidos);

                    break;
                }
            }
        }
        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.";
        }
    }
示例#4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if ((Usuario)Session["Usuario"] == null)
            {
                Session["Mensaje"] = "Debes iniciar sesión para ver tus pedidos.";
                Response.Redirect("Error.aspx");
            }
            else if ((Usuario)Session["Usuario"] is Administrador)
            {
                Session["Mensaje"] = "Página disponible sólo para clientes. Ingrese a la administración para ver los pedidos de un usuario.";
                Response.Redirect("Error.aspx");
            }

            if (!((Usuario)Session["Usuario"] is UsuarioRegistrado))
            {
                Session["Mensaje"] = "Página disponible sólo para clientes.";
                Response.Redirect("Error.aspx");
            }

            List <Pedido> pedidosdelusuario = LogicaPedido.ListarPedidosPorUsuario(((Usuario)Session["Usuario"]).Cedula);

            int    pedidosEntregados = 0;
            int    pedidosPendientes = 0;
            int    pedidosTotales    = 0;
            double costoTotal        = 0;

            foreach (Pedido p in pedidosdelusuario)
            {
                pedidosTotales++;

                if (p.Enviado)
                {
                    pedidosEntregados++;
                }
                else
                {
                    pedidosPendientes++;
                }

                costoTotal += p.PrecioTotal;
            }

            string tarjeta = "******" + ((UsuarioRegistrado)Session["Usuario"]).NumeroTarjeta.ToString().Substring(((UsuarioRegistrado)Session["Usuario"]).NumeroTarjeta.ToString().Length - 4, 4);


            lblNombreUsuario.Text     = ((Usuario)Session["Usuario"]).NombreUsuario;
            imgFotoPerfil.ImageUrl    = ((Usuario)Session["Usuario"]).Imagen;
            lblNombreCompleto.Text    = ((Usuario)Session["Usuario"]).NombreCompleto;
            lblCedula.Text            = ((Usuario)Session["Usuario"]).Cedula.ToString();
            lblDireccion.Text         = ((UsuarioRegistrado)Session["Usuario"]).DireccionEnvio;
            lblTarjeta.Text           = tarjeta;
            lblTelefono.Text          = ((UsuarioRegistrado)Session["Usuario"]).Telefono.ToString();
            lblCdadPedidos.Text       = pedidosTotales.ToString();
            lblPedidosEntregados.Text = pedidosEntregados.ToString();
            lblPedidosPendientes.Text = pedidosPendientes.ToString();
            lblCostoTotal.Text        = costoTotal.ToString();
        }
        catch
        {
            lblMensaje.Text = "¡Error! No se pudo desplegar los detalles del pedido.";
        }
    }