diff --git a/app/Http/Controllers/EventoController.php b/app/Http/Controllers/EventoController.php index 59f88a3..2ba1e95 100644 --- a/app/Http/Controllers/EventoController.php +++ b/app/Http/Controllers/EventoController.php @@ -57,7 +57,12 @@ class EventoController extends Controller */ public function show(Evento $evento) { - // + // evento->coordinar devuelve los tres mejores marzullos de los días que tiene asociados + // dia->marzullo devuelve array de + // [dia::string, cantidad::integer, inicio::integer, fin::integer, duracion::integer + // inicioLindo::string, finLindo::string, duracionLinda::string] + $marzullos = $evento->coordinar(); + return view("resultado", ['marzullos' => $marzullos, 'evento' => $evento]); } /** @@ -76,7 +81,7 @@ class EventoController extends Controller * * @param \Illuminate\Http\Request $request * @param \App\Models\Evento $evento - * @return \Illuminate\Http\Response + * @return \Illuminate\Http\RedirectResponse */ public function update(Request $request, Evento $evento) { @@ -125,7 +130,7 @@ class EventoController extends Controller $salidaDia->save(); } - return view("resultado"); + return redirect()->route("show", ['evento' => $evento]); } /** diff --git a/app/Models/Evento.php b/app/Models/Evento.php index 342e9d7..7b5c80b 100644 --- a/app/Models/Evento.php +++ b/app/Models/Evento.php @@ -17,10 +17,14 @@ class Evento extends Model public function coordinar(): array { $marzullos = []; //devuelve array de - // [nombre::string, cantidad::integer, inicio::integer, fin::integer, duracion::integer] + // [dia::string, cantidad::integer, inicio::integer, fin::integer, duracion::integer + // inicioLindo::string, finLindo::string, duracionLinda::string] foreach ($this->dias as $dia) { [$a, $b, $c, $d] = $dia->marzullo(); - $marzullos[] = ["dia" => $dia->nombre, "cantidad" => $a, "inicio" => $b, "fin" => $c, "duracion" => $d]; + $marzullos[] = ["dia" => $dia->nombre, "cantidad" => $a, + "inicio" => $b, "fin" => $c, "duracion" => $d, + "inicioLindo" => Utils::parseHora($b), "finLindo" => Utils::parseHora($c), + "duracionLinda" => Utils::parseHora($d)]; } usort($marzullos, array("Evento", "cmp_cant_marzullo")); return array_slice($marzullos, 0, 3); @@ -32,7 +36,7 @@ class Evento extends Model // $a,$b::[nombre::string, cantidad::integer, horario::string, duracion::integer] // por cantidad - function cmp_cant_marzullo($a, $b) { + function cmp_cant_marzullo($a, $b): int { $cant_a = $a["cantidad"]; $cant_b = $b["cantidad"]; if ($cant_a == $cant_b) { diff --git a/app/Models/Utils.php b/app/Models/Utils.php index 56681fa..8ccab87 100644 --- a/app/Models/Utils.php +++ b/app/Models/Utils.php @@ -4,7 +4,8 @@ namespace App\Models; class Utils { - // El input es un string de forma 'hh:mm' con hh entre 00 y 23 y mm entre 00 y 59 + // El INPUT es un string de forma 'hh:mm' con hh entre 00 y 23 y mm entre 00 y 59 + // El OUTPUT es un int public static function formatMinutos($horaMinuto) { $hora_minuto_array = explode(':', $horaMinuto); $horas = (int) $hora_minuto_array[0]; @@ -13,8 +14,14 @@ class Utils { return $cantMinutos; } - public static function parseHora() { - + // El INPUT es un int > 0. + // El OUTPUT es un string de forma 'hh:mm' con hh entre 00 y 23 y mm entre 00 y 59 + public static function parseHora($cantMinutos) { + $horas = floor($cantMinutos / 60); + if ($horas < 10) $horas = '0' . $horas; + $minutos = $cantMinutos % 60; + if ($minutos < 10) $minutos = '0' . $minutos; + return $horas . ':' . $minutos; } } diff --git a/public/css/resultado.css b/public/css/resultado.css new file mode 100644 index 0000000..3a95285 --- /dev/null +++ b/public/css/resultado.css @@ -0,0 +1,23 @@ +#logo { + width:80%; + margin: auto; +} + +div.p-6 { + text-align: center; +} + +button, input[type="submit"] { + background: darkred; + border-radius: 5px; + padding: 5px; + color:white; + margin: 15px; +} + +input.formulario { + background-color: white; + border-radius: 5px; + padding: 5px; +} + diff --git a/resources/views/marzullo.blade.php b/resources/views/marzullo.blade.php new file mode 100644 index 0000000..a22909d --- /dev/null +++ b/resources/views/marzullo.blade.php @@ -0,0 +1,11 @@ + +
+

+ {{ $marzullo["dia"] }} +

+

+ Desde {{ $marzullo["inicioLindo"] }} hasta {{ $marzullo["finLindo"] }} + pueden {{ $marzullo["cantidad"] }} personas (duración: {{ $marzullo["duracionLinda"] }}). +

+
diff --git a/resources/views/resultado.blade.php b/resources/views/resultado.blade.php index 1568d31..f9fd5ea 100644 --- a/resources/views/resultado.blade.php +++ b/resources/views/resultado.blade.php @@ -4,11 +4,11 @@ - Planifibot + Planifibot - {{ $evento->nombre }} - +