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."; } } }