in service/src/main/java/org/apache/fineract/cn/accounting/service/rest/LedgerRestController.java [184:202]
ResponseEntity<Void> deleteLedger(@PathVariable("identifier") final String identifier) {
final Optional<Ledger> optionalLedger = this.ledgerService.findLedger(identifier);
if (optionalLedger.isPresent()) {
final Ledger ledger = optionalLedger.get();
if (!ledger.getSubLedgers().isEmpty()) {
throw ServiceException.conflict("Ledger {0} holds sub ledgers.", identifier);
}
} else {
throw ServiceException.notFound("Ledger {0} not found.", identifier);
}
if (this.ledgerService.hasAccounts(identifier)) {
throw ServiceException.conflict("Ledger {0} has assigned accounts.", identifier);
}
this.commandGateway.process(new DeleteLedgerCommand(identifier));
return ResponseEntity.accepted().build();
}