public void CargarOC(OrdenCompra oc) { factura.OrdenCompra = oc; factura.Proveedor = oc.Proveedor; factura.Moneda = oc.Moneda; factura.Fecha = DateTime.Now.Date; //se crean las lineas de la factura FacturaProveedorLinea factLinea = null; foreach (OrdenCompraLinea artxp in oc.OrdenCompraOrdenCompraLineafk) { factLinea = new FacturaProveedorLinea(); factLinea.Cantidad = artxp.Cantidad; factLinea.PrecioUnitario = artxp.PrecioUnitario; factLinea.ArticuloXProveedor = artxp.ArticuloXProveedor; factLinea.SubTotal = artxp.SubTotal; factLinea.Factura = factura; factLineas.Add(factLinea); } //se convierten al tipo de colleccion Iset foreach (FacturaProveedorLinea linea in factLineas) { factura.FacturaProveedorFacturaProveedorLineafk.Add(linea); } }
private void btnAdd_Click(object sender, EventArgs e) { if (factura.Proveedor != null) { frmBusquedaArticulo busqArticulo = new frmBusquedaArticulo(frmBusquedaArticulo.IND_CONSULTA_EXTERNA, factura.Proveedor); busqArticulo.setEstado("Activo"); busqArticulo.ShowDialog(this); Articulo articulo = busqArticulo.ArticuloSeleccionado; if (articulo != null) { FacturaProveedorLinea linea = new FacturaProveedorLinea(); linea.ArticuloXProveedor = new ArticuloXProveedorBL().Find(articulo, factura.Proveedor); if (linea.ArticuloXProveedor == null) { Utils.Utils.Error(null, "El proveedor no ofrece dicho artículo"); return; } linea.Factura = factura; linea.ArticuloXProveedor.Articulo = articulo; linea.ArticuloXProveedor.Proveedor = factura.Proveedor; linea.Cantidad = 0; string precioUnitarioCompra = String.Format("{0:0.00}", linea.ArticuloXProveedor.Costo.ToString()); linea.PrecioUnitario = (float) Convert.ToDouble(precioUnitarioCompra); factLineas.Add(linea); String[] datos = { articulo.CodigoArticulo, articulo.Titulo, "0", precioUnitarioCompra, "0", "0" }; dgvDetalleFactura.Rows.Add(datos); } } else { Utils.Utils.Mensaje("Debe seleccionar primero un proveedor", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public void SaveOrUpdate(FacturaProveedorLinea facturaLinea) { ISession hisession = null; try { hisession = NHibernateHelper.GetCurrentSession(); hisession.BeginTransaction(); if (facturaLinea.Id == 0) { hisession.Save(facturaLinea); } else { hisession.Update(facturaLinea); } hisession.Transaction.Commit(); hisession.Close(); } catch (Exception ex) { if (hisession != null) { if (hisession.IsOpen) { hisession.Close(); } } if (log.IsErrorEnabled) { log.Error(ex.Message); } } }