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)
|
public function handle($request, Closure $next)
|
||||||
{
|
{
|
||||||
if ($request->method() == 'POST' || $request->method() == 'PATCH') {
|
if (($request->method() != 'POST') && ($request->method() != 'PATCH')) {
|
||||||
$amount = $request->get('amount');
|
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');
|
$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');
|
$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 (isset($document_number) || !empty($items)) {
|
||||||
if (!empty($items)) {
|
if (!empty($items)) {
|
||||||
foreach ($items as $key => $item) {
|
foreach ($items as $key => $item) {
|
||||||
@ -46,13 +56,7 @@ class Money
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
$amount = $this->getAmount($item['price']);
|
||||||
$amount = money($item['price'])->getAmount();
|
|
||||||
} catch (InvalidArgumentException | OutOfBoundsException | UnexpectedValueException $e) {
|
|
||||||
logger($e->getMessage());
|
|
||||||
|
|
||||||
$amount = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
$items[$key]['price'] = $amount;
|
$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);
|
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