<?php
namespace App\Http\Controllers;
use App\Book;
use App\TestSeries;
use App\Level;
use App\Degree;
use App\Course;
use App\Subject;
use App\Educator;
use Illuminate\Http\Request;
 use Softon\Indipay\Facades\Indipay;  


class HomeController 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 index()
    // {
    //     return view('home');
    // }
    public function index()
    {
        $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $randomcources = Course::where('status', '1')->inRandomOrder()->limit(10)->get();
        $educators = Educator::all()->where( 'status' , '1' );
        
        $popularcourceslist = Course::all()->where( 'popular' , 'Yes' );
         return view('user.pages.index')->withdegrees($degrees)->withCourceslist($courses)->withPopular($popularcourceslist)->withRandomcources($randomcources)->withEducators($educators);
    }
    public function facaltyregistration()
    {
        $courses = Course::all()->take(10)->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
         return view('user.pages.facalty')->withdegrees($degrees)->withCourses($courses);
    }
    public function privacypolicy()
    {
        $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        return view('user.pages.privacypolicy')->withdegrees($degrees)->withCourses($courses);
    }
    public function sellerspolicy()
    {
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        return view('user.pages.sellerspolicy')->withdegrees($degrees)->withCourses($courses);
    }
    public function sellerfaq()
    {
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        return view('user.pages.sellerfaq')->withdegrees($degrees)->withCourses($courses);
    }
    
    public function shippingpolicy()
    {
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        return view('user.pages.shippingpolicy')->withdegrees($degrees)->withCourses($courses);
    }
    public function termsoffer()
    {
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        return view('user.pages.termsoffer')->withdegrees($degrees)->withCourses($courses);
    }
    public function useragreement()
    {
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        return view('user.pages.useragreement')->withdegrees($degrees)->withCourses($courses);
    }
    public function about()
    {
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        return view('user.pages.about')->withdegrees($degrees)->withCourses($courses);
    }
    public function contact()
    {
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        return view('user.pages.contact')->withdegrees($degrees)->withCourses($courses);
    }
    public function foundation($slug)
    {
        $educator = Educator::where('slug', '=', $slug)->get()->first();
        $levels = Level::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $subjects = Subject::all()->where( 'status' , '1' );
        $educators = Educator::all()->where( 'status' , '1' );
        //echo $educator->id;
        $randomcources = Course::where('faculty_name', $educator->id)->inRandomOrder()->limit(3)->get();
        //print_r($randomcources);
       // die;
      
        $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        return view('user.pages.foundation')->withEducator($educator)->withdegrees($degrees)->withSubjects($subjects)->withLevels($levels)->withDegrees($degrees)->withCourses($courses)->withEducators($educators)->withRandomcources($randomcources);
    }
    public function shop()
    {
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        return view('user.pages.shop')->withdegrees($degrees)->withCourses($courses);
    }

    public function course($slug)
    {

        $degreecount = Degree::where('slug', '=', $slug)->count();
        $levelcount = Level::where('slug', '=', $slug)->count();
        $subjectcount = Subject::where('slug', '=', $slug)->count();
        $educators = Educator::all()->where( 'status' , '1' );
       
        $selecteddegree = array();
        $selectedlevel = array();
        $selectedsubject = array();
        if($degreecount>0)
        {
           // echo "degree";
            $type = "degree";
           // echo '<pre>';
            $selecteddegree = Degree::where('slug', '=', $slug)->get()->first();
            $courceslist =  Course::where('degree', '=',$selecteddegree->id)->inRandomOrder()->get();
            $testserieslist =  TestSeries::where('degree', '=',$selecteddegree->id)->get();
          
            $bookslist =  Book::where('degree', '=',$selecteddegree->id)->inRandomOrder()->get();
            $submenus = Level::where('degree', '=',$selecteddegree->id)->get();
        }
        else if($levelcount>0)
        {
            $type = "level";
           
            $selectedlevel = Level::where('slug', '=', $slug)->get()->first();
            $selecteddegree = Degree::where('id', '=', $selectedlevel->degree)->get()->first();
            $submenus = Level::where('degree', '=',$selectedlevel->degree)->get();
            $courceslist =  Course::where('level', '=',$selectedlevel->id)->inRandomOrder()->get();
            $testserieslist =  TestSeries::where('level', '=',$selectedlevel->id)->inRandomOrder()->get();
            $bookslist =  Book::where('level', '=',$selectedlevel->id)->inRandomOrder()->get();
        }
        else if($subjectcount>0)
        {
            $type = "subject";
            $selectedsubject = Subject::where('slug', '=',  $slug)->get()->first();
            $submenus = Level::where('degree', '=',$selectedsubject->degree)->get();

            $selecteddegree = Degree::where('id', '=', $selectedsubject->degree)->get()->first();
            $selectedlevel = Level::where('id', '=', $selectedsubject->level)->get()->first();


            $courceslist =  Course::where('subject', '=',$selectedsubject->id)->inRandomOrder()->get();
            $testserieslist =  TestSeries::where('subject', '=',$selectedsubject->id)->inRandomOrder()->get();
            $bookslist =  Book::where('subject', '=',$selectedsubject->id)->inRandomOrder()->get();
        }
        else
        {
            $type = "all";
            $submenus = Degree::all()->where( 'status' , '1' );
            $courceslist =  Course::all()->where( 'status' , '1' );
            $testserieslist =  TestSeries::all()->where( 'status' , '1' );
            $bookslist =  Book::all()->where( 'status' , '1' );
        }
        
       
        
     //  print_r($selecteditem);

        $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        // echo 'type';
        // echo $type;
        // echo "==================================";
        //  echo '<pre>';
        // // echo 'degree';
        //  print_r($selecteddegree);
        //   echo 'level';
        //   print_r($selectedlevel);
        //   echo $selectedlevel->name;
        //   echo $selecteddegree->name;

        //   echo 'sub';
        //   print_r($selectedsubject);
        // return view('user.pages.shop')->withdegrees($degrees)->withCourses($courses)->withSelecteditem($selecteditem)->withsubmenus($submenus);
        return view('user.pages.shop')->withdegrees($degrees)->withEducators($educators)->withCourses($courses)->withSubmenus($submenus)->withType($type)->withCourceslist($courceslist)->withTestserieslist($testserieslist)->withBookslist($bookslist)->withSelecteddegree($selecteddegree)->withSelectedlevel($selectedlevel)->withSelectedsubject($selectedsubject);

    }
    public function product($slug)
    {
       // echo $slug;
        $course = Course::where('slug', '=', $slug)->get()->first();

      
        $levels = Level::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $subjects = Subject::all()->where( 'status' , '1' );
        $educators = Educator::all()->where( 'status' , '1' );

        $relatedcources = Course::where('degree', $course->degree)->inRandomOrder()->limit(6)->get();
        // return view('user.pages.shop')->withdegrees($degrees)->withCourses($courses)->withSelecteditem($selecteditem)->withsubmenus($submenus);
         return view('user.pages.product')->withEducators($educators)->withCourse($course)->withSubjects($subjects)->withLevels($levels)->withDegrees($degrees)->withRelatedcources($relatedcources);

    }
    


}
