Esempio n. 1
0
        private void GuardarButton_Click(object sender, EventArgs e)
        {
            if (!ValidarCampos())
            {
                return;
            }

            ENTProducto producto = new ENTProducto
            {
                Articulo       = ArticuloTextBox.Text,
                Cantidad       = float.Parse(CantidadTextBox.Text),
                Precio         = Convert.ToDecimal(PrecioTextBox.Text),
                Descripcion    = DescripcionTextBox.Text,
                IDCategoria    = vidCategoria,
                IDPresentacion = vidPresentacion
            };

            using (var scope = new TransactionScope())
            {
                //INSERTA EL PRODUCTO Y CAPTURA EL IDProducto
                int IDProducto = BLProducto.InsertProductoGetIDProducto(producto);

                //GRABAR EN KARDEX
                ENTKardex kardex = new ENTKardex();
                kardex.Fecha         = DateTime.Now;
                kardex.Concepto      = "INVENTARIO INICIAL";
                kardex.Entrada       = float.Parse(CantidadTextBox.Text);
                kardex.Existencia    = float.Parse(CantidadTextBox.Text);
                kardex.CostoUnitario = Convert.ToDecimal(PrecioTextBox.Text);
                kardex.Debe          = Convert.ToDecimal(kardex.Entrada) * kardex.CostoUnitario;
                kardex.Saldo         = kardex.Debe;
                kardex.CostoPromedio = kardex.CostoUnitario;
                kardex.IDProducto    = IDProducto;

                BLKardex.InsertKardex(kardex);

                scope.Complete();
            }

            ListarProductos();
            LimpiarCajas();
            BLBotones.HabilitarBotones(true, GuardarButton, ActualizarButton, EliminarButton);
        }
Esempio n. 2
0
        private void ProductoComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                vidProducto = (int)ProductoComboBox.SelectedValue;

                //ENTKardex miKardex = BLKardex.SelectKardexByIDProducto(vidProducto);
                //List<ENTKardex> k = new List<ENTKardex>();
                //k.Add(miKardex);

                KardexDataGridView.DataSource = null;
                KardexDataGridView.DataSource = BLKardex.SelectKardex(vidProducto);

                BLFormatoGrid.FormatoGrid(KardexDataGridView);

                FormatoColumnas();
            }
            catch (Exception)
            {
            }
        }
Esempio n. 3
0
        private void GuardarButton_Click(object sender, EventArgs e)
        {
            // OBTENEMOS LOS DATOS PARA GUARDARLOS EN LA TABLA COMPRAS
            ENTVenta venta = new ENTVenta
            {
                Fecha     = FechaDateTimePicker.Value,
                NoFactura = FacturaTextBox.Text
            };

            using (TransactionScope scope = new TransactionScope())
            {
                //INSERTA LA COMPRA Y RETORNA EL ID
                try
                {
                    IDVenta = BLVenta.InsertVentasGetIDVenta(venta);
                }
                catch (SqlException ex)
                {
                    if (ex.Message.Contains("IX_Ventas"))
                    {
                        errorProvider1.SetError(FacturaTextBox, "Número de Factura ya Existe...!");
                        FacturaTextBox.Focus();
                        return;
                    }
                    errorProvider1.Clear();
                }

                //RECORRE EL DATAGRID Y LO INSERTA EN LA TABLA COMPRADETALLE
                ENTVentaDetalle Registros = new ENTVentaDetalle();

                foreach (DataGridViewRow filas in DetallesDataGridView.Rows)
                {
                    Registros.Cantidad    = float.Parse(filas.Cells["Cantidad"].Value.ToString());
                    Registros.Precio      = decimal.Parse(filas.Cells["Precio"].Value.ToString());
                    Registros.Descripcion = filas.Cells["Descripcion"].Value.ToString();
                    Registros.IDProducto  = int.Parse(filas.Cells["IDProducto"].Value.ToString());
                    Registros.IDVenta     = IDVenta;

                    misDetalles.Add(Registros);

                    BLVentaDetalle.InsertVentaDetalle(Registros);

                    //GUARDAR EN KARDEX
                    ENTKardex miKardex      = BLKardex.SelectKardexByIDProducto(Registros.IDProducto);
                    float     Existencia    = miKardex.Existencia;
                    decimal   Saldo         = miKardex.Saldo;
                    decimal   CostoPromedio = miKardex.CostoPromedio;

                    //GRABAR EN KARDEX
                    ENTKardex kardex = new ENTKardex
                    {
                        Fecha      = FechaDateTimePicker.Value,
                        Concepto   = "VE-" + IDVenta,
                        Salida     = Registros.Cantidad,
                        Existencia = Existencia - Registros.Cantidad
                    };
                    //kardex.CostoUnitario = Registros.CostoUnitario; //POR AQUI
                    kardex.Haber = Convert.ToDecimal(kardex.Salida) * CostoPromedio;
                    kardex.Saldo = Saldo - kardex.Haber;
                    try
                    {
                        kardex.CostoPromedio = kardex.Saldo / (decimal)kardex.Existencia;
                    }
                    catch (DivideByZeroException ex)
                    {
                        kardex.CostoPromedio = 0;
                    }

                    kardex.IDProducto = Registros.IDProducto;

                    BLKardex.InsertKardex(kardex);

                    ////Obtiene un último costo para agregarlo al precio del producto
                    //decimal UltimoCosto = BLKardex.GetUltimoCosto(Registros.IDProducto);

                    // ACTUALIZAR LA TABLA PRODUCTOS
                    BLProducto.UpdateCantidadVenta(kardex.Existencia, kardex.IDProducto);
                }

                scope.Complete();

                MessageBox.Show(string.Format("La venta: {0}, fue grabada de forma exitosa", IDVenta),
                                "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }