<?php
namespace Uniski\ResourceBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Uniski\CommerceBundle\Exception\PriceNotFoundException;
/**
* @ORM\Entity
**/
class RentingRate extends PriceRate
{
const PRICE_SKI_GOLD_KEY = 'ski_gold';
const PRICE_SKI_SILVER_KEY = 'ski_silver';
const PRICE_SKI_ECO_KEY = 'ski_eco';
const PRICE_SB_GOLD_KEY = 'sb_gold';
const PRICE_SB_SILVER_KEY = 'sb_silver';
const PRICE_SB_ECO_KEY = 'sb_ec';
const PRICE_FULL_EQUIP_KEY = 'ec';
const PRICE_HALF_EQUIP_KEY = 'pe';
public $names = [
self::PRICE_SKI_GOLD_KEY => [
self::PRICE_FULL_EQUIP_KEY => 'Esquí ORO, Esquís + botas + palos',
self::PRICE_HALF_EQUIP_KEY => 'Esquí ORO, Esquis + palos'
],
self::PRICE_SKI_SILVER_KEY => [
self::PRICE_FULL_EQUIP_KEY => 'Esquí PLATA, Esquís + botas + palos',
self::PRICE_HALF_EQUIP_KEY => 'Esquí PLATA, Esquis + palos'
],
self::PRICE_SKI_ECO_KEY => [
self::PRICE_FULL_EQUIP_KEY => 'Esquí ECO, Esquís + botas + palos',
self::PRICE_HALF_EQUIP_KEY => 'Esquí ECO, Esquis + palos'
],
self::PRICE_SB_GOLD_KEY => [
self::PRICE_FULL_EQUIP_KEY => 'Snowboard ORO, Tabla snowboard + botas',
self::PRICE_HALF_EQUIP_KEY => 'Snowboard ORO, Tabla snowboard'
],
self::PRICE_SB_SILVER_KEY => [
self::PRICE_FULL_EQUIP_KEY => 'Snowboard PLATA, Tabla snowboard + botas',
self::PRICE_HALF_EQUIP_KEY => 'Snowboard PLATA, Tabla snowboard'
],
self::PRICE_SB_ECO_KEY => [
self::PRICE_FULL_EQUIP_KEY => 'Snowboard ECO, Tabla snowboard + botas',
self::PRICE_HALF_EQUIP_KEY => 'Snowboard ECO, Tabla snowboard'
],
];
public static function getModel($options = null)
{
$days = [1 => '', 2 => '', 3 => '', 4 => '', 5 => '', 6 => ''];
return [
self::PRICE_SKI_GOLD_KEY => [
self::PRICE_FULL_EQUIP_KEY => $days,
self::PRICE_HALF_EQUIP_KEY => $days
],
self::PRICE_SKI_SILVER_KEY => [
self::PRICE_FULL_EQUIP_KEY => $days,
self::PRICE_HALF_EQUIP_KEY => $days
],
self::PRICE_SKI_ECO_KEY => [
self::PRICE_FULL_EQUIP_KEY => $days,
self::PRICE_HALF_EQUIP_KEY => $days
],
self::PRICE_SB_GOLD_KEY => [
self::PRICE_FULL_EQUIP_KEY => $days,
self::PRICE_HALF_EQUIP_KEY => $days
],
self::PRICE_SB_SILVER_KEY => [
self::PRICE_FULL_EQUIP_KEY => $days,
self::PRICE_HALF_EQUIP_KEY => $days
],
self::PRICE_SB_ECO_KEY => [
self::PRICE_FULL_EQUIP_KEY => $days,
self::PRICE_HALF_EQUIP_KEY => $days
],
];
}
public function getPrice($category, $equip, $days)
{
if ($equip !== null && isset($this->prices[$category][$equip][$days]))
return $this->prices[$category][$equip][$days];
else if ($equip === null && isset($this->prices[$category][$days]) )
return $this->prices[$category][$days];
throw new PriceNotFoundException("Days : " . $days . "Category : " . $category. "Equip : " . $equip);
}
public function getNameByType($category, $equip)
{
if ($equip !== null && isset($this->names[$category][$equip]))
return $this->names[$category][$equip];
else if ($equip === null && isset($this->names[$category]) )
return $this->names[$category];
}
}