From 2e0a936ed855725b78722ddf331f456efeab6343 Mon Sep 17 00:00:00 2001 From: cuneytsenturk Date: Fri, 1 Feb 2019 16:27:45 +0300 Subject: [PATCH] Currencies Traits reverse because akaunting/money libraries fixed. --- app/Traits/Currencies.php | 49 +++++++++++---------------------------- 1 file changed, 14 insertions(+), 35 deletions(-) diff --git a/app/Traits/Currencies.php b/app/Traits/Currencies.php index 9f52ada56..f893c86b8 100644 --- a/app/Traits/Currencies.php +++ b/app/Traits/Currencies.php @@ -4,24 +4,18 @@ namespace App\Traits; use Akaunting\Money\Money; use Akaunting\Money\Currency; -use App\Models\Setting\Currency as CurrencyModel; trait Currencies { + public function convert($amount, $code, $rate, $format = false) { $default = new Currency(setting('general.default_currency', 'USD')); - $defaultCurrency = CurrencyModel::where('code', '=', $default->getCurrency()) - ->first(['code', 'rate']); - - $defaultRate = $defaultCurrency ? $defaultCurrency->rate : 1; - $unratedAmount = $amount / $rate; - if ($format) { - $money = Money::$code($unratedAmount, true)->convert($default, (double)$defaultRate)->format(); + $money = Money::$code($amount, true)->convert($default, (double) $rate)->format(); } else { - $money = Money::$code($unratedAmount)->convert($default, (double)$defaultRate)->getAmount(); + $money = Money::$code($amount)->convert($default, (double) $rate)->getAmount(); } return $money; @@ -30,9 +24,9 @@ trait Currencies public function divide($amount, $code, $rate, $format = false) { if ($format) { - $money = Money::$code($amount, true)->divide((double)$rate)->format(); + $money = Money::$code($amount, true)->divide((double) $rate)->format(); } else { - $money = Money::$code($amount)->divide((double)$rate)->getAmount(); + $money = Money::$code($amount)->divide((double) $rate)->getAmount(); } return $money; @@ -45,9 +39,9 @@ trait Currencies $code = new Currency($code); if ($format) { - $money = Money::$default($amount, true)->convert($code, (double)$rate)->format(); + $money = Money::$default($amount, true)->convert($code, (double) $rate)->format(); } else { - $money = Money::$default($amount)->convert($code, (double)$rate)->getAmount(); + $money = Money::$default($amount)->convert($code, (double) $rate)->getAmount(); } return $money; @@ -58,9 +52,9 @@ trait Currencies $code = new Currency($code); if ($format) { - $money = Money::$default($amount, true)->convert($code, (double)$rate)->format(); + $money = Money::$default($amount, true)->convert($code, (double) $rate)->format(); } else { - $money = Money::$default($amount)->convert($code, (double)$rate)->getAmount(); + $money = Money::$default($amount)->convert($code, (double) $rate)->getAmount(); } return $money; @@ -68,37 +62,22 @@ trait Currencies public function getConvertedAmount($format = false, $with_tax = true) { - $amount = $this->amount; - if (! $with_tax && isset($this->amount_without_tax)) { - $amount = $this->amount_without_tax; - } + $amount = $with_tax ? $this->amount : (isset($this->amount_without_tax) ? $this->amount_without_tax : $this->amount); return $this->convert($amount, $this->currency_code, $this->currency_rate, $format); } public function getReverseConvertedAmount($format = false, $with_tax = true) { - $amount = $this->amount; - if (! $with_tax && isset($this->amount_without_tax)) { - $amount = $this->amount_without_tax; - } + $amount = $with_tax ? $this->amount : (isset($this->amount_without_tax) ? $this->amount_without_tax : $this->amount); return $this->reverseConvert($amount, $this->currency_code, $this->currency_rate, $format); } public function getDynamicConvertedAmount($format = false, $with_tax = true) { - $amount = $this->amount; - if (! $with_tax && isset($this->amount_without_tax)) { - $amount = $this->amount_without_tax; - } + $amount = $with_tax ? $this->amount : (isset($this->amount_without_tax) ? $this->amount_without_tax : $this->amount); - return $this->dynamicConvert( - $this->default_currency_code, - $amount, - $this->currency_code, - $this->currency_rate, - $format - ); + return $this->dynamicConvert($this->default_currency_code, $amount, $this->currency_code, $this->currency_rate, $format); } -} \ No newline at end of file +}