<?php
namespace OfficeBrain\Bundle\SettingBundle\Manager\Service;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Security\Core\SecurityContext;
use Symfony\Component\Translation\Translator;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use OfficeBrain\Bundle\SettingBundle\Manager\Extended as SettingManager;

class SettingService
{
    public static function initFactory($entityManager, $request ,$paginatorManager)
    {
        $projectSetting = $request->get('project_setting');
        $userId = $projectSetting['user_id'];

        if ($userId>0) {
            $classInstance = new SettingManager\SettingRegisterExtended($entityManager, $request ,$paginatorManager);
        } else {
            $classInstance = new SettingManager\SettingGuestExtended($entityManager, $request ,$paginatorManager);
        }
        
        unset($userId);
        unset($projectSetting);
        return $classInstance;
    }
}
