ResponseEntity deleteLedger()

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();
  }