public function convertGems(convertFormRequest $request) { // Get user id from form $id = $request->id; $user = User::find($id); // Get amount of gems to convert $gemsAmount = $request->gemsAmount; if ($user->gems >= $gemsAmount) { // Convert gems to money $converted = $gemsAmount / 100; // Saves new values in database $user->gems = $user->gems - $gemsAmount; $user->money = $user->money + $converted; $user->save(); // Create transaction record $transaction = new Transactions(); $transaction->user_id = $id; $transaction->username = $user->username; $transaction->status = 'CONVERT'; $transaction->amount = $gemsAmount; $transaction->value = 'GEMS'; $transaction->result = $converted; $transaction->result_value = 'POUNDS'; $transaction->save(); return Redirect::back()->with('convertSuccessMessage', 'You successfully converted ' . $gemsAmount . ' Gems to £' . number_format($converted, 2) . '!'); } else { return Redirect::back()->with('convertErrorMessage', 'You do not have the required funds to make that conversion.'); } }
public function store(Request $request) { $v = $this->validator($request->all()); //VALIDACIÓN DE FORMULARIO if ($v->fails()) { return redirect()->back()->withErrors($v->errors())->withInput(); } else { if (sizeof($request->items) >= 1) { $itemsArray = array(); $subtotal = 0; foreach ($request->items as $item) { list($itemId, $profit, $profit_id, $cost, $quantity) = explode('-', $item); $subtotal += floatval($cost); array_push($itemsArray, ['itemID' => $itemId, 'profit' => $profit, 'profit_id' => $profit_id, 'cost' => $cost, 'quantity' => $quantity]); } $transact = new Transactions(); $transact->total = $request->total; $transact->sub_total = $subtotal; $transact->seller_id = Auth::id(); $transact->buyer_id = $request->buyer_id; if ($transact->save()) { foreach ($itemsArray as $item) { try { $detail = new TransactionsDetails(); $detail->cost = $item['cost']; $detail->price = round(floatval($item['cost'] * (1 + $item['profit']))); $detail->quantity = $item['quantity']; $detail->item_id = $item['itemID']; $detail->transaction_id = $transact->id; $detail->profit = $item['profit']; $detail->profit_id = $item['profit_id']; $detail->save(); } catch (\Exception $e) { dump($e); } } return redirect()->action('TransactionsController@create')->with('message', 'La venta se realizó con éxito.')->with('pdf', $transact->id)->with('docType', 'transaction'); } } else { return redirect()->action('TransactionsController@create')->with('error', 'No se han elegido articulos'); } } }