<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Foundation\Auth;
use App\Services\moneyService;
use Illuminate\Support\Facades\Validator;

class PostsController extends Controller
{
    public function index(Request $request)
    {
    	 $validatedData = $request->validate([
            'email' => 'required|email',
            'num' => 'required|numeric'
        ]);
    	session()->flash('status', 'Thanks for funding your acc!');
    	if (auth()->check()) {
	    	$bank= new \App\bank;
	    	$vs=$bank::where('user_id', auth()->user()->id)->count();
	    	if($vs==0){
		    	$bank->user_id=auth()->user()->id;
		    	$bank->money=$request->num;
		    	$bank->email=$request->email;
		    	$bank->save();
	    	}
	    	else{
	    		$mon=$request->num;
	    		$cal=\App\bank::where('user_id', auth()->user()->id)->get('money');
	    		$res = json_decode($cal, true);
	    		$upd=$res[0]['money'];
	    		$bank::where('user_id', auth()->user()->id)->update(['money' => $upd+$mon]);
	    	}
	    }
    	return view('posts.index');
    }

    public function indexx(){
    	return view('posts.index');
    }

     public function daily()
    {
    	return view('posts.daily');
    }

   public function casino(){
   	return view('posts.casino');
   }

   public function post_casino(Request $request){
   	$validator = Validator::make($request->all(), [
            'num' => 'required|numeric'
        ]);
   	if ($validator->fails()) {
            return redirect('casino')
                        ->withErrors($validator)
                        ->withInput();
        }
   	$mon = $request->num;
   	$cal=\App\bank::where('user_id', auth()->user()->id)->get('money');
	$res = json_decode($cal, true);
	$upd=$res[0]['money'];
	if($mon>$upd){
			echo "You dont have enough money!";
			$validator->errors()->add('num', 'You dont have enough money!');
		}	
	else{
		$bank= new \App\bank;
		$bank::where('user_id', auth()->user()->id)->update(['money' => $upd-$mon]);
	   	$mS=new moneyService;
	   	$newmon=$mS->multiply2($mon);
	   	$bank::where('user_id', auth()->user()->id)->update(['money' => $upd-$mon+$newmon]);
	   	return view('posts.casino', 
	   		['mon'=>$mon,
	   		 'newmon'=>$newmon]);
	   }
   }
}