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 add_create(Request $request) {

        $get_single_activity = ActivityMaster::find($request->id)->toArray();
        $subcription = SubscriptionMaster::all()->toArray();
//         echo "
"; print_r($get_single_activity);exit;
        return view('Admin.Pages.manage_activities.summer_sweats.add_summer_sweat')->with(['get_data' => $get_single_activity, 'subcriptions' => $subcription]);
    }
    public function add_upcoming_create(Request $request) {

        $get_single_activity = ActivityMaster::find($request->id)->toArray();
        $subcription = SubscriptionMaster::all()->toArray();
//         echo "
"; print_r($get_single_activity);exit;
        return view('Admin.Pages.manage_activities.summer_sweats.add_upcoming_summer_sweat')->with(['get_data' => $get_single_activity, 'subcriptions' => $subcription]);
    }

    public function insert_summer_sweat(Request $request) {
//        echo "
";print_r($request->all());die;
        // for image upload start
        // dd($request->all());
        $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/activity_schedule';
            $file->move($path, $file_name);
        }

        // for image upload end
        $activity_schedule = new ActivitySchedule;
        $activity_schedule->activity_master_id = $request->input('url_id');
        $activity_schedule->activity_teaser = $file_name;
        $activity_schedule->activity_name = $request->input('main_activity_name');
        $activity_schedule->description = $request->input('description');
        $activity_schedule->start_date = $request->input('start_date');
        $activity_schedule->end_date = $request->input('end_date');
        $activity_schedule->subscription_id = $request->input('subscription_id');
        
        $start_date = strtotime($request->input('start_date'));
        $end_date = strtotime($request->input('end_date'));

        // Retrieve the ActivityMaster record
        $activity_master = ActivityMaster::find($request->input('url_id'));

        $activity_master_start = strtotime($activity_master->start_date);
        $activity_master_end = strtotime($activity_master->end_date);

        // Check if start date and end date are within the activity master range
        if ($start_date >= $activity_master_start && $end_date <= $activity_master_end) {
            $activity_schedule->start_date = date('Y-m-d', $start_date);
            $activity_schedule->end_date = date('Y-m-d', $end_date);

            $activity_schedule->save();
            return response()->json([
                        'schedule_data' => $request->input('url_id'),
                        'success' => true,
                        'status' => 200,
            ]);
        } else {
            return response()->json([
                        'error_msg' => 'Start date or end date is not within the activity master range.',
                        'success' => false,
                        'status' => 400,
            ]);
        }
    }
    
    public function insert_upcoming_summer_sweat(Request $request) {
//        echo "
";print_r($request->all());die;
        // for image upload start
        $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/activity_schedule';
            $file->move($path, $file_name);
        }

        // for image upload end

        $activity_schedule = new ActivitySchedule;
        $activity_schedule->activity_master_id = $request->input('url_id');
        $activity_schedule->activity_teaser = $file_name;
        $activity_schedule->activity_name = $request->input('main_activity_name');
        $activity_schedule->description = $request->input('description');
        $activity_schedule->start_date = $request->input('start_date');
        $activity_schedule->end_date = $request->input('end_date'); 
        $activity_schedule->subscription_id = $request->input('subscription_id');
        
        $start_date = strtotime($request->input('start_date'));
        $end_date = strtotime($request->input('end_date'));

        // Retrieve the ActivityMaster record
        $activity_master = ActivityMaster::find($request->input('url_id'));

        $activity_master_start = strtotime($activity_master->start_date);
        $activity_master_end = strtotime($activity_master->end_date);

        // Check if start date and end date are within the activity master range
        if ($start_date >= $activity_master_start && $end_date <= $activity_master_end) {
            $activity_schedule->start_date = date('Y-m-d', $start_date);
            $activity_schedule->end_date = date('Y-m-d', $end_date);

            $activity_schedule->save();
            return response()->json([
                        'schedule_data' => $request->input('url_id'),
                        'success' => true,
                        'status' => 200,
            ]);
        } else {
            return response()->json([
                        'error_msg' => 'Start date or end date is not within the activity master range.',
                        'success' => false,
                        'status' => 400,
            ]);
        }
    }
    public function edit_summer_sweat($id) {
        $subcription = SubscriptionMaster::all()->toArray();
        $get_manage_activity_schedule = ActivitySchedule::find($id)->toArray();
        // dd($get_manage_activity_schedule);
        return view('Admin.Pages.manage_activities.summer_sweats.edit_summer_sweat')->with(['get_manage_activity' => $get_manage_activity_schedule, 'subcriptions' => $subcription,]);
    }
    public function edit_upcoming_summer_sweat($id) {
        $subcription = SubscriptionMaster::all()->toArray();
        $get_manage_activity_schedule = ActivitySchedule::find($id)->toArray();
    // dd($get_manage_activity_schedule);
        return view('Admin.Pages.manage_activities.summer_sweats.edit_upcoming_summer_sweat')->with(['get_manage_activity' => $get_manage_activity_schedule, 'subcriptions' => $subcription,]);
    }

    public function update_summer_sweat(Request $request) {
        // for image upload start
        
        if ($request->activity_teaser) {
            $rules = [
                'activity_teaser' => '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('activity_teaser');
                $ext = $file->extension();
                $file_name = time() . '.' . $ext;
                $path = public_path() . '/uploads/activity_banner_images/activity_schedule';
                $file->move($path, $file_name);
                $file_name_store = url('/public/uploads/activity_banner_images/activity_schedule/' . $file_name);
            }
//        print_r($file_name_store);exit;
        } else {
            $file_name_store = $request->db_image;
        }
//        $file = $request->file('myFile');
//        $ext = $file->extension();
//        $file_name = time() . '.' . $ext;   
//        $path = public_path() . '/uploads/activity_banner_images/activity_schedule';
//        $file->move($path, $file_name);
        // for image upload end
        
        $activity_master_id = $request->edit_schedule_id;
        $activity_schedule = ActivitySchedule::find($request->edit_schedule_id);
        $activity_schedule->activity_teaser = $file_name_store;
        $activity_schedule->activity_name = $request->input('activity_name');
        $activity_schedule->description = $request->input('description');
        $activity_schedule->start_date = $request->input('start_date');
        $activity_schedule->end_date = $request->input('end_date');
        $activity_schedule->subscription_id = $request->input('subscription_id');
        
        //End Date of schedule is not greater than activity end date logic
        $start_date = strtotime($request->input('start_date'));
        $end_date = strtotime($request->input('end_date'));
        
        // Retrieve the ActivityMaster record
        $activity_master = ActivityMaster::find($request->input('activity_master_id'));

        $activity_master_start = strtotime($activity_master->start_date);
        $activity_master_end = strtotime($activity_master->end_date);
        
        if ($start_date >= $activity_master_start && $end_date <= $activity_master_end) {
            $activity_schedule->save();

            return response()->json(['schedule_data' => $request->input('activity_master_id'),'success' => true, 'status' => 200]);
        
        } else {
            return response()->json([
                        'error_msg' => 'Start date or end date is not within the activity master range.',
                        'success' => false,
                        'status' => 400,
            ]);
        }
    }
    
    public function update_upcoming_summer_sweat(Request $request) {
        // for image upload start
//        echo "
"; print_r($request->all());exit;
        if ($request->activity_teaser) {
            $rules = [
                'activity_teaser' => '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('activity_teaser');
                $ext = $file->extension();
                $file_name = time() . '.' . $ext;
                $path = public_path() . '/uploads/activity_banner_images/activity_schedule';
                $file->move($path, $file_name);
                $file_name_store = url('/public/uploads/activity_banner_images/activity_schedule/' . $file_name);
            }
//        print_r($file_name_store);exit;
        } else {
            $file_name_store = $request->db_image;
        }
//        $file = $request->file('myFile');
//        $ext = $file->extension();
//        $file_name = time() . '.' . $ext;   
//        $path = public_path() . '/uploads/activity_banner_images/activity_schedule';
//        $file->move($path, $file_name);
        // for image upload end
        
        $activity_master_id = $request->edit_schedule_id;
        $activity_schedule = ActivitySchedule::find($request->edit_schedule_id);
        $activity_schedule->activity_teaser = $file_name_store;
        $activity_schedule->activity_name = $request->input('activity_name');
        $activity_schedule->description = $request->input('description');
        $activity_schedule->start_date = $request->input('start_date');
        $activity_schedule->end_date = $request->input('end_date');
        $activity_schedule->subscription_id = $request->input('subscription_id');
        
        //End Date of schedule is not greater than activity end date logic
        $start_date = strtotime($request->input('start_date'));
        $end_date = strtotime($request->input('end_date'));
        
        // Retrieve the ActivityMaster record
        $activity_master = ActivityMaster::find($request->input('activity_master_id'));

        $activity_master_start = strtotime($activity_master->start_date);
        $activity_master_end = strtotime($activity_master->end_date);
        
        if ($start_date >= $activity_master_start && $end_date <= $activity_master_end) {
            $activity_schedule->save();

            return response()->json(['schedule_data' => $request->input('activity_master_id'),'success' => true, 'status' => 200]);
        
        } else {
            return response()->json([
                        'error_msg' => 'Start date or end date is not within the activity master range.',
                        'success' => false,
                        'status' => 400,
            ]);
        }
    }
    
    
    public function delete_schedule($id) {
        
        // dd($id);
        $manage_schedule = ActivitySchedule::find($id)->delete();
        // dd($manage_schedule);
        // if($manage_schedule == true){
            ActivityDay::where('activity_schedule_id',$id)->delete();
        // }
    }

}