<?php

namespace App\Http\Controllers;

use App\AnalitoEP15;
use App\CorridaAnalito;
use App\CorridaArea;
use App\Http\Controllers\RolController;
use App\ProyectoEP15;
use App\SuperUsuario;
use App\Usuario;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class HomeController extends Controller
{

    public function __construct()
    {
        $this->middleware('auth');
    }

    public function index()
    {
        $usuarioAutenticado = Auth::user();
        if ($usuarioAutenticado->super_admin_id != 0){
            $clientReference = SuperUsuario::query()->where('id', $usuarioAutenticado->super_admin_id)->first();
            $proyectosEP15 = ProyectoEP15::query()->where('client', $clientReference->id)->get();
            $contadorTotalProyectos = 0;
            foreach ($proyectosEP15 as $proyectoEP15){
                $analitosEP15 = AnalitoEP15::query()
                    ->where('proyecto_ep15_id_proyecto_ep15', $proyectoEP15->id_proyecto_ep15)->get();
                $contadorTotalProyectos += count($analitosEP15);
            }

            $proyectosEP09 = CorridaArea::query()->where('client', $clientReference->id)->get();
            foreach ($proyectosEP09 as $proyectoEPO9){
                $analitosEP09 = CorridaAnalito::query()
                    ->where('corrida_area_id_corrida_area', $proyectoEPO9->id_corrida_area)->get();
                $contadorTotalProyectos += count($analitosEP09);
            }

            $totalUsuarios = count(Usuario::query()->where("super_admin_id", $clientReference->id)->get());

            return view('home')
                ->with("nombres", Auth::user()->nombres)
                ->with("numero_proyectos", $contadorTotalProyectos)
                ->with("numero_usuarios", $totalUsuarios)
                ->with("imagen_cliente", $clientReference->imagen_cliente)
                ->with("tipo_de_suscripcion", $clientReference->tipo_de_suscripcion)
                ->with("total_proyectos", $clientReference->num_project)
                ->with("total_usuarios", $clientReference->num_user)
                ->with("apellidos", Auth::user()->apellidos)
                ->with("rol_usuario", Auth::user()->rol_id_rol)
                ->with("active", $clientReference->active)
                ->with("nom_rol_usuario", RolController::listItem(Auth::user()->rol_id_rol)->nom_rol);
        }

        return view('home')
            ->with("nombres", Auth::user()->nombres)
            ->with("apellidos", Auth::user()->apellidos)
            ->with("rol_usuario", Auth::user()->rol_id_rol)
            ->with("active", 1)
            ->with("nom_rol_usuario", RolController::listItem(Auth::user()->rol_id_rol)->nom_rol);

    }
}
