Esempio n. 1
0
        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();
        }
Esempio n. 2
0
 public void ModificarRegistroCaja(RegistroCaja registroCaja)
 {
     _registroCajaRepository.Update(registroCaja);
 }
Esempio n. 3
0
 public void BajaRegistroCaja(RegistroCaja registroCaja)
 {
     _registroCajaRepository.Delete(registroCaja);
 }
Esempio n. 4
0
 public void AltaRegistroCaja(RegistroCaja registroCaja)
 {
     _registroCajaRepository.Save(registroCaja);
 }
Esempio n. 5
0
        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;
                    }
                }
            }
        }
Esempio n. 6
0
        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);
        }