Money middleware re-factoring..
This commit is contained in:
parent
6852d83cb9
commit
e251a14106
@ -19,26 +19,36 @@ class Money
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
if ($request->method() == 'POST' || $request->method() == 'PATCH') {
|
||||
$amount = $request->get('amount');
|
||||
if (($request->method() != 'POST') && ($request->method() != 'PATCH')) {
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
$parameters = [
|
||||
'amount',
|
||||
'sale_price',
|
||||
'purchase_price',
|
||||
'opening_balance',
|
||||
];
|
||||
|
||||
foreach ($parameters as $parameter) {
|
||||
if (!$request->has($parameter)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$money_format = $request->get($parameter);
|
||||
|
||||
if ($parameter == 'sale_price' || $parameter == 'purchase_price') {
|
||||
$money_format = Str::replaceFirst(',', '.', $money_format);
|
||||
}
|
||||
|
||||
$amount = $this->getAmount($money_format);
|
||||
|
||||
$request->request->set($parameter, $amount);
|
||||
}
|
||||
|
||||
$document_number = $request->get('document_number');
|
||||
$sale_price = $request->get('sale_price');
|
||||
$purchase_price = $request->get('purchase_price');
|
||||
$opening_balance = $request->get('opening_balance');
|
||||
$items = $request->get('items');
|
||||
|
||||
if (!empty($amount)) {
|
||||
try {
|
||||
$amount = money($amount)->getAmount();
|
||||
} catch (InvalidArgumentException | OutOfBoundsException | UnexpectedValueException $e) {
|
||||
logger($e->getMessage());
|
||||
|
||||
$amount = 0;
|
||||
}
|
||||
|
||||
$request->request->set('amount', $amount);
|
||||
}
|
||||
|
||||
if (isset($document_number) || !empty($items)) {
|
||||
if (!empty($items)) {
|
||||
foreach ($items as $key => $item) {
|
||||
@ -46,13 +56,7 @@ class Money
|
||||
continue;
|
||||
}
|
||||
|
||||
try {
|
||||
$amount = money($item['price'])->getAmount();
|
||||
} catch (InvalidArgumentException | OutOfBoundsException | UnexpectedValueException $e) {
|
||||
logger($e->getMessage());
|
||||
|
||||
$amount = 0;
|
||||
}
|
||||
$amount = $this->getAmount($item['price']);
|
||||
|
||||
$items[$key]['price'] = $amount;
|
||||
}
|
||||
@ -61,53 +65,19 @@ class Money
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($opening_balance)) {
|
||||
try {
|
||||
$amount = money($opening_balance)->getAmount();
|
||||
} catch (InvalidArgumentException | OutOfBoundsException | UnexpectedValueException $e) {
|
||||
logger($e->getMessage());
|
||||
|
||||
$amount = 0;
|
||||
}
|
||||
|
||||
$opening_balance = $amount;
|
||||
|
||||
$request->request->set('opening_balance', $opening_balance);
|
||||
}
|
||||
|
||||
if (isset($sale_price)) {
|
||||
$sale_price = Str::replaceFirst(',', '.', $sale_price);
|
||||
|
||||
try {
|
||||
$amount = money($sale_price)->getAmount();
|
||||
} catch (InvalidArgumentException | OutOfBoundsException | UnexpectedValueException $e) {
|
||||
logger($e->getMessage());
|
||||
|
||||
$amount = 0;
|
||||
}
|
||||
|
||||
$sale_price = $amount;
|
||||
|
||||
$request->request->set('sale_price', $sale_price);
|
||||
}
|
||||
|
||||
if (isset($purchase_price)) {
|
||||
$purchase_price = Str::replaceFirst(',', '.', $purchase_price);
|
||||
|
||||
try {
|
||||
$amount = money($purchase_price)->getAmount();
|
||||
} catch (InvalidArgumentException | OutOfBoundsException | UnexpectedValueException $e) {
|
||||
logger($e->getMessage());
|
||||
|
||||
$amount = 0;
|
||||
}
|
||||
|
||||
$purchase_price = $amount;
|
||||
|
||||
$request->request->set('purchase_price', $purchase_price);
|
||||
}
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
protected function getAmount($money_format)
|
||||
{
|
||||
try {
|
||||
$amount = money($money_format)->getAmount();
|
||||
} catch (InvalidArgumentException | OutOfBoundsException | UnexpectedValueException $e) {
|
||||
logger($e->getMessage());
|
||||
|
||||
$amount = 0;
|
||||
}
|
||||
|
||||
return $amount;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user