private void CambiarPropiedadesProducto()
        {
            if (dvgCompraProducto.SelectedRows.Count > 0)
            {
                //obtengo las unidades actuales
                DataGridViewRow row = dvgCompraProducto.SelectedRows[0];
                var item = dvgCompraProducto.SelectedRows[0].DataBoundItem as CompraProducto;

                using (var frm = new IngresarPrecioCosto(item.ProductoDescripcion,
                                                        item.PrecioActualizado.GetValueOrDefault(),
                                                        item.CostoActualizado,
                                                        Factura.ProveedorNombre))
                {
                    var result = frm.ShowDialog();
                    if (result == DialogResult.OK)
                    {
                        ActualizarPropiedadesProducto(frm.Precio, frm.Costo, item.CostoActualizado);
                    }
                    txtCodigo.Text = string.Empty;
                }
            }
        }
        private void AgregarProductoAColeccion(ProductoCompleto producto)
        {
            var original = ProductosDatasource.FirstOrDefault(p => p.ProductoId == producto.ProductoId);
            if (original.CostoConIVA == null)
            {
                using (var frmCosto = new IngresarPrecioCosto(original.Descripcion, original.PrecioConIVA, 0, Factura.ProveedorNombre))
                {
                    if (frmCosto.ShowDialog() == DialogResult.OK)
                    {
                        //Modifico el costo de proveedor para ese producto
                        var proveedorProd = new ProveedorProducto()
                        {
                            CostoConIVA = frmCosto.Costo.GetValueOrDefault(),
                            ProductoId = original.ProductoId,
                            ProveedorId = ProveedorId,
                            Identifier = Guid.NewGuid(),
                            FechaUltimoCambioCosto = DateTime.Now
                        };
                        ProveedorProductoRepository.Agregar(proveedorProd);
                        ProveedorProductoRepository.Commit();
                        original.CostoConIVA = frmCosto.Costo;
                        original.PrecioConIVA = frmCosto.Precio;

                        AgregarProducto(original);
                    }
                }
            }
            else
            {
                AgregarProducto(original);
            }
        }