<?php
namespace App\AtechNet\CoreBundle\Entity;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\JoinColumn;
use Doctrine\ORM\Mapping\ManyToOne;
use Doctrine\ORM\Mapping\Table as Table;
/**
* ClaimSetting * * @Table(name="claim_settings") * @Entity() */class ClaimSetting extends AbstractSignedEntity
{
public const int TYPE_CLAIM_FEDEX_TRACKING_NUMBER = 1;
public const int TYPE_CLAIM_IMPORT_FEDEX_TRACKING_NUMBER = 2;
/**
* @var Claim * * @ManyToOne(targetEntity="Claim", inversedBy="settings") * @JoinColumn(name="claim_id", referencedColumnName="id") */ private $claim;
/**
* @var int * * @Column(name="type", type="integer") */ private $type;
/**
* @var string * * @Column(name="value", type="string", length=256) */ private $value;
/**
* @return Claim */ public function getClaim()
{ return $this->claim;
} /**
* @param Claim $claim * @return void */ public function setClaim(Claim $claim): void
{
$this->claim = $claim;
} /**
* @return int */ public function getType()
{ return $this->type;
} /**
* @param int $type */ public function setType($type)
{ return $this->type = $type;
} /**
* @return string */ public function getValue()
{ return $this->value;
} /**
* @param string $value */ public function setValue($value)
{ return $this->value = $value;
} /**
* @param Claim $claim * @param $settingCode * @param $settingValue * @return ClaimSetting */ public static function createSetting(Claim $claim, $settingCode, $settingValue): ClaimSetting
{
$claimSetting = new ClaimSetting();
$claimSetting->setClaim($claim);
$claimSetting->setType($settingCode);
$claimSetting->setValue($settingValue);
return $claimSetting;
} /**
* @param ClaimSetting $claimSetting * @param $settingValue * @return ClaimSetting */ public static function updateSettingValue(ClaimSetting $claimSetting, $settingValue): ClaimSetting
{
$claimSetting->setValue($settingValue);
return $claimSetting;
}}