<?php

namespace App\Http\Controllers\Admin;

use App\DataTables\UssdPricingDataTable;
use App\Http\Controllers\Controller;
use App\UssdPrice;
use Illuminate\Http\Request;
use Illuminate\Http\Response;

class UssdPricingController extends Controller
{

    public function index(UssdPricingDataTable $ussd)
    {
        return $ussd->render('admin.ussd.index');
    }


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

    public function store(Request $request)
    {
        $data = $request->validate(
            [
                'name'=>'required',
                'sessions'=>'required',
                'cost'=>'required|numeric',
                'apply_to'=>'required',
                'is_active'=>'required',
            ]
        );


       $service = UssdPrice::query()->create($data);

        return redirect()->route('admin.ussd.pricing')->with('success',"{$service->name} successfully created");
    }


    public function show($id)
    {
        //
    }


    public function edit(Request $request,UssdPrice $price)
    {
        return  $request->isMethod('post') ? $this->update($request,$price) : view('admin.ussd.edit',['prices'=>$price]);
    }


    public function update(Request $request, $price)
    {
        $data = $request->validate(
            [
                'name'=>'required',
                'sessions'=>'required',
                'cost'=>'required|numeric',
                'apply_to'=>'required',
                'is_active'=>'required',
            ]
        );
        $price->update($data);
         auth()->user()->trail('EDIT USSD PACKAGE '.$price->name);

        return redirect()->route('admin.ussd.pricing')->with('success',"{$price->name} successfully edited");
    }


    public function destroy($id)
    {
        //
    }
}
