Example #1
0
    protected void btnAceptar_Click(object sender, EventArgs e)
    {
        if (seleccion)
        {
            try
            {
                Pedido pedido = LogicaPedido.BuscarPedido((int)Session["NumeroPedido"]);

                LogicaPedido.EliminarPedido(pedido);

                lblMensaje.ForeColor = System.Drawing.Color.Green;
                lblMensaje.Text      = "¡Pedido eliminado exitosamente.!";

                DesactivarBotones();
                btnEliminar.Visible = false;
            }
            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 eliminar el pedido.";
            }
        }
        else
        {
            try
            {
                Pedido pedido = LogicaPedido.BuscarPedido((int)Session["NumeroPedido"]);

                bool   noDuplicar        = false;
                string articuloEliminado = "";

                foreach (LineaPedido lp in pedido.LineasPedidos)
                {
                    if (lp.PArticulo.Eliminado == true)
                    {
                        noDuplicar         = true;
                        articuloEliminado += lp.PArticulo.Nombre;
                    }
                }

                if (noDuplicar)
                {
                    btnDuplicar.Visible = false;
                    btnAceptar.Visible  = false;
                    btnCancelar.Visible = false;
                    throw new ExcepcionPresentacion("No se puede duplicar el pedido porque " + articuloEliminado + " ya no esta/n disponible/s.");
                }
                else
                {
                    pedido.Enviado = false; //duplica pero no lo envia

                    LogicaPedido.AgregarPedido(pedido);

                    lblMensaje.ForeColor = System.Drawing.Color.Green;
                    lblMensaje.Text      = "¡Pedido duplicado exitosamente.!";

                    DesactivarBotones();
                    btnDuplicar.Visible = false;
                }
            }
            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 duplicar el pedido.";
            }
        }
    }