toDateString(); $manage_activity_schedule = ActivitySchedule::where('activity_master_id', $id) ->where('start_date', '<=',$current_day) ->where('end_date', '>=',$current_day) ->get() ->toArray(); // echo "
"; print_r($manage_activity_schedule);exit;
        return view('Admin.Pages.manage_activities.summer_sweats.summer_sweat')->with(['manage_activity_schedule' => $manage_activity_schedule]);
    }
    
    public function show_upcoming_schedule($id) {
        
        $current_day = Carbon::now()->toDateString();

        $manage_activity_schedule = ActivitySchedule::with('subscription')
                                                    ->where('activity_master_id', $id)
                                                    ->where('end_date', '>=',$current_day)
                                                    ->get()
                                                    ->toArray();
//                echo "
"; print_r($manage_activity_schedule);exit;
        return view('Admin.Pages.manage_activities.summer_sweats.upcoming_summer_sweat')->with(['manage_activity_schedule' => $manage_activity_schedule]);
    }
//    public function index() {
//        $add_past_session = PastSession::all()->toArray();
////        echo "
"; print_r($add_past_session);exit;
//        $manage_activity = ActivityMaster::with('subscription','schedule')->get()->toArray();
////        echo "
";print_r($manage_activity);exit;
//        $act_sch = array_column($manage_activity,'schedule');
////         echo "
"; print_r($act_sch);exit;
//        return view('Admin.Pages.manage_activities.manage_activity')->with(['data' => $manage_activity,'act_sch'=>$act_sch,'past_session'=>$add_past_session]);
//    }

    public function index() {
        $add_past_session = PastSession::all()->toArray();
        $currentDate = date('Y-m-d');
        $schedule_data= [];
        $manage_upcoming_activity = ActivityMaster::with('subscription', 'schedule')
                // ->where('start_date', '<=', $currentDate)
                ->where('end_date', '>=', $currentDate)
                ->get()
                ->toArray();
        $manage_live_activity = ActivityMaster::with('subscription', 'schedule')
                ->where('start_date', '<=', $currentDate)
                ->where('end_date', '>=', $currentDate)
                ->get()
                ->toArray();
//        $act_sch = array_column($manage_activity, 'schedule');
//        if($manage_activity){
//        $activity_master_id = $manage_activity[0]['id'];
//        $manage_activity_upcomimg = ActivitySchedule::with('subscription')
//                        ->where('activity_master_id',$activity_master_id)
//                        ->where('start_date', '>=' , $currentDate)
//                        ->get()
//                        ->toArray();
        
        $manage_past_activity = ActivityMaster::with('subscription')
                        ->where('start_date','<=',$currentDate)
                        ->get()
                        ->toArray();
//        }
//        echo "
";print_r($manage_activity_past);exit;
//        $past_data = [];
//        foreach ($schedule_data as $value){
//            
//            $past_data[$value['id']] = PastSession::where('activity_schedule_id',$value['id'])->get()->toArray();
////            print_r($past_data);
////            exit;
//            
//        }
//        echo '
';print_r($past_data);exit;
//        echo "
";print_r($manage_activity_upcomimg);exit;
        return view('Admin.Pages.manage_activities.manage_activity')
                        ->with(['data' => $manage_upcoming_activity,'past_session' => $manage_past_activity,'live_data' => $manage_live_activity]);
    }

    public function insert_main_activity(Request $request) {
//        echo "
";print_r($request->all());die;
        // for image upload start
        // echo "
";
        // print_r($request->all());
        // exit;
        $rules = [
            'myFile' => 'required|file|max:400', // 400 KB
        ];
    
        $validator = Validator::make($request->all(),$rules);
 
        if ($validator->fails()) {
            if ($request->expectsJson()) {
                return response()->json([
                    'success' => false,
                    'status' => 422]);
            }
        }
        else {
            $file = $request->file('myFile');
            $ext = $file->extension();
            $file_name = time() . '.' . $ext;
            $path = public_path() . '/uploads/activity_banner_images';
            $file->move($path, $file_name);
        }

        $activity_master = new ActivityMaster;
        $activity_master->activity_name = $request->input('activity_name');
        $activity_master->title = $request->input('activity_title');
        $activity_master->main_activity_banner = url('/public/uploads/activity_banner_images/' . $file_name);
        $activity_master->description = $request->input('description');
        $activity_master->start_date = $request->input('start_date');
        $activity_master->end_date = $request->input('end_date');
        $activity_master->teacher_id = $request->input('teacher_id');
        // $activity_master->teaser_url = $request->input('video_teaser_url');
        $activity_master->benefits = json_encode($request->input('benefits'));
        $activity_master->pre_requisites = json_encode($request->input('pre_requisites'));
        $activity_master->subscription_id = $request->input('subscription_id');
        $activity_master->save();
        
        // dd($activity_master->id);
        foreach ($request->input('faq_id') as $faq_id) {
            $faqs_activity_Ids = new LinkFaqActivityMasterIds;
            $faqs_activity_Ids->faqs_id = $faq_id;
            $faqs_activity_Ids->activity_master_id = $activity_master->id;
            $faqs_activity_Ids->save();
        }

        return response()->json([
                    'activity_data' => $activity_master->id,
                    'success' => true,
                    'status' => 200]);
    }

    public function create_main_activity() {
        $subcription = SubscriptionMaster::all()->toArray();
        $teacher = Teacher::all()->toArray();
        $faqs = ManageFaq::all()->toArray();
        return view('Admin.Pages.manage_activities.add_new_main_activities')->with(['subcriptions' => $subcription, 'teacher' => $teacher, 'faqs' => $faqs,]);
    }

    public function edit_main_activity($id) {
        $subcription = SubscriptionMaster::all()->toArray();
        $teacher_data = Teacher::all()->toArray();
        $faqs_data = ManageFaq::all()->toArray();
        $get_manage_activity = ActivityMaster::with('faq_activity_link')->where('id', $id)->first()->toArray();
        $act_faq = array_column($get_manage_activity['faq_activity_link'], 'faqs_id');

        //        for benefits
        $get_manage_activity['benefits_array'] = json_decode($get_manage_activity['benefits']);
        //        for benefits end
        //        for pre_requisites
        $get_manage_activity['Pre_requisites_array'] = json_decode($get_manage_activity['pre_requisites']);
        //        for pre_requisites end


        return view('Admin.Pages.manage_activities.edit_main_activities')->with(['get_manage_activity' => $get_manage_activity, 'subcriptions' => $subcription, 'teacher_datas' => $teacher_data, 'faqs_datas' => $faqs_data, 'act_faq' => $act_faq]);
    }
    
     public function edit_upcoming_main_activity($id) {
         
        //  dd($id);
        $subcription = SubscriptionMaster::all()->toArray();
        $teacher_data = Teacher::all()->toArray();
        $faqs_data = ManageFaq::all()->toArray();
        $get_manage_activity = ActivityMaster::with('faq_activity_link')->where('id', $id)->first()->toArray();
        $act_faq = array_column($get_manage_activity['faq_activity_link'], 'faqs_id');

        //        for benefits
        $get_manage_activity['benefits_array'] = json_decode($get_manage_activity['benefits']);
        //        for benefits end
        //        for pre_requisites
        $get_manage_activity['Pre_requisites_array'] = json_decode($get_manage_activity['pre_requisites']);
        //        for pre_requisites end


        return view('Admin.Pages.manage_activities.edit_upcoming_main_activities')->with(['get_manage_activity' => $get_manage_activity, 'subcriptions' => $subcription, 'teacher_datas' => $teacher_data, 'faqs_datas' => $faqs_data, 'act_faq' => $act_faq]);
    }

    public function update_main_activity(Request $request) {

//              echo "
";print_r($request->all());
        $activity_master_id = $request->edit_main_activity_id;
        $link_master_id = LinkFaqActivityMasterIds::where('activity_master_id', $request->edit_main_activity_id)->delete();

        foreach ($request->input('faq_id') as $faq_id) {
            $faqs_activity_Ids = new LinkFaqActivityMasterIds;
            $faqs_activity_Ids->faqs_id = $faq_id;
            $faqs_activity_Ids->activity_master_id = $request->edit_main_activity_id;
            $faqs_activity_Ids->save();
        }
        if ($request->main_activity_banner) {
            $rules = [
                'main_activity_banner' => 'required|file|max:400', // 400 KB
            ];
        
            $validator = Validator::make($request->all(),$rules);
     
            if ($validator->fails()) {
                if ($request->expectsJson()) {
                    return response()->json(['success' => false, 'status' => 422]);
                }
            }
            else {
                $file = $request->file('main_activity_banner');
                $ext = $file->extension();
                $file_name = time() . '.' . $ext;
                $path = public_path() . '/uploads/activity_banner_images/';
                $file->move($path, $file_name);
                $file_name_store = url('/public/uploads/activity_banner_images/' . $file_name);
            }
            // print_r($file_name_store);
            // exit;
        } else {
            $file_name_store = $request->db_image;
        }
        // dd($file_name_store);
        $activity_master = ActivityMaster::find($request->edit_main_activity_id);
        $activity_master->activity_name = $request->input('activity_name');
        $activity_master->title = $request->input('activity_title');
        $activity_master->description = $request->input('description');
        $activity_master->start_date = $request->input('start_date');
        $activity_master->end_date = $request->input('end_date');
        $activity_master->teacher_id = $request->input('teacher_id');
        $activity_master->subscription_id = $request->input('subscription_id');
        $activity_master->benefits = $request->input('benefits');
        $activity_master->pre_requisites = $request->input('pre_requisites');
        $activity_master->main_activity_banner = $file_name_store;
        $activity_master->save();

        ActivitySchedule::where('activity_master_id',$request->edit_main_activity_id)->update(['subscription_id'=>$request->input('subscription_id')]);
        ActivityDay::where('activity_master_id',$request->edit_main_activity_id)->update(['subscription_id'=>$request->input('subscription_id')]);
        return response()->json(['success' => true, 'status' => 200]);
    }
    
    public function update_upcoming_main_activity(Request $request) {

//              echo "
";print_r($request->all());
        $activity_master_id = $request->edit_main_activity_id;
        $link_master_id = LinkFaqActivityMasterIds::where('activity_master_id', $request->edit_main_activity_id)->delete();

        foreach ($request->input('faq_id') as $faq_id) {
            $faqs_activity_Ids = new LinkFaqActivityMasterIds;
            $faqs_activity_Ids->faqs_id = $faq_id;
            $faqs_activity_Ids->activity_master_id = $request->edit_main_activity_id;
            $faqs_activity_Ids->save();
        }
        if ($request->main_activity_banner) {
            $file = $request->file('main_activity_banner');
            $ext = $file->extension();
            $file_name = time() . '.' . $ext;
            $path = public_path() . '/uploads/activity_banner_images/';
            $file->move($path, $file_name);
            $file_name_store = url('/public/uploads/activity_banner_images/' . $file_name);
            // print_r($file_name_store);
            // exit;
        } else {
            $file_name_store = $request->db_image;
        }
        // dd($file_name_store);
        $activity_master = ActivityMaster::find($request->edit_main_activity_id);
        $activity_master->activity_name = $request->input('activity_name');
        $activity_master->title = $request->input('activity_title');
        $activity_master->description = $request->input('description');
        $activity_master->start_date = $request->input('start_date');
        $activity_master->end_date = $request->input('end_date');
        $activity_master->teacher_id = $request->input('teacher_id');
        $activity_master->subscription_id = $request->input('subscription_id');
        $activity_master->teaser_url = $request->input('video_teaser_url');
        $activity_master->benefits = $request->input('benefits');
        $activity_master->pre_requisites = $request->input('pre_requisites');
        $activity_master->main_activity_banner = $file_name_store;
        $activity_master->save();
        
        ActivitySchedule::where('activity_master_id',$request->edit_main_activity_id)->update(['subscription_id'=>$request->input('subscription_id')]);
        ActivityDay::where('activity_master_id',$request->edit_main_activity_id)->update(['subscription_id'=>$request->input('subscription_id')]);
        return response()->json(['success' => true, 'status' => 200]);
    }

    public function delete_main_activity($id) {
        $manage_activity = ActivityMaster::find($id)->delete();
        if($manage_activity){
            ActivitySchedule::where('activity_master_id',$id)->delete();
            ActivityDay::where('activity_master_id',$id)->delete();
        }
        
        return response()->json(['success' => true,'status' => 200]);
    }

    public function edit_past_session($id) {
        $pass_session = PastSession::find($id)->toArray();
//        echo '
';print_r($pass_session);exit;
        return view('Admin.Pages.manage_activities.past_session.edit_past_session')->with(['get_pass_session' => $pass_session]);
    }

    public function update(Request $request) {
//        echo "
";
//        print_r($request->all());
//        exit;
        $currentDate = date('Y-m-d');
        $past_session = $request->past_id;
        $past_schedule_id = $request->schedule_id;
//        print_r($past_schedule_id);
//        exit;
        $past_session = PastSession::find($request->past_id);

        if ($request->hasFile('myFile')) {
            $rules = [
                'myFile' => 'required|file|max:400', // 400 KB
            ];
        
            $validator = Validator::make($request->all(),$rules);
     
            if ($validator->fails()) {
                if ($request->expectsJson()) {
                    return response()->json([
                        'success' => false,
                        'status' => 422]);
                }
            }
            else {
                $path = public_path() . '/uploads/past_session';
                File::delete($path . $past_session->image);
                $file = $request->file('myFile');
                $ext = $file->extension();
                $file_name_main_image_old = time() . '.' . $ext;
                $file_name_main_image = url('/public/uploads/past_session/' . $file_name_main_image_old);
                $file->move($path, $file_name_main_image);
            }
        } else {
            $file_name_main_image = $request->input('db_image');
        }

        // for image upload end
        $past_session->activity_name = $request->input('activity_name');
        $past_session->url = $request->input('video_teaser_url');
        $past_session->image = $file_name_main_image;
        $past_session->duration = $request->input('activity_duration');
        $past_session->date = $request->input('date');
        $past_session->day = $request->input('day');
        
        $date = strtotime($request->input('date'));
        if ($date <= $currentDate) {
            $past_session->save();

            return response()->json(['success' => true, 'status' => 200,'id' => $past_schedule_id]);
        } else {
            return response()->json([
                        'error_msg' => 'Date is not greter than current date.',
                        'success' => false,
                        'status' => 400,
            ]);
        }
    }

    public function delete_past_session($id) {
        $past_session = PastSession::find($id)->delete();
    }

}