public void Cancelar(Int64 CompraID) { try { cCompras Factura = ComprasDA.BuscarPorID(CompraID); //Si el documento no ha sido cambiado el estatus de Original no puede ser cancelado if (Factura.EstatusID.ToString() == "O") { //Verificamos si la factura contiene movimientos en Cuentas por Cobrar List <cCuentasPagar> Cuenta = (from c in CuentaPagarDA.ListaCargosPagos(Factura.DocumentoID.ToString(), (Int64)Factura.ProveedorID) where c.CodigoConcepto.ToString() != "Compras" select c).ToList(); if (Cuenta.Count == 0) { ComprasDA.Cancelar(CompraID); } else { throw new Exception("El documento posee movimientos contabilizados, no puede ser cancelada"); } } else { throw new Exception("El documento posee movimientos contabilizados, no puede ser cancelada"); } } catch (Exception Ex) { throw Ex; } }