smallkan

Untitled

Oct 17th, 2020
978
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public function buy(Request $request)
  2.     {
  3.         $request->validate([
  4.             'valor_cartela' => ['required', 'numeric', 'max:255'],
  5.             'quantidade_cartelas' => ['required','numeric','min:1'],
  6.         ],[
  7.             'numeric' => 'O :attribute deve ser numérico.',
  8.             'required' => 'O :attribute é obrigatório!',
  9.             'min' => 'Você deve informar ao menos :min cartela pra compra.'
  10.         ]);
  11.         $user = auth()->user();
  12.         $inputs = $request->all();
  13.  
  14.         try {
  15.             $cardsQuantity = $request->quantidade_cartelas;
  16.  
  17.             $this->price = (float) number_format($request->valor_cartela, 2, ".", ".");
  18.             $this->sortitionId = $request->sorteio_id;
  19.  
  20.             $this->totalBuyValue = ($this->price * $cardsQuantity);
  21.  
  22.             if ($user->balanceFloat * 100 >= $this->totalBuyValue) {
  23.                 $user->withdraw($this->totalBuyValue * 100, ['description' => 'Você comprou '.$cardsQuantity . ' cartelas!']);
  24.  
  25.                 for ($i=0; $i < $cardsQuantity; $i++)
  26.                 {
  27.                     $this->generateDozens();
  28.                 }
  29.  
  30.                 try {
  31.                     Flash::success('Compra realizada com sucesso!');
  32.  
  33.                     return redirect()->back();
  34.                 } catch (\Exception $e) {
  35.                     Flash::error($e->getMessage());
  36.  
  37.                     return redirect()->back();
  38.                 }
  39.             } else {
  40.                 Flash::error('Você não possui créditos suficientes para realizar a compra!');
  41.  
  42.                 return redirect()->back();
  43.             }  
  44.         } catch (\Exception $e) {
  45.             Flash::error('Você não possui créditos suficientes para realizar a compra!');
  46.  
  47.             return redirect()->back();
  48.         }
  49.     }
RAW Paste Data