<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

use App\Blog;

use Validator;
use Response;
use Illuminate\Support\Facades\Input;

class BlogController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //show data


        // $blogs =  Blog::all();
        // return view('blog.index',['blogs' => $blogs]);
      
      $search = \Request::get('search');
      $blogs = Blog::where('full_name','like','%'.$search.'%')->orderBy('id');
      return view('blog.index',['blogs' => $blogs]);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //create new data
        return view('blog.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
       // validation
      $this->validate($request,[
      'image'=> 'required',
      'full_name'=> 'required',
      'sex'=> 'required',
      'id_number'=> 'required',
      'birth_date'=> 'required',
      'province'=> 'required',
      'district'=> 'required',
      'sector'=> 'required',
    ]);

      // save new data
    $blog = new blog;
    $blog->image = $request->image;
    $blog->full_name = $request->full_name;
    $blog->sex = $request->sex;
    $blog->id_number = $request->id_number;
    $blog->birth_date = $request->birth_date;
    $blog->province = $request->province;
    $blog->district = $request->district;
    $blog->sector = $request->sector;
    $blog->save();
    return redirect()->route('blog.index')->with('alert-success','Data has been Saved!');

    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($name)
    {
        $blogs = Blog::where('full_name', 'LIKE', '%'.$name.'%')->get();
         return view('blog.index',['blogs' => $blogs]);
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        $blog = Blog::findOrFail($id);
        // return to the edit views
        return view('blog.edit',compact('blog'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        // validation
        $this->validate($request,[
        'image'=> 'required',
      'full_name'=> 'required',
      'sex'=> 'required',
      'id_number'=> 'required',
      'birth_date'=> 'required',
      'province'=> 'required',
      'district'=> 'required',
      'sector'=> 'required',
      ]);

        $blog = Blog::findOrFail($id);
        $blog->image = $request->image;
        $blog->full_name = $request->full_name;
        $blog->sex = $request->sex;
        $blog->id_number = $request->id_number;
        $blog->birth_date = $request->birth_date;
        $blog->province = $request->province;
        $blog->district = $request->district;
        $blog->sector = $request->sector;
        $blog->save();

        return redirect()->route('blog.index')->with('alert-success','Data has been Saved!');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        // delete data
        $blog = Blog::findOrFail($id);
        $blog->delete();
        return redirect()->route('blog.index')->with('alert-success','Data has been Saved!');
    }
}