/// <summary> /// Evento onClick para finalizar la compra /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FinalizarCompra(object sender, EventArgs e) { Finalizar_Compra panel1 = new Finalizar_Compra(); panel1.MinimizeBox = false; panel1.MaximizeBox = false; panel1.ShowIcon = false; panel1.ShowInTaskbar = false; panel1.ShowDialog(); introducidoCantidad = true; if (Constantes.VENTA_HECHA) { //Se genera una factura con la compra realizada y la guarda en su carpeta correspondiente facturaPDF(); float importeIVA = ((Convert.ToSingle(Constantes.IMPORTE) * Convert.ToInt32(ivacb)) / 100) + Convert.ToSingle(Constantes.IMPORTE); if (Constantes.contabilidad_TA.getRegistros(DateTime.Today.ToShortDateString()) == 0) { Constantes.contabilidad_TA.Insert(DateTime.Now.ToShortDateString(), 0, Math.Round(importeIVA, 2)); } else { int id = Convert.ToInt32(Constantes.contabilidad_TA.GetId(DateTime.Now.ToShortDateString())); float ingresos = Convert.ToSingle(Constantes.contabilidad_TA.getIngresos(DateTime.Now.ToShortDateString())); Constantes.contabilidad_TA.UpdateIngresos(Convert.ToDouble(ingresos + Math.Round(importeIVA, 2)), id); } listView1.Items.Clear(); imageList1.Images.Clear(); btAtrasVTienda.Visible = false; lFlecha.Visible = false; lCategoria.Text = ""; cargarListaVenta(); cesta.Rows.Clear(); listaCategoria = true; Total(); } }
/// <summary> /// Metodo que finaliza la compra y abre una ventana para introducir el cambio de dinero /// y genera la factura con la venta hecha y la guarda en la ruta de facturas venta /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FinalizarCompra(object sender, EventArgs e) { Finalizar_Compra panel1 = new Finalizar_Compra(); panel1.MinimizeBox = false; panel1.MaximizeBox = false; panel1.ShowIcon = false; panel1.ShowInTaskbar = false; panel1.ShowDialog(); introducidoCantidad = true; if (Constantes.VENTA_HECHA) { //Se genera una factura con la compra realizada y la guarda en su carpeta correspondiente #region Generar Factura string factura = @"C:\GarTor\Facturas\VentasTienda\Factura" + DateTime.Now.ToString("dd-MM-yyyy_H.mm.ss") + ".txt"; string texto = null; string fecha_dia = DateTime.Now.ToShortDateString(); string fechaHora_dia = DateTime.Now.ToString(); int num_Pedido = Convert.ToInt32(Constantes.pedidos_TA.getPedidosDia(fecha_dia)); int cod_Pedido = 0; int num_detalle = 1; int cod_Factura = 0; float cantidad = 0; float precio = 0.00f; string articulo = ""; Constantes.pedidos_TA.Insert(num_Pedido, fecha_dia); cod_Pedido = Convert.ToInt32(Constantes.pedidos_TA.getCodigoPedido(num_Pedido, fecha_dia));//Cod pedido introducido Constantes.factVenta_TA.Insert(cod_Pedido, fecha_dia); cod_Factura = Convert.ToInt32(Constantes.factVenta_TA.getCodigoFactura(cod_Pedido)); foreach (DataGridViewRow row in cesta.Rows) { cantidad = Convert.ToSingle(row.Cells[Constantes.COLUMNA_UNIDADES].Value); articulo = Convert.ToString(row.Cells[Constantes.COLUMNA_NOMBRE].Value); precio = Convert.ToSingle(row.Cells[Constantes.COLUMNA_PRECIO].Value); Constantes.detaPedidosVenta_TA.Insert(cod_Factura, num_detalle, cantidad, precio, articulo); num_detalle += 1; } DataTable compra = Constantes.detaPedidosVenta_TA.GetDetallePedido(cod_Factura);//Creamos un datatable con el detalle del pedido de la factura introducida para recorrerlo String CadenaCompra = ""; float total_factura = 0.00f; foreach (DataRow row in compra.Rows) { float total = 0.00f; string nom_Producto = Convert.ToString(row["Articulo"]); int unidades = Convert.ToInt32(row["Cantidad"]); float precio_detalle = Convert.ToSingle(row["Precio"]); total = precio_detalle * (Convert.ToSingle(unidades)); //Evaluamos que el nombre del producto sea mayor que 28 caracteres para acortarlo en la factura //Damos formato a la cadena de compra de la factura con longitudes para tener unas tabulaciones entre columnas if (nom_Producto.Length > 28) { CadenaCompra += String.Format("{0,-28}{1,8}{2,8}{3,12}\r\n", nom_Producto.Substring(0, 28), unidades, precio_detalle + " €", total.ToString("#,##0.##") + " €") + "\r\n"; //Para aplicar formato de columnas } else { CadenaCompra += String.Format("{0,-28}{1,8}{2,8}{3,12}\r\n", nom_Producto, unidades, precio_detalle + " €", total.ToString("#,##0.##") + " €") + "\r\n"; //Para aplicar formato de columnas } total_factura += total; } StreamWriter sw = new StreamWriter(factura); texto = "FACTURA SIMPLIFICADA" + "\r\nPasteleria MARCO" + "\r\nPaseo de los Jesuitas 18, Madrid" + "\r\nTelf. 91 463 99 82" + "\r\nN.I.F. 07487245D\r\n\r\n" + String.Format("\r\n{0,-28}{1,8}{2,8}{3,12}\r\n", "Nombre Articulo", "Unidades", "Precio", "Total") + //Para aplicar formato de columnas "\r\n" + CadenaCompra + "\r\n TOTAL DE LA COMPRA: " + total_factura + " €\r\n" + "\r\n IVA incluido" + "\r\n Factura: " + Constantes.factVenta_TA.getCodigoFactura(cod_Pedido).ToString(); sw.WriteLine(texto); sw.Close(); #endregion AddIngresos(); //Recargamos la lista de los articulos para que cargue las imagenes de categorias y ponga las flechas de menus superiores y la cesta por defecto listView1.Items.Clear(); imageList1.Images.Clear(); btAtrasVTienda.Visible = false; lFlecha.Visible = false; lCategoria.Text = ""; cargarListaVenta(); cesta.Rows.Clear(); listaCategoria = true; Total(); } }