private void GarantiasNotaDeCredito() { // Se verifican las filas marcadas, que tengan el estatus correcto var oGarantias = new List<int>(); foreach (DataGridViewRow oFila in this.dgvGarantias.Rows) { if (!Util.Logico(oFila.Cells["garSel"].Value)) continue; if (Util.Entero(oFila.Cells["garEstatusGenericoID"].Value) == Cat.EstatusGenericos.EnRevision) oGarantias.Add(Util.Entero(oFila.Cells["garVentaGarantiaID"].Value)); else oFila.Cells["garSel"].Value = false; } if (oGarantias.Count > 0) { // Se piden los datos de la nota de crédito var frmNotaDeCredito = new ProveedorNotaDeCreditoForma(); if (frmNotaDeCredito.ShowDialog(Principal.Instance) == DialogResult.OK) { Cargando.Mostrar(); // Se genera la nota de crédito var oNotaC = new ProveedorNotaDeCredito() { ProveedorID = this.Proveedor.ProveedorID, Folio = frmNotaDeCredito.Folio, Fecha = frmNotaDeCredito.Fecha, Subtotal = frmNotaDeCredito.Subtotal, Iva = frmNotaDeCredito.Iva, Disponible = true, OrigenID = Cat.OrigenesNotasDeCreditoProveedor.Garantia, Observacion = frmNotaDeCredito.Observacion }; AdmonProc.CrearNotaDeCreditoProveedor(oNotaC); // Se afectan las garantías correspondientes foreach (int iGarantiaID in oGarantias) { var oGarantia = Datos.GetEntity<VentaGarantia>(c => c.VentaGarantiaID == iGarantiaID && c.Estatus); oGarantia.RespuestaID = Cat.VentasGarantiasRespuestas.NotaDeCredito; oGarantia.EstatusGenericoID = Cat.EstatusGenericos.Resuelto; Datos.Guardar<VentaGarantia>(oGarantia); // Se guarda el detalle de la Nota de crédito var oNotaDet = new ProveedorNotaDeCreditoDetalle() { ProveedorNotaDeCreditoID = oNotaC.ProveedorNotaDeCreditoID, MovimientoInventarioID = oGarantia.MovimientoInventarioID.Valor() }; } Cargando.Cerrar(); this.LlenarGarantias(this.Proveedor.ProveedorID); } frmNotaDeCredito.Dispose(); } }
private void DevolucionesNotasDeCredito() { // Se verifican las filas marcadas, que tengan el estatus correcto var oDevs = new List<int>(); foreach (DataGridViewRow oFila in this.dgvDevoluciones.Rows) { if (!Util.Logico(oFila.Cells["des_Sel"].Value)) continue; oDevs.Add(Util.Entero(oFila.Cells["des_MovimientoInventarioID"].Value)); } if (oDevs.Count > 0) { // Se piden los datos de la nota de crédito var frmNotaDeCredito = new ProveedorNotaDeCreditoForma(); if (frmNotaDeCredito.ShowDialog(Principal.Instance) == DialogResult.OK) { Cargando.Mostrar(); // Se genera la nota de crédito var oNotaC = new ProveedorNotaDeCredito() { ProveedorID = this.Proveedor.ProveedorID, Folio = frmNotaDeCredito.Folio, Fecha = frmNotaDeCredito.Fecha, Subtotal = frmNotaDeCredito.Subtotal, Iva = frmNotaDeCredito.Iva, Disponible = true, OrigenID = Cat.OrigenesNotasDeCreditoProveedor.Devolucion, Observacion = frmNotaDeCredito.Observacion }; AdmonProc.CrearNotaDeCreditoProveedor(oNotaC); // Se marcan los movimientos afectados foreach (int iMovID in oDevs) { var oMovDev = Datos.GetEntity<MovimientoInventario>(c => c.MovimientoInventarioID == iMovID && c.Estatus); oMovDev.FueLiquidado = true; Datos.Guardar<MovimientoInventario>(oMovDev); // Se guarda el detalle de la Nota de crédito var oNotaDet = new ProveedorNotaDeCreditoDetalle() { ProveedorNotaDeCreditoID = oNotaC.ProveedorNotaDeCreditoID, MovimientoInventarioID = iMovID }; } Cargando.Cerrar(); } frmNotaDeCredito.Dispose(); this.CargarDevoluciones(this.Proveedor.ProveedorID); } }