Example #1
0
 public function store()
 {
     $validator = Validator::make(Input::all(), ['nameaccount' => 'required|min:6', 'numberaccount' => 'required|min:27|max:34']);
     if ($validator->passes()) {
         //            $wallet = UserDeposit::where('user_id','=',Auth()->user()->getAuthIdentifier())->first();
         $nameAccount = Input::get('nameaccount');
         $numberAccount = Input::get('numberaccount');
         if ($wallet = BitcoinAccount::create(array('user_id' => Auth()->user()->getAuthIdentifier(), 'name' => $nameAccount, 'number_account' => $numberAccount, 'status' => 'pending', 'balance_in' => 0, 'balance_out' => 0))) {
             //si se guardo la informacion ahoa si muevo el archivo
             return redirect()->route('wallets.index');
         } else {
             return redirect()->route('wallets.index')->withErrors($validator);
         }
     } else {
         return redirect()->route('wallets.index')->withErrors($validator);
     }
 }
Example #2
0
 public function cashOut()
 {
     //        echo 'peticion de sacar dinero';
     $validator = Validator::make(Input::all(), ['inputLableautyRadio' => 'required', 'amount' => 'required|min:1', 'bitcoinacount' => 'required']);
     $cartera = Input::get('inputLableautyRadio');
     $cantidad = Input::get('amount');
     $bitcoinacount = Input::get('bitcoinacount');
     echo '<br>' . $cantidad . '<br>';
     echo '<br>' . $bitcoinacount . '<br>';
     //        dd($cartera);
     if ($cartera == 'utilities' | $cartera == 'commission') {
         //VALIDO QUE SEA UNA CUENTA VALIDA Y NO OTRA
         if ($validator->passes()) {
             //SI LOS DATOS SON CORRECTOS
             $a = new DateTime("-30 days");
             $fecha = $a->setTime(0, 0, 0);
             $restriccion = UserCashout::where('created_at', '>', $fecha)->get();
             //saco una consulta con 30 dias atras
             //                dd($restriccion);
             if ($restriccion != null && $restriccion->count() > 0) {
                 //valido que no hayan pasado menos de 30 dias
                 //                    dd('todavia no pasan los 30 dias de espera');
                 $validator->errors()->add('nfondos', 'you have to wait 30 days after each withdrawal');
                 //AGREGO UN ERROR A MANO
                 return redirect()->route('wallets.cashout')->withErrors($validator);
             } else {
                 //si esta vacio es que no ha echo un retiro 30 DIAS
                 $wallet = UserWallet::where('user_id', '=', Auth()->user()->getAuthIdentifier())->first();
                 //            $wallet= UserWallet::where('user_id','=','Auth()->user()->getAuthIdentifier()')->get();
                 if ($wallet != null && $wallet[$cartera] > 100) {
                     //valido que tenga fondos
                     //                        dd('si tiene fondos');
                     if ($cantidad < $wallet[$cartera] && $cantidad >= 100) {
                         //reviso que sea mayor a 100 y menor o igual a lo que tiene
                         //                            dd('si se puede pagar ');
                         $comision = $cantidad * 0.03;
                         $cantidad = $cantidad - $comision;
                         // SACO LA CUENTA DE BITCOIN
                         $cuenta = BitcoinAccount::where('user_id', Auth()->user()->getAuthIdentifier())->WHERE('id', $bitcoinacount)->get(['name', 'id', 'user_id']);
                         $a = $cuenta[0]['original']['name'];
                         echo '<br>' . $a . '<br>';
                         echo '<br>' . $cuenta[0]['original']['name'] . '<br>';
                         $cashout = UserCashout::create(array('user_id' => $cuenta[0]['original']['user_id'], 'bitcoin_id' => $cuenta[0]['original']['id'], 'from' => $cartera, 'amount' => $cantidad, 'status' => 'pending', 'note' => '{}'));
                         //                            dd($cashout);
                         //                            $validator->errors()->add('nfondos',"don't have funds");
                         return redirect()->route('wallets.cashout');
                     } else {
                         //                            dd('no se puede pagar');
                         $validator->errors()->add('nfondos', "don't have funds ");
                         return redirect()->route('wallets.cashout')->withErrors($validator);
                     }
                 } else {
                     //si no tiene fondos lo regreso al menu
                     //                        dd('no hay nada');
                     $validator->errors()->add('nfondos', "don't have funds");
                     return redirect()->route('wallets.cashout')->withErrors($validator);
                 }
             }
         } else {
             //                dd($validator);
             return redirect()->route('wallets.cashout')->withErrors($validator);
         }
     } else {
         //FIN DEL IF QUE VALIDA QUE SEA UNA CUENTA VALIDA
         return redirect()->route('wallets.cashout')->withErrors($validator);
     }
 }