private void btnGuardar_Click(object sender, EventArgs e) { if (detallesVentaDataGridView.Rows.Count == 0) { MessageBox.Show("¡Aún no hay nada en el carrito!", "Rellenar", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { ventasBindingSource.EndEdit(); Ventas ven = new Ventas(); ven = ((Ventas)ventasBindingSource.Current); CVentas cVentas = new CVentas(); cVentas.RegistrarVenta(ven); CDetallesVenta cDetalles = new CDetallesVenta(); cDetalles.GuardarMaestroDetalle(detalles); MessageBox.Show("¡Ventas Realizada con éxito!", "Compra", MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult result = MessageBox.Show("¿DESEA EMITIR UNA FACTURA?", "", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (result == DialogResult.OK) { Process.Start(@"http://cordova/Reports/browse/InformesMinisuper"); } } detallesVentaDataGridView.Rows.Clear(); if (detallesVentaDataGridView.Rows.Count == 0) { totalVentaTextBox.Text = "0.00"; } }
public int Insertar(Venta venta, List <ProductoPOS> detalles) { string consulta = "insert into Ventas values (@Fecha,@IdCliente_FK,@IdEmpleado_FK,@TipoDocumento,@Correlativo,@IdCorrelativo_FK,@Total,@Efectivo,@Cambio)"; DynamicParameters parametros = new DynamicParameters(); int idventa; parametros.Add("@Fecha", venta.Fecha, DbType.DateTime); parametros.Add("@IdCliente_FK", venta.IdCliente_FK, DbType.Int32); parametros.Add("@IdEmpleado_FK", venta.IdEmpleado_FK, DbType.Int32); parametros.Add("@TipoDocumento", venta.TipoDocumento, DbType.Int32); parametros.Add("@Correlativo", venta.Correlativo, DbType.Int64); parametros.Add("@IdCorrelativo_FK", venta.IdCorrelativo_FK, DbType.Int32); parametros.Add("@Total", venta.Total, DbType.Decimal); parametros.Add("@Efectivo", venta.Efectivo, DbType.Decimal); parametros.Add("@Cambio", venta.Cambio, DbType.Decimal); cn.Open(); cn.Execute(consulta, parametros, commandType: CommandType.Text); idventa = cn.QuerySingle <int>("Select max(IdVenta) id from ventas", commandType: CommandType.Text); cn.Close(); CCorrelativo correlativo = new CCorrelativo(); correlativo.ActualizarCorrelativo(venta.IdCorrelativo_FK); CDetallesVenta detalle = new CDetallesVenta(); CDetallesInventario inventario = new CDetallesInventario(); foreach (ProductoPOS p in detalles) { DetallesVenta det = new DetallesVenta(); det.Cantidad = p.Cantidad; det.IdDetalleInventario_FK = p.IdDetalleInventario; det.IdVenta_FK = idventa; det.PrecioVenta = p.Precio; detalle.Insertar(det); inventario.disminuirExistencias(det.IdDetalleInventario_FK, det.Cantidad.Value); } return(idventa); }