<?php
use Incoviba\Controller\Ventas;

$app->group('/ventas', function($app) {
    $files = new FilesystemIterator(implode(DIRECTORY_SEPARATOR, [__DIR__, 'ventas']));
    foreach ($files as $file) {
        if ($file->isDir()) {
            continue;
        }
        include_once $file->getRealPath();
    }
    $app->get('/add[/]', [Ventas::class, 'add']);
    $app->get('[/]', Ventas::class);
})->add($app->getContainer()->get(Incoviba\Middleware\Authentication::class));
$app->group('/venta/{proyecto_nombre:[A-za-zÑñ\+\ %0-9]+}/{unidad_descripcion:[0-9]+}', function($app) {
    $app->get('[/]', [Ventas::class, 'showUnidad']);
})->add($app->getContainer()->get(Incoviba\Middleware\Authentication::class));
$app->group('/venta/{venta_id:[0-9]+}', function($app) {
    $app->group('/propietario', function($app) {
        $app->get('[/]', [Ventas::class, 'propietario']);
    });
    $app->group('/propiedad', function($app) {
        $app->get('[/]', [Ventas::class, 'propiedad']);
    });
    $app->group('/pie', function($app) {
        $app->get('/add[/]', [Ventas\Pies::class, 'add']);
        $app->group('/cuotas', function($app) {
            $app->get('[/]', [Ventas::class, 'cuotas']);
        });
        $app->get('[/]', [Ventas::class, 'pie']);
    });
    $app->group('/bono_pie', function($app) {
        $app->get('/edit[/]', [Ventas\Bonos::class, 'edit']);
        $app->get('/add[/]', [Ventas\Bonos::class, 'add']);
        $app->get('[/]', [Ventas\Bonos::class, 'edit']);
    });
    $app->group('/escritura', function($app) {
        $app->group('/cuotas', function($app) {
            $app->get('[/]', Ventas\Abono\Cuotas::class);
        });
        $app->get('/add[/]', [Ventas\Escrituras::class, 'add']);
        $app->get('[/]', [Ventas\Escrituras::class, 'show']);
    });
    $app->group('/credito', function($app) {
        $app->get('[/]', [Ventas\Creditos::class, 'show']);
    });
    $app->get('/escriturar[/]', [Ventas::class, 'escriturar']);
    $app->get('/desistir[/]', [Ventas::class, 'desistir']);
    $app->get('/desistida[/]', [Ventas::class, 'desistida']);
    $app->get('/edit[/]', [Ventas::class, 'edit']);
    $app->get('[/]', [Ventas::class, 'show']);
})->add($app->getContainer()->get(Incoviba\Middleware\Authentication::class));
