private void RemoverCompra(Entities.Compras compra) { comprasBindingSource.DataSource = null; OrdenCompra.Compras.Remove(compra); comprasBindingSource.DataSource = OrdenCompra.Compras; CalcularTotales(); }
private void RefaccionesGridView_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { if (RefaccionesGridView.Columns[e.ColumnIndex].Name == "Cancelar") { Entities.Compras compra = (Entities.Compras)RefaccionesGridView.Rows[e.RowIndex].DataBoundItem; RemoverCompra(compra); } } catch (Exception ex) { AppHelper.Error(ex.Message); } }
private void AgregarRefaccion() { Entities.Compras compra = new Entities.Compras(); compra.Cantidad = (int)this.CantidadNumericUpDown.Value; compra.CostoUnitario = Convert.ToDecimal(this.CostoUnitarioTextBox.Text); if (compra.CostoUnitario <= 0) { throw new Exception("No se pueden comprar articulos con costo 0"); } compra.MarcaRefaccion_ID = Refaccion.MarcaRefaccion_ID.Value; compra.Refaccion_Descripcion = Refaccion.Descripcion; compra.Refaccion_ID = Refaccion.Refaccion_ID.Value; compra.RefaccionesSurtidas = 0; compra.Usuario_ID = Sesion.Usuario_ID; OrdenCompra.Compras.Add(compra); comprasBindingSource.DataSource = null; comprasBindingSource.DataSource = OrdenCompra.Compras; CalcularTotales(); ClearRefaccion(); }
private void RegistrarMovimiento() { DoValidate(); int PorSurtir = 0; foreach (Entities.Vista_ComprasAlmacen vistaCompra in VistaCompras) { PorSurtir += vistaCompra.Entrada; } if (PorSurtir == 0) { AppHelper.ThrowException( "La orden de compra {0} esta completamente surtida", this.OrdenCompra.OrdenCompra_ID); } NotaAlmacen = new Entities.NotasAlmacen(); MovimientoInventario = new Entities.MovimientosInventario(); // Insertar Nota Almacen NotaAlmacen.Fecha = DB.GetDate(); NotaAlmacen.OrdenCompra_ID = OrdenCompra.OrdenCompra_ID; NotaAlmacen.TipoMovimientoInventario_ID = 2; // Compra NotaAlmacen.Usuario_ID = Sesion.Usuario_ID; NotaAlmacen.Empresa_ID = Sesion.Empresa_ID.Value; NotaAlmacen.Estacion_ID = Sesion.Estacion_ID.Value; NotaAlmacen.Factura = FacturaTextBox.Text; NotaAlmacen.Create(); // Insertar Movimientos Inventario foreach (Entities.Vista_ComprasAlmacen compra in VistaCompras) { if (compra.Entrada > 0) { MovimientoInventario.Cantidad = compra.Entrada; MovimientoInventario.CantidadPost = MovimientoInventario.CantidadPrev + compra.Entrada; MovimientoInventario.CostoUnitario = compra.CostoUnitario; MovimientoInventario.Fecha = NotaAlmacen.Fecha; MovimientoInventario.NotaAlmacen_ID = NotaAlmacen.NotaAlmacen_ID; MovimientoInventario.OrdenCompra_ID = NotaAlmacen.OrdenCompra_ID; MovimientoInventario.Refaccion_ID = compra.Refaccion_ID; MovimientoInventario.TipoMovimientoInventario_ID = NotaAlmacen.TipoMovimientoInventario_ID; MovimientoInventario.Usuario_ID = NotaAlmacen.Usuario_ID; MovimientoInventario.Valor = compra.Entrada * compra.CostoUnitario; MovimientoInventario.Empresa_ID = Sesion.Empresa_ID.Value; MovimientoInventario.Estacion_ID = Sesion.Estacion_ID.Value; MovimientoInventario.Calculate(); MovimientoInventario.Create(); // Actualizar refaccion MovimientoInventario.UpdateRefaccion(true); } } // Actualizar compra y sacar totale de Orden de Compra decimal subtotal = 0; foreach (Entities.Vista_ComprasAlmacen vistaCompra in VistaCompras) { Entities.Compras compra = Entities.Compras.Read(vistaCompra.Compra_ID); if (vistaCompra.Entrada > 0) { compra.RefaccionesSurtidas += vistaCompra.Entrada; compra.CostoUnitario = vistaCompra.CostoUnitario; compra.Update(); subtotal += vistaCompra.CostoUnitario * compra.Cantidad; } else { subtotal += compra.CostoUnitario * compra.Cantidad; } } // Actualizar Factura y Totales de Orden de Compra if (String.IsNullOrEmpty(OrdenCompra.Factura)) { OrdenCompra.Factura = FacturaTextBox.Text.ToUpper().Trim(); } else { OrdenCompra.Factura = OrdenCompra.Factura.Trim() + ", " + FacturaTextBox.Text.ToUpper().Trim(); } OrdenCompra.Subtotal = subtotal; OrdenCompra.IVA = OrdenCompra.Subtotal * (decimal)0.16; OrdenCompra.Total = OrdenCompra.Subtotal + OrdenCompra.IVA; OrdenCompra.Update(); OrdenCompra = null; this.label4.Visible = false; this.FacturaTextBox.Visible = false; }