src/Uniski/ResourceBundle/Entity/RentingRate.php line 11

Open in your IDE?
  1. <?php
  2. namespace Uniski\ResourceBundle\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Uniski\CommerceBundle\Exception\PriceNotFoundException;
  5. /**
  6. * @ORM\Entity
  7. **/
  8. class RentingRate extends PriceRate
  9. {
  10.   const PRICE_SKI_GOLD_KEY 'ski_gold';
  11.   const PRICE_SKI_SILVER_KEY 'ski_silver';
  12.   const PRICE_SKI_ECO_KEY 'ski_eco';
  13.   const PRICE_SB_GOLD_KEY 'sb_gold';
  14.   const PRICE_SB_SILVER_KEY 'sb_silver';
  15.   const PRICE_SB_ECO_KEY 'sb_ec';
  16.   const PRICE_FULL_EQUIP_KEY 'ec';
  17.   const PRICE_HALF_EQUIP_KEY 'pe';
  18.   public $names = [
  19.       self::PRICE_SKI_GOLD_KEY => [
  20.         self::PRICE_FULL_EQUIP_KEY => 'Esquí ORO, Esquís + botas + palos',
  21.         self::PRICE_HALF_EQUIP_KEY => 'Esquí ORO, Esquis + palos'
  22.       ],
  23.       self::PRICE_SKI_SILVER_KEY => [
  24.         self::PRICE_FULL_EQUIP_KEY => 'Esquí PLATA, Esquís + botas + palos',
  25.         self::PRICE_HALF_EQUIP_KEY => 'Esquí PLATA, Esquis + palos'
  26.       ],
  27.       self::PRICE_SKI_ECO_KEY => [
  28.         self::PRICE_FULL_EQUIP_KEY => 'Esquí ECO, Esquís + botas + palos',
  29.         self::PRICE_HALF_EQUIP_KEY => 'Esquí ECO, Esquis + palos'
  30.       ],
  31.       self::PRICE_SB_GOLD_KEY => [
  32.         self::PRICE_FULL_EQUIP_KEY => 'Snowboard ORO, Tabla snowboard + botas',
  33.         self::PRICE_HALF_EQUIP_KEY => 'Snowboard ORO, Tabla snowboard'
  34.       ],
  35.       self::PRICE_SB_SILVER_KEY => [
  36.         self::PRICE_FULL_EQUIP_KEY => 'Snowboard PLATA, Tabla snowboard + botas',
  37.         self::PRICE_HALF_EQUIP_KEY => 'Snowboard PLATA, Tabla snowboard'
  38.       ],
  39.       self::PRICE_SB_ECO_KEY => [
  40.         self::PRICE_FULL_EQUIP_KEY => 'Snowboard ECO, Tabla snowboard + botas',
  41.         self::PRICE_HALF_EQUIP_KEY => 'Snowboard ECO, Tabla snowboard'
  42.       ],
  43.     ];
  44.   public static function getModel($options null)
  45.   {
  46.     $days = [=> ''=> ''=> ''=> ''=> ''=> ''];
  47.     return [
  48.       self::PRICE_SKI_GOLD_KEY => [
  49.         self::PRICE_FULL_EQUIP_KEY => $days,
  50.         self::PRICE_HALF_EQUIP_KEY => $days
  51.       ],
  52.       self::PRICE_SKI_SILVER_KEY => [
  53.         self::PRICE_FULL_EQUIP_KEY => $days,
  54.         self::PRICE_HALF_EQUIP_KEY => $days
  55.       ],
  56.       self::PRICE_SKI_ECO_KEY => [
  57.         self::PRICE_FULL_EQUIP_KEY => $days,
  58.         self::PRICE_HALF_EQUIP_KEY => $days
  59.       ],
  60.       self::PRICE_SB_GOLD_KEY => [
  61.         self::PRICE_FULL_EQUIP_KEY => $days,
  62.         self::PRICE_HALF_EQUIP_KEY => $days
  63.       ],
  64.       self::PRICE_SB_SILVER_KEY => [
  65.         self::PRICE_FULL_EQUIP_KEY => $days,
  66.         self::PRICE_HALF_EQUIP_KEY => $days
  67.       ],
  68.       self::PRICE_SB_ECO_KEY => [
  69.         self::PRICE_FULL_EQUIP_KEY => $days,
  70.         self::PRICE_HALF_EQUIP_KEY => $days
  71.       ],
  72.     ];
  73.   }
  74.   public function getPrice($category$equip$days)
  75.   {
  76.     if ($equip !== null && isset($this->prices[$category][$equip][$days]))
  77.       return $this->prices[$category][$equip][$days];
  78.     else if ($equip === null && isset($this->prices[$category][$days]) )
  79.       return $this->prices[$category][$days];
  80.     throw new PriceNotFoundException("Days : " $days "Category : " $category"Equip : " $equip);
  81.   }
  82.   public function getNameByType($category$equip)
  83.   {
  84.     if ($equip !== null && isset($this->names[$category][$equip]))
  85.       return $this->names[$category][$equip];
  86.     else if ($equip === null && isset($this->names[$category]) )
  87.       return $this->names[$category];
  88.   }
  89. }