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');
         }
     }
 }