private void FormularioVenta_Load(object sender, EventArgs e) { lbl_nombre_usuario.Text = CurrentUser.GetCurrentInstance().Usuario.NombreCompleto; int idCaja = CurrentCaja.GetInstance()?.Caja?.Id ?? 0; registroCaja = _registroCajaRepository.BuscarCajaVigente(idCaja); lbl_autor_mas_vendido.Text = _autorRepository.BuscarAutorMasVendido()?.ToString() ?? "Ninguno"; lbl_genero_mas_vendido.Text = _generoRepository.BuscarGeneroMasVendido()?.ToString() ?? "Ninguno"; if (registroCaja == null) { MessageBox.Show(this, "La caja se encuentra cerrada."); return; } RefrescarVenta(); RefrescarMensajeDescuento(); }
public void ModificarRegistroCaja(RegistroCaja registroCaja) { _registroCajaRepository.Update(registroCaja); }
public void BajaRegistroCaja(RegistroCaja registroCaja) { _registroCajaRepository.Delete(registroCaja); }
public void AltaRegistroCaja(RegistroCaja registroCaja) { _registroCajaRepository.Save(registroCaja); }
public void RealizarVenta(Orden orden, IEnumerable <DetalleOrden> detallesOrden, RegistroCaja registroCaja) { using (IDbConnection connection = GetConnection()) { connection.Open(); using (IDbTransaction trx = connection.BeginTransaction()) { try { IDbCommand cmdOrden = connection.CreateCommand(); cmdOrden.CommandText = CrearQueryInsertarOrden(orden); cmdOrden.Transaction = trx; IDbDataParameter[] parametrosOrden = ParametrosInsertarOrden(orden, cmdOrden); foreach (var p in parametrosOrden) { cmdOrden.Parameters.Add(p); } int idOrden = Convert.ToInt32(cmdOrden.ExecuteScalar()); orden.Id = idOrden; foreach (var articulo in detallesOrden) { IDbCommand cmdArticulo = connection.CreateCommand(); cmdArticulo.CommandText = CrearQueryInsertarDetalleOrden(cmdArticulo); cmdArticulo.Transaction = trx; IDbDataParameter[] parametrosDetalleOrden = CrearParametrosDetalleOrden(idOrden, articulo, registroCaja, cmdArticulo); foreach (var p in parametrosDetalleOrden) { cmdArticulo.Parameters.Add(p); } cmdArticulo.ExecuteNonQuery(); // ACTUALIZAR HISTORIAL VENTA. IDbCommand cmdActualizarHistorial = connection.CreateCommand(); cmdActualizarHistorial.CommandText = CrearQueryHistorialVenta(); cmdActualizarHistorial.Transaction = trx; var idLibroHistorial = cmdActualizarHistorial.CreateParameter(); idLibroHistorial.ParameterName = "@LIBRO_FK"; idLibroHistorial.Value = articulo.Libro_Fk; var montoVenta = cmdActualizarHistorial.CreateParameter(); montoVenta.ParameterName = "@PRECIO_UNITARIO"; montoVenta.Value = articulo.Precio_Unitario; var cantidadVenta = cmdActualizarHistorial.CreateParameter(); cantidadVenta.ParameterName = "@CANTIDAD"; cantidadVenta.Value = articulo.Cantidad; cmdActualizarHistorial.Parameters.Add(idLibroHistorial); cmdActualizarHistorial.Parameters.Add(montoVenta); cmdActualizarHistorial.Parameters.Add(cantidadVenta); cmdActualizarHistorial.ExecuteNonQuery(); // ACTUALIZAR STOCK. IDbCommand cmdActualizarStock = connection.CreateCommand(); cmdActualizarStock.CommandText = CrearQueryActualizarStock(); cmdActualizarStock.Transaction = trx; var idLibroParam = cmdActualizarStock.CreateParameter(); idLibroParam.ParameterName = "@ID"; idLibroParam.Value = articulo.Libro_Fk; var stockNuevoLibroParam = cmdActualizarStock.CreateParameter(); stockNuevoLibroParam.ParameterName = "@CANTIDAD_STOCK"; stockNuevoLibroParam.Value = articulo.Libro.Cantidad_Stock - articulo.Cantidad; cmdActualizarStock.Parameters.Add(idLibroParam); cmdActualizarStock.Parameters.Add(stockNuevoLibroParam); cmdActualizarStock.ExecuteNonQuery(); } trx.Commit(); } catch (Exception ex) { trx.Rollback(); throw ex; } } } }
private static IDbDataParameter[] CrearParametrosDetalleOrden(int idOrden, DetalleOrden articulo, RegistroCaja registroCaja, IDbCommand cmdArticulo) { IDbDataParameter[] parameters; var p1 = cmdArticulo.CreateParameter(); var p2 = cmdArticulo.CreateParameter(); var p3 = cmdArticulo.CreateParameter(); var p4 = cmdArticulo.CreateParameter(); var p5 = cmdArticulo.CreateParameter(); var p6 = cmdArticulo.CreateParameter(); var p7 = cmdArticulo.CreateParameter(); p1.ParameterName = "@ORDEN_FK"; p1.Value = idOrden; p2.ParameterName = "@LIBRO_FK"; p2.Value = articulo.Libro_Fk; p3.ParameterName = "@PRECIO_UNITARIO"; p3.Value = articulo.Precio_Unitario; p4.ParameterName = "@DESCUENTO"; p4.Value = (object)articulo.Descuento ?? DBNull.Value; p5.ParameterName = "@CANTIDAD"; p5.Value = articulo.Cantidad; p6.ParameterName = "@DETALLE_DESCUENTO_FK"; p6.Value = (object)articulo.Detalle_Descuento_Fk ?? DBNull.Value; p7.ParameterName = "@REGISTRO_CAJA_FK"; p7.Value = registroCaja.Id; parameters = new IDbDataParameter[] { p1, p2, p3, p4, p5, p6, p7 }; return(parameters); }