private void btnAceptarPedido_Click(object sender, EventArgs e) { int resul = (int)MessageBox.Show(this, "Está seguro que desea ordenar este pedido?", "Aceptar", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); // Gurdar todo en la base de datos para que despues aparezca el pedido en la app de Negocio if (resul == 6) { try { // Agregar la factura FacturaLN facturaLN = new FacturaLN(); _Factura.AsignarEstadoFactura("Pagado"); _Factura.AsignarEstadoPedido("En espera"); _Factura.AsignarEstadoCalificacion("Sin calificar"); facturaLN.IngresarFactura(_Factura.ObtenerFactura()); // Agregar detalle factura PedidoLN pedidoLN = new PedidoLN(); foreach (Producto prod in lista) { pedidoLN.InsertarDetalleFactura(prod); } // Agregar cupon usado if (_Cupon != null) { facturaLN.InsertarCuponUsado(MenuCliente._Cliente, _Cupon); } // Guardar el xml y pdf y adjuntarlos string xml = _Factura.ObtenerXML(); _Factura.GenerarPDF(); // Crear xml XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); doc.Save("FacturaElectronica.xml"); List <string> files = new List <string>(); files.Add(@"FacturaElectronica.xml"); files.Add(@"FacturaElectronica.pdf"); //MenuCliente._Cliente.Correo Correo1.EnviarCorreo(MenuCliente._Cliente.Correo, "Gracias por usar nuestro servicio express", "Delivery S.A | Compra exitosa", files); // Se relaciona el cliente con la factura facturaLN.RelacionarCliente(_Factura.ObtenerFactura()); // Se relaciona el negocio con la factura para que aparezca en el dgv de pedidos con valores nulos facturaLN.RelacionarNegocio(_Factura.ObtenerFactura(), -1.0d, ""); MessageBox.Show(this, "La orden se ha generado con exito, gracias por su compra", "Compra exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information); log.Info("El cliente: " + MenuCliente._Cliente.Correo + " ha realizado una orden"); Close(); } catch (Exception error) { MessageBox.Show(this, "Algo no anda bien :c", "Ocurrió un error", MessageBoxButtons.OK, MessageBoxIcon.Error); StringBuilder msg = new StringBuilder(); msg.AppendFormat("No se pudo crear la factura o Pedido\n"); msg.AppendFormat("Message: {0}\n", error.Message); msg.AppendFormat("Source: {0}\n", error.Source); msg.AppendFormat("Data: {0}\n", error.Data); //Salvar el error en el log log.Error(msg.ToString()); } // La tabla FACTURA USUARIO, se inserta hasta que el cliente puntue a el negocio } }