| Current Path : /var/www/v3.cesa.co.za/src/ContentBundle/Services/ |
| Current File : /var/www/v3.cesa.co.za/src/ContentBundle/Services/FormItemCompletedManager.php |
<?php
namespace App\ContentBundle\Services;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Monolog\Logger;
use App\ContentBundle\Entity\FormItemCompleted;
use App\ContentBundle\Entity\FormCompleted;
/**
* Form Item Completed manager
*
* @author Otto Saayman <otto@igotafrica.com>
* @package ContentBundle
* @subpackage FormItemCompleted
* @version 0.0.1
*/
final class FormItemCompletedManager {
/**
* Service Container
* @var object
*/
private $container = null;
/**
* Entity manager
* @var object
*/
private $em;
/**
* Class construct
*
* @param ContainerInterface $container
* @param Logger $logger
* @return void
*/
public function __construct(
ContainerInterface $container) {
$this->setContainer($container);
$this->setEm($container->get('doctrine')->getManager('default'));
return;
}
/**
* Get Container
*
* @return ContainerInterface $container
*/
public function getContainer() {
return $this->container;
}
/**
* Set Container
*
* @param ContainerInterface $container
* @return void
*/
public function setContainer($container) {
$this->container = $container;
}
/**
* Get Entity Manager
*
* @return string
*/
public function getEm() {
return $this->em;
}
/**
* Set Container
*
* @param string $em
* @return void
*/
public function setEm($em) {
$this->em = $em;
}
/**
* Get a completed form
*
* @param string $id
* @return FormCompleted
*/
public function find($id) {
return $this->getEm()->getRepository(FormCompletedItem::class)->find($id);
}
/**
* Get a completed form item
*
* @param array $params
* @return FormItemCompleted
*/
public function findOneBy($params) {
return $this->getEm()->getRepository(FormItemCompleted::class)->findOneBy($params);
}
/**
* Get a completed form items list
*
* @param array $params
* @return array
*/
public function findBy($params, $orderBy = array()) {
return $this->getEm()->getRepository(FormItemCompleted::class)->findBy($params, $orderBy);
}
/**
* Get a completed form items list ordered
*
* @param array $params
* @return array
*/
public function findByFormCompleted(FormCompleted $formCompleted, $dataFieldsOnly = false) {
if ($dataFieldsOnly) {
$systemSettingManager = $this->getContainer()->get('system_setting.manager');
$excludeFormItemTypes = array(
$systemSettingManager->getSetting('heading_form_item_type'),
);
} else {
$excludeFormItemTypes = array();
}
return $this->getEm()->getRepository(FormItemCompleted::class)->findByFormCompleted($formCompleted, $excludeFormItemTypes);
}
/**
* Save completed form completed item object
*
* @param FormItemCompleted $formItemCompleted
* @return void
*/
public function save(FormItemCompleted &$formItemCompleted) {
$this->getEm()->persist($formItemCompleted);
$this->getEm()->flush();
}
/**
* Get value
*
* @param FormCompletedItem $formCompletedItem
* @return string
*/
public function getValueString($formCompletedItem) {
$systemSettingManager = $this->getContainer()->get('system_setting.manager');
$return = '';
$value = $formCompletedItem->getValueString();
if ($systemSettingManager->getSetting('dealership_form_item_type') == $formCompletedItem->getFormItem()->getFormItemType()->getId() ||
$systemSettingManager->getSetting('dealership_prepop_form_item_type') == $formCompletedItem->getFormItem()->getFormItemType()->getId()) {
if (is_array($value)) {
foreach ($value as $valueOne) {
if (strlen($return) > 0) {
$return .= ' ';
}
$company = $this->getContainer()->get('companies.manager')->find($valueOne);
if (is_object($company)) {
$return .= $company->getName();
}
}
} else {
$company = $this->getContainer()->get('companies.manager')->find($formCompletedItem->getValueString());
if (is_object($company)) {
$return = $company->getName();
}
}
} elseif ($systemSettingManager->getSetting('position_form_item_type') == $formCompletedItem->getFormItem()->getFormItemType()->getId()) {
$userTypeTypes = $this->getContainer()->get('user_type_types.manager')->find(trim($formCompletedItem->getValueString()));
if (is_object($userTypeTypes)) {
$return = $userTypeTypes->getUserTypeTypeString();
}
} else {
if (is_array($value)) {
foreach ($value as $valueOne) {
if (strlen($return) > 0) {
$return .= ' ';
}
$return .= $valueOne;
}
} else {
$return = $value;
}
}
return $return;
}
}