<?php

namespace App\Http\Controllers\Admin;
use App\DataTables\TaxDataTable;
use App\Http\Controllers\Controller;
use App\Tax;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class TaxController extends Controller
{

    public function index(TaxDataTable $tax)
    {

        return $tax->render('admin.tax.index');
    }

    public function create(Request $request)
    {
        return $request->isMethod('post') ? $this->store($request) : view('admin.tax.create');
    }


    public function store(Request $request)
    {
        $array = $request->validate(
            [
                'name' => 'required',
                'amount'=> 'required',
                'description'=>'sometimes|nullable|max:200'
            ]
        );

        $array['value'] =  $array['amount'];
        unset($array['amount']);

        DB::beginTransaction();
            Tax::query()->create($array);
        DB::commit();


        return  redirect()->route('tax.index')->with('success','Tax Successfully created');
    }


    public function show(Request $request,$id)
    {
            return $request->has('destroy') ?  $this->destroy($id) : null;
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    public function destroy($id)
    {
        Tax::destroy($id);
        return  redirect()->back()->with('success','Tax Successfully created');
    }
}
