function bindTransactionProofEntity($transactionProofEntity)
{
    if ($transactionProofEntity != null) {
        $transactionProofDto = new TransactionProofDto();
        $transactionProofDto->setTransactionProofId($transactionProofEntity->getTransactionProofId());
        $transactionProofDto->setTransactionProofUrl($transactionProofEntity->getTransactionProofUrl());
        $transactionProofDto->setTransactionProofFile($transactionProofEntity->getTransactionProofFile());
        return $transactionProofDto;
    } else {
        return null;
    }
}
    foreach ($transactionProofListDto->getTransactionProofs() as $transactionProofDto) {
        $transactionProofEntity = bindTransactionProofDto($transactionProofDto);
        $entityManager->persist($transactionProofEntity);
        $entityManager->flush();
    }
});
$app->put('/transactionproofs/:id', function ($id) use($app) {
    global $entityManager;
    $transactionProofEntity = $entityManager->find("TransactionProofEntity", $id);
    $entityManager->flush();
    $transactionProofDto = bindTransactionProofEntity($transactionProofEntity);
    $transactionProofDto->printData($app);
});
$app->post('/transactionproofs', function () use($app) {
    global $entityManager;
    $transactionProofDto = new TransactionProofDto();
    $transactionProofDto->bindJson($app);
    $entityManager->persist($transactionProofEntity);
    $entityManager->flush();
    $transactionProofDto = bindTransactionProofEntity($transactionProofEntity);
    $transactionProofDto->printData($app);
});
$app->delete('/transactionproofs/:id', function ($id) use($app) {
    global $entityManager;
    $transactionProofEntity = $entityManager->find("TransactionProofEntity", $id);
    $entityManager->remove($transactionProofEntity);
    $entityManager->flush();
});
/*Referances*/
$app->get('/transactionproofs/:id/transactions', function ($id) use($app) {
    global $entityManager;