API
This commit is contained in:
46
api/src/Moneda.php
Normal file
46
api/src/Moneda.php
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
namespace Contabilidad;
|
||||
|
||||
use ProVM\Common\Alias\Model;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property string $denominacion
|
||||
* @property string $codigo
|
||||
* @property string $sufijo
|
||||
* @property string $prefijo
|
||||
* @property int $decimales
|
||||
*/
|
||||
class Moneda extends Model {
|
||||
public static $_table = 'monedas';
|
||||
protected static $fields = ['denominacion', 'codigo'];
|
||||
|
||||
public function format($valor) {
|
||||
return implode('', [
|
||||
$this->prefijo,
|
||||
number_format($valor, $this->decimales, ',', '.'),
|
||||
$this->sufijo
|
||||
]);
|
||||
}
|
||||
public function cambio(\DateTime $fecha) {
|
||||
$cambio = $this->factory->find(TipoCambio::class)
|
||||
->where([['desde_id', $this->id], ['hasta_id', 1], ['fecha', $fecha->format('Y-m-d H:i:s')]])
|
||||
->one();
|
||||
if (!$cambio) {
|
||||
$cambio = $this->factory->find(TipoCambio::class)
|
||||
->where([['hasta_id', $this->id], ['desde_id', 1], ['fecha', $fecha->format('Y-m-d H:i:s')]])
|
||||
->one();
|
||||
}
|
||||
return $cambio;
|
||||
}
|
||||
public function cambiar(\DateTime $fecha, float $valor) {
|
||||
$cambio = $this->cambio($fecha);
|
||||
if (!$cambio) {
|
||||
return $valor;
|
||||
}
|
||||
if ($cambio->desde()->id != $this->id) {
|
||||
return $cambio->transform($valor, TipoCambio::DESDE);
|
||||
}
|
||||
return $cambio->transform($valor);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user