<?php

namespace App\Http\Modules\Web\Controllers;

use App\Http\Modules\Web\Controllers\Controller;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Http\Request;
use App\Models\Fintech;
use App\Models\Edtech;
use App\Models\Agritech;
use App\Models\AlbumMaster;
use App\Models\D2c;
use App\Models\CleanTech;
use App\Models\JoinData;
use App\Models\StartUpGeneralQuestion;
use App\Models\StartupGeneralQuestionAnswer;
use App\Models\Thrive;
use App\Models\Supplychain;
use App\Models\StartUps;
use App\Models\StartUpTeamDetails;
use App\Models\TypeTrans;
use App\Models\CategoryMapping;
use App\Models\Mentor;
use App\Models\Startup_Launch;
use App\Models\RevenueMaster;
use App\Models\StartupSubStatusTrans;
use App\Models\MailConfiguration;
use App\Models\WebNotice;
use App\Models\StartupQuestionOption;
use App\Models\StartupQuestionOptionAnswer;
use App\Models\UserRegistrationLink;
use App\Models\UserRegistration;
use App\Models\User;
use App\Models\WebPage;
use App\Models\StartupsDocumentsRequest;
use App\Models\StartupDocument;
use App\Models\AifInvesterForm;
use App\Models\AifInvestorRegistration;
use App\Models\AifInvestorOtpTrans;
use App\Models\MailSMTPConfiguration;
use App\Models\AifInvestorRorQuestion;
use App\Models\RisingRajasthan;
use App\Models\AifPartner;
use App\Models\AimCongress;
use Illuminate\Support\Facades\Session as FacadesSession;
use Image;

use Carbon\Carbon;
use Spatie\Sitemap\Sitemap;
use Spatie\Sitemap\Tags\Url;

use Mail, Response , File;
use Session,Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Config;
class PagesController extends Controller
{
    /**
     * @return void
     */
    public function __construct()
    {
        $this->d2c_img_path = config('constants.d2c_img_path');
        $this->agritech_img_path = config('constants.agritech_img_path');
        $this->joinus = config('constants.joinus');
        $this->cleantech = config('constants.cleantech_img_path');
        $this->supplychain_img_path = config('constants.supplychain_img_path');
        $this->company_logo = config('constants.company_logo');
        $this->founder_photo = config('constants.founder_photo');
        $this->cofounder_photo = config('constants.cofounder_photo');
        $this->director_photo = config('constants.director_photo');
        $this->core_team_member_photo = config('constants.core_team_member_photo');
        $this->mentor_img_path = config('constants.mentor_img_path');

        $this->middleware('web');
    }

    public function index()
    {
       $page_title = 'Best Startup Accelerator in India | Marwari Catalysts';
        $page_description ="To know the leading Startup Accelerator in India, fostering innovation & growth for emerging businesses with expert mentorship & funding opportunities.";
        $page_keywords = 'startup accelerator in india, startup accelerator,  business incubator, angel investors, startup advisory, startup funding, business accelerator, venture capital in india, how to get startup funding, startup events, startup investment';
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;
        $view_data['web_notice']=WebNotice::where('is_active','Y')->first();
        return view('pages.index',$view_data);
    }

    public function thrive()
    {
        $page_title = 'Marwari Catalysts | Best Accelerator Program in India - Thrive';
        $page_description = "Be a part of India's most promising Cohort-based accelerator program for startups, 'Thrive'. It is a 12 weeks acceleration program that provides....";

        $view_data['page_title'] =  $page_title;
        $view_data['page_description'] =  $page_description;

        return view('pages.thrive',$view_data);
    }

    public function cap()
    {
        $page_title = 'Accelerator Programs For Startups | CAP';
        $page_description = 'Corporate Accelerator Program provides support to cohorts of startups, aiming to make them startup-ready more quickly than traditional incubators.';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.cap',$view_data);
    }

    public function media()
    {
         $page_title = "Get the Latest News & Updates | Marwari Catalysts";
        $page_description = "Latest news, updates, and press releases from Marwari Catalysts. Join our exclusive startup events at office@marwaricatalysts.com for more info.";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.media',$view_data);
    }

    public function portfolio(){
         $page_title = 'Top Startup Accelerator in India | Marwari Catalysts - Portfolio';
        $page_description = "Marwari Catalysts portfolio features top Indian startups from diverse sectors, driving innovation & growth through strategic support and startup investment.";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.portfolio',$view_data);
    }

    public function contact()
    {
         $page_title = "Marwari Catalysts - Contact Us";
        $page_description = "Connect with Marwari Catalysts for support, inquiries & partnership opportunities. We're here to assist you in your entrepreneurial journey. Contact now!";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.contact',$view_data);
    }

    public function edtech()
    {
        $page_title = 'Thrive with Marwari Catalysts';
        $page_description = 'Thrive with Marwari Catalysts';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.edtech',$view_data);
    }


    public function saveEdtech(Request $request)
    {

        
        $request->validate([
            'g-recaptcha-response' => function($attribute,$value,$fail){
                $secret_key = env('GOOGLE_RECAPTCHA_SECRET');
                $response = $value;
                $userIP = $_SERVER['REMOTE_ADDR'];
                $url = "https://www.google.com/recaptcha/api/siteverify?secret=$secret_key&response=$response&remoteIp=$userIP";
                $response = \file_get_contents($url);
                $response = json_decode($response);
                if(!$response->success){
                    Session::flash('g-recaptcha-response','Please Check reCaptcha ');
                    Session::flash('alert-class','alert-danger');
                    $fail($attribute.' google reCaptcha failed');
                }
            }
        ]);

        $input = $request->all();
        $other_des = null;

        if($input['startup_belong_to'] == 'Other'){
            $other_des = $input['other_text'];
        }
        else{
            $other_des = null;
        }

        $EdtechObj = new Edtech();
        $EdtechObj->field['name'] = $input['name'];
        $EdtechObj->field['email'] = $input['email'];
        $EdtechObj->field['contact_no'] = $input['contact_no'];
        $EdtechObj->field['founder_profile'] = $input['founder_profile'];
        $EdtechObj->field['company_name'] = $input['company_name'];
        $EdtechObj->field['company_website'] = $input['company_website'];
        $EdtechObj->field['startup_belong_to'] = $input['startup_belong_to'];
        $EdtechObj->field['other_des'] = $other_des;
        $EdtechObj->field['city_call_home'] = $input['city_call_home'];
        $EdtechObj->field['revenue'] = $input['revenue'];
        $EdtechObj->field['message'] = $input['message'];
        $return_data = $EdtechObj->saveEdtech();

        $return_arr['status'] = false;
        $return_arr['message'] = "Unable to send email, try again later.";

        if(@$input['name'] && $input['contact_no'] && $input['email']){
            Mail::send('email.edtech', [
                'name' => $request->get('name'),
                'email' => $request->get('email'),
                'contact_no' => $request->get('contact_no'),
                'founder_profile' => $request->get('founder_profile'),
                'company_name' => $request->get('company_name'),
                'company_website' => $request->get('company_website'),
                'startup_belong_to' => $request->get('startup_belong_to'),
                'other_description' => $other_des,
                'city_call_home' => $request->get('city_call_home'),
                'revenue' => $request->get('revenue'),
                'message_1' => $request->get('message')],
                function ($message) {
                    $message->from(env('MAIL_USERNAME'));
                    $message->to(env('MAIL_TO'), 'APP_NAME')
                    ->subject('Enquiry: New Edtech Enquiry Form Website');
            });

            $return_arr['status'] = true;
            $return_arr['message'] = 'Your query has been sent successfully. One of our executive will contact you soon.';
        }else{
            $return_arr['status'] = false;
            $return_arr['message'] = 'Please porvide all mendatory fields';
        }
        return response()->json($return_data, 200);
    }

    public function fintech()
    {
        $page_title = 'Best Accelerator Program in India | Thrive - Fintech';
        $page_description = 'If you are a startup dealing in Fintech, Agritech, Edtech, D2C, or an MVP pioneering from Tier-2 or Tier-3 cities, then you can apply here.';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.fintech',$view_data);
    }

    public function saveFintech(Request $request)
    {
        $request->validate([
            'g-recaptcha-response' => function($attribute,$value,$fail){
                $secret_key = env('GOOGLE_RECAPTCHA_SECRET');
                $response = $value;
                $userIP = $_SERVER['REMOTE_ADDR'];
                $url = "https://www.google.com/recaptcha/api/siteverify?secret=$secret_key&response=$response&remoteIp=$userIP";
                $response = \file_get_contents($url);
                $response = json_decode($response);

                if(!$response->success){
                    Session::flash('g-recaptcha-response','Please Check reCaptcha ');
                    Session::flash('alert-class','alert-danger');
                    $fail($attribute.' google reCaptcha failed');
                }
            }
        ]);

        $input = $request->all();
        $image_name = null;
        $other_des = null;

        if ($request->hasFile('file_name'))
        {
          $image = $input['file_name'];
          $image_name = uniqid().rand(1234567890, 6).'.'.$image->getClientOriginalExtension();
          $fileObj = $request->file('file_name');
          $fileObj->move(public_path($this->fintech_img_path).'/', $image_name);
        }

        if($input['startup_belong_to'] == 'Other'){
            $other_des = $input['other_text'];
        }
        else{
            $other_des = null;
        }

        $FintechObj = new Fintech();
        $FintechObj->field['name'] = $input['name'];
        $FintechObj->field['email'] = $input['email'];
        $FintechObj->field['contact_no'] = $input['contact_no'];
        $FintechObj->field['official_email'] = $input['official_email'];
        $FintechObj->field['founder_profile'] = $input['founder_profile'];
        $FintechObj->field['company_name'] = $input['company_name'];
        $FintechObj->field['company_website'] = $input['company_website'];
        $FintechObj->field['startup_belong_to'] = $input['startup_belong_to'];
        $FintechObj->field['other_des'] = $other_des;
        $FintechObj->field['revenue'] = $input['revenue'];
        $FintechObj->field['message'] = $input['message'];
        $FintechObj->field['file_name'] = $image_name;
        $FintechObj->field['expectation'] = $input['expectation'];
        $return_data = $FintechObj->saveFintech();
        $return_arr['status'] = false;
        $return_arr['message'] = "Unable to send email, try again later.";

        if(@$input['name'] && $input['contact_no'] && $input['email']){
            Mail::send('email.fintech', [
                'name' => $request->get('name'),
                'email' => $request->get('email'),
                'contact_no' => $request->get('contact_no'),
                'official_email' => $request->get('official_email'),
                'founder_profile' => $request->get('founder_profile'),
                'company_name' => $request->get('company_name'),
                'company_website' => $request->get('company_website'),
                'startup_belong_to' => $request->get('startup_belong_to'),
                'other_description' => $other_des,
                'revenue' => $request->get('revenue'),
                'expectation' => $request->get('expectation'),
                'message_1' => $request->get('message')],
                function ($message) {
                    $message->from(env('MAIL_USERNAME'));
                    $message->to(env('MAIL_TO'), 'APP_NAME')
                    ->subject('Enquiry: New Fintech Enquiry Form Website');
            });

            $return_arr['status'] = true;
            $return_arr['message'] = 'Your query has been sent successfully. One of our executive will contact you soon.';
        }else{
            $return_arr['status'] = false;
            $return_arr['message'] = 'Please porvide all mendatory fields';
        }
        return response()->json($return_data, 200);
    }

    public function agritech()
    {
        $page_title = 'Thrive Accelerator Program | Agritech';
        $page_description = 'If you are a startup dealing in Agritech, Edtech, Fintech, D2C, or an MVP pioneering from Tier-2 or Tier-3 cities, then you can apply here.';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.agritech',$view_data);
    }

    public function saveAgritech(Request $request)
    {
        $request->validate([
            'g-recaptcha-response' => function($attribute,$value,$fail){
                $secret_key = env('GOOGLE_RECAPTCHA_SECRET');
                $response = $value;
                $userIP = $_SERVER['REMOTE_ADDR'];
                $url = "https://www.google.com/recaptcha/api/siteverify?secret=$secret_key&response=$response&remoteIp=$userIP";
                $response = \file_get_contents($url);
                $response = json_decode($response);
                // dd($response);
                if(!$response->success){
                    Session::flash('g-recaptcha-response','Please Check reCaptcha ');
                    Session::flash('alert-class','alert-danger');
                    $fail($attribute.' google reCaptcha failed');
                }
            }
        ]);

        $input = $request->all();
        $image_name = null;
        $other_des = null;  

        if ($request->hasFile('file_name'))
        {
          $image = $input['file_name'];
          $image_name = uniqid().rand(1234567890, 6).'.'.$image->getClientOriginalExtension();
          $fileObj = $request->file('file_name');
          $fileObj->move(public_path($this->agritech_img_path).'/', $image_name);
        }

        if($input['startup_belong_to'] == 'Other'){
            $other_des = $input['other_text'];
        }
        else{
            $other_des = null;
        }

        $AgritechObj = new Agritech();
        $AgritechObj->field['name'] = $input['name'];
        $AgritechObj->field['email'] = $input['email'];
        $AgritechObj->field['contact_no'] = $input['contact_no'];
        $AgritechObj->field['official_email'] = $input['official_email'];
        $AgritechObj->field['founder_profile'] = $input['founder_profile'];
        $AgritechObj->field['company_name'] = $input['company_name'];
        $AgritechObj->field['company_website'] = $input['company_website'];
        $AgritechObj->field['startup_belong_to'] = $input['startup_belong_to'];
        $AgritechObj->field['other_des'] = $other_des;
        $AgritechObj->field['revenue'] = $input['revenue'];
        $AgritechObj->field['message'] = $input['message'];
        $AgritechObj->field['file_name'] = $image_name;
        $AgritechObj->field['expectation'] = $input['expectation'];
        $return_data = $AgritechObj->saveAgritech();
        $return_arr['status'] = false;
        $return_arr['message'] = "Unable to send email, try again later.";

        if(@$input['name'] && $input['contact_no'] && $input['email']){
            Mail::send('email.agritech', [
                'name' => $request->get('name'),
                'email' => $request->get('email'),
                'contact_no' => $request->get('contact_no'),
                'official_email' => $request->get('official_email'),
                'founder_profile' => $request->get('founder_profile'),
                'company_name' => $request->get('company_name'),
                'company_website' => $request->get('company_website'),
                'startup_belong_to' => $request->get('startup_belong_to'),
                'other_description' => $other_des,
                'revenue' => $request->get('revenue'),
                'expectation' => $request->get('expectation'),
                'message_1' => $request->get('message')],
                function ($message) {
                    $message->from(env('MAIL_USERNAME'));
                    $message->to(env('MAIL_TO'), 'APP_NAME')
                    ->subject('Enquiry: New Agritech Enquiry Form Website');
            });

            $return_arr['status'] = true;
            $return_arr['message'] = 'Your query has been sent successfully. One of our executive will contact you soon.';
        }else{
            $return_arr['status'] = false;
            $return_arr['message'] = 'Please porvide all mendatory fields';
        }
        return response()->json($return_data, 200);
    }

    public function d2c()
    {
        $page_title = 'Best Accelerator Program | Thrive - D2C';
        $page_description = 'If you are a startup dealing in D2C, Agritech, Edtech, Fintech, or an MVP pioneering from Tier-2 or Tier-3 cities, then you can apply here.';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.d2c',$view_data);
    }

    public function saveD2c(Request $request){
        // dd($this->d2c_img_path);
         $request->validate([
             'g-recaptcha-response' => function($attribute,$value,$fail){
                 $secret_key = env('GOOGLE_RECAPTCHA_SECRET');
                 $response = $value;
                 $userIP = $_SERVER['REMOTE_ADDR'];
                 $url = "https://www.google.com/recaptcha/api/siteverify?secret=$secret_key&response=$response&remoteIp=$userIP";
                 $response = \file_get_contents($url);
                 $response = json_decode($response);
                 if(!$response->success){
                     Session::flash('g-recaptcha-response','Please Check reCaptcha ');
                     Session::flash('alert-class','alert-danger');
                     $fail($attribute.' google reCaptcha failed');
                 }
             }
         ]);

        $input = $request->all();
        $other_des = null;

        if($input['startup_belong_to'] == 'Other'){
            $other_des = $input['other_text'];
        }
        else{
            $other_des = null;
        }
        $file = $input['file'];
        $file_name = uniqid().rand(1234567890, 6).'.'.$input['file']->getClientOriginalExtension();
        $file->move($this->d2c_img_path,'/'.$file_name);


        $D2cObj = new D2c();
        $D2cObj->field['name'] = $input['name'];
        $D2cObj->field['email'] = $input['email'];
        $D2cObj->field['contact_no'] = $input['contact_no'];
        $D2cObj->field['founder_profile'] = $input['founder_profile'];
        $D2cObj->field['company_name'] = $input['company_name'];
        $D2cObj->field['company_website'] = $input['company_website'];
        $D2cObj->field['belongs_to_d2c'] = $input['startup_belong_to'] ? 1 : 0;
        $D2cObj->field['other_des'] = $other_des;
        $D2cObj->field['file'] = $file_name;
        $D2cObj->field['city_call_home'] = $input['city_call_home'];
        $D2cObj->field['revenue'] = $input['revenue'];
        $D2cObj->field['sub_sector'] = $input['sub_sector'];
        $D2cObj->field['expectations'] = $input['expectations'];
        $D2cObj->field['message'] = $input['message'];
        $return_data = $D2cObj->saveD2cData();


        $return_arr['status'] = false;
        $return_arr['message'] = "Unable to send email, try again later.";

        if(@$input['name'] && $input['contact_no'] && $input['email']){
            $email = $input['email'];
            
            Mail::send('email.d2c', [
                'name' => $request->get('name'),
                'email' => $request->get('email'),
                'contact_no' => $request->get('contact_no'),
                'founder_profile' => $request->get('founder_profile'),
                'company_name' => $request->get('company_name'),
                'company_website' => $request->get('company_website'),
                'startup_belong_to' => $request->get('startup_belong_to') ? 'Yes' : 'No',
                'other_description' => $other_des,
                'city_call_home' => $request->get('city_call_home'),
                'revenue' => $request->get('revenue')],
                function ($message) {
                    $message->from(env('MAIL_USERNAME'));
                    //$message->to(env('MAIL_TO'), 'APP_NAME')
                    $message->to('thrive@marwaricatalysts.com', 'APP_NAME')
                    ->subject('Enquiry: New D2c Enquiry Form Website');
            });

            if(!empty($email)){
                Mail::send('email.d2c_user',[] ,
                    function ($message) use($email) {
                        $message->from(env('MAIL_USERNAME'));
                        $message->to($email, 'APP_NAME')
                        ->subject('D2C Enquiry Response Marwari Catalysts Ventures');
                });
            }

            $return_arr['status'] = true;
            $return_arr['message'] = 'Your query has been sent successfully. One of our executive will contact you soon.';
        }else{
            $return_arr['status'] = false;
            $return_arr['message'] = 'Please porvide all mendatory fields';
        }
        return response()->json($return_data, 200);
    }
    public function CleanTech()
    {
        $page_title = 'Thrive with Marwari Catalysts';
        $page_description = 'Thrive with Marwari Catalysts';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.cleantech',$view_data);
    }

    public function saveCleanTech(Request $request){
        
        
        $request->validate([
            'g-recaptcha-response' => function($attribute,$value,$fail){
                $secret_key = env('GOOGLE_RECAPTCHA_SECRET');
                $response = $value;
                $userIP = $_SERVER['REMOTE_ADDR'];
                $url = "https://www.google.com/recaptcha/api/siteverify?secret=$secret_key&response=$response&remoteIp=$userIP";
                $response = \file_get_contents($url);
                $response = json_decode($response);
                if(!$response->success){
                    Session::flash('g-recaptcha-response','Please Check reCaptcha ');
                    Session::flash('alert-class','alert-danger');
                    $fail($attribute.' google reCaptcha failed');
                }
            }
        ]);

        $input = $request->all();
        $file = $input['file'];
        $file_name = uniqid().rand(1234567890, 6).'.'.$input['file']->getClientOriginalExtension();
        $file->move($this->cleantech,'/'.$file_name);

        $CleanTechObj = new CleanTech();
        $CleanTechObj->field['name'] = $input['name'];
        $CleanTechObj->field['contact_no'] = $input['contact_no'];
        $CleanTechObj->field['email'] = $input['email'];
        $CleanTechObj->field['founder_profile'] = $input['founder_profile'];
        $CleanTechObj->field['company_name'] = $input['company_name'];
        $CleanTechObj->field['company_website'] = $input['company_website'];
        $CleanTechObj->field['sub_sector'] = $input['sub_sector'];
        $CleanTechObj->field['city_call_home'] = $input['city_call_home'];
        $CleanTechObj->field['startup_detail'] = $input['startup_detail'];
        $CleanTechObj->field['file'] = $file_name;
        $CleanTechObj->field['expectations'] = $input['expectations'];
        $CleanTechObj->field['revenue'] = $input['revenue'];
        $CleanTechObj->field['message'] = $input['message'];
        $return_data = $CleanTechObj->saveCleanTechData();

        $return_arr['status'] = false;
        $return_arr['message'] = "Unable to send email, try again later.";

        if(@$input['name'] && $input['contact_no'] && $input['email']){
            Mail::send('email.cleantech', [
                'name' => $request->get('name'),
                'email' => $request->get('email'),
                'contact_no' => $request->get('contact_no'),
                'founder_profile' => $request->get('founder_profile'),
                'company_name' => $request->get('company_name'),
                'company_website' => $request->get('company_website'),
                'city_call_home' => $request->get('city_call_home'),
                'revenue' => $request->get('revenue'),
                'message_1' => $request->get('message')],
                function ($message) {
                    $message->from(env('MAIL_USERNAME'));
                    $message->to(env('MAIL_TO'), 'APP_NAME')
                    ->subject('Enquiry: New CleanTech Enquiry Form Website');
            });

            $return_arr['status'] = true;
            $return_arr['message'] = 'Your query has been sent successfully. One of our executive will contact you soon.';
        }else{
            $return_arr['status'] = false;
            $return_arr['message'] = 'Please porvide all mendatory fields';
        }
        return response()->json($return_data, 200);
    }
    

    public function thrive_form()
    {
        $page_title = 'Thrive with Marwari Catalysts';
        $page_description = 'Thrive with Marwari Catalysts';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.thriveForm',$view_data);
    }

    public function saveThrive(Request $request){

        $request->validate([
            'g-recaptcha-response' => function($attribute,$value,$fail){
                $secret_key = env('GOOGLE_RECAPTCHA_SECRET');
                $response = $value;
                $userIP = $_SERVER['REMOTE_ADDR'];
                $url = "https://www.google.com/recaptcha/api/siteverify?secret=$secret_key&response=$response&remoteIp=$userIP";
                $response = \file_get_contents($url);
                $response = json_decode($response);
                if(!$response->success){
                    Session::flash('g-recaptcha-response','Please Check reCaptcha ');
                    Session::flash('alert-class','alert-danger');
                    $fail($attribute.' google reCaptcha failed');
                }
            }
        ]);

        $input = $request->all();
        $other_des = null;

        if($input['startup_belong_to'] == 'Other'){
            $other_des = $input['other_text'];
        }
        else{
            $other_des = null;
        }

        $ThriveObj = new Thrive();
        $ThriveObj->field['name'] = $input['name'];
        $ThriveObj->field['email'] = $input['email'];
        $ThriveObj->field['contact_no'] = $input['contact_no'];
        $ThriveObj->field['founder_profile'] = $input['founder_profile'];
        $ThriveObj->field['company_name'] = $input['company_name'];
        $ThriveObj->field['company_website'] = $input['company_website'];
        $ThriveObj->field['startup_belong_to'] = $input['startup_belong_to'];
        $ThriveObj->field['other_des'] = $other_des;
        $ThriveObj->field['city_call_home'] = $input['city_call_home'];
        $ThriveObj->field['revenue'] = $input['revenue'];
        $ThriveObj->field['message'] = $input['message'];
        $return_data = $ThriveObj->saveThrive();

        $return_arr['status'] = false;
        $return_arr['message'] = "Unable to send email, try again later.";

        if(@$input['name'] && $input['contact_no'] && $input['email']){
            $email = $request->get('email');
            Mail::send('email.thrive', [
                'name' => $request->get('name'),
                'email' => $request->get('email'),
                'contact_no' => $request->get('contact_no'),
                'founder_profile' => $request->get('founder_profile'),
                'company_name' => $request->get('company_name'),
                'company_website' => $request->get('company_website'),
                'startup_belong_to' => $request->get('startup_belong_to'),
                'other_description' => $other_des,
                'city_call_home' => $request->get('city_call_home'),
                'revenue' => $request->get('revenue'),
                'message_1' => $request->get('message')],
                function ($message) use($email) {
                    $message->from(env('MAIL_USERNAME'));
                    $message->to('thrive@marwaricatalysts.com', 'APP_NAME')
                    ->subject('Enquiry: New Thrive Enquiry Form Website');
            });

            $return_arr['status'] = true;
            $return_arr['message'] = 'Your query has been sent successfully. One of our executive will contact you soon.';
        }else{
            $return_arr['status'] = false;
            $return_arr['message'] = 'Please porvide all mendatory fields';
        }
        return response()->json($return_data, 200);
    }

    public function privacyPolicy(){
        $page_title = 'Marwari Catalysts Privacy Policy';
        $page_description = 'Marwari Catalysts Privacy Policy';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.privacy',$view_data);
    }


    public function termsConditions(){
         $page_title = "Marwari Catalysts | Terms & Conditions";
        $page_description = "Read our Terms & Conditions to understand your rights and responsibilities while using our services, ensuring a transparent and secure experience.";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.terms',$view_data);
    }

    public function faq(){
         $page_title = "FAQs on Startup Support & Programs | Marwari Catalysts";
        $page_description = "Get answers to common questions about Marwari Catalysts, covering our programs, investment opportunities, eligibility, and startup support.";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('.pages.faq',$view_data);
    }

    public function about()
    {
        $page_title = "Best Accelerator in India | Marwari Catalysts - About";
        $page_description = "Marwari Catalysts, established in 2019, accelerates early-stage startups in Tier 2 & 3 cities with expert mentorship, resources, & investor connections.";

        $page_keywords = 'startup accelerator in india, startup accelerator,  business incubator, angel investors, startup advisory, startup funding, business accelerator, venture capital in india, how to get startup funding, startup events, startup investment';
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.about',$view_data);
    }

    public function founder()
    {
       $page_title = "Innovate, Grow, Succeed with Marwari Catalysts Team";
        $page_description = "Innovate, grow, and succeed with the Marwari Catalysts Team. Empowering startups with mentorship, resources & a dynamic entrepreneurial community.";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.founder',$view_data);
    }

    public function coFounder()
    { 
        $page_title = 'Meet the Visionary Co-Founders of Marwari Catalysts';
        $page_description = "Connect with your perfect co-founder with Marwari Catalysts. We match you with someone who complements your strengths and fills in your gaps.";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.co_founder',$view_data);
    }
    
    public function program()
    { 
        $page_title = "Join Thrive Startup Acceleration Program | Marwari Catalysts";
        $page_description = "Thrive is India’s top startup accelerator, supporting growth in CleanTech, D2C, Fintech, Edtech, and more with funding, mentorship, and networking.";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.program',$view_data);
    }

    public function resources()
    {
        $page_title = 'Marwari Catalysts - Resources';
        $page_description = 'Marwari Catalysts Resources';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.resources',$view_data);
    }

    public function founderFocus()
    {
        $page_title = "Founder Focus: Sushil Sharma's Startup Revolution";
        $page_description = "Sushil Sharma, founder of Marwari Catalysts, nurtures local startup ecosystems, bridging funding gaps & fostering innovation in smaller towns across India.";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.founder_focus',$view_data);
    }


    public function saveData(Request $request)
    {
        $input = $request->all();
        $image_name = null;

        if ($request->hasFile('file_name'))
        {
          $image = $input['file_name'];
          $image_name = uniqid().rand(1234567890, 6).'.'.$image->getClientOriginalExtension();
          $fileObj = $request->file('file_name');
          $fileObj->move(public_path($this->joinus).'/', $image_name);
        }

        $JoinObj = new JoinData();
        $JoinObj->field['fname'] = $input['fname'];
        $JoinObj->field['lname'] = $input['lname'];
        $JoinObj->field['applying_for'] = @$input['applying_for']=="Other" ? @$input['applying_for_other'] : @$input['applying_for'];
        $JoinObj->field['email'] = $input['email'];
        $JoinObj->field['phone'] = $input['phone'];
        $JoinObj->field['resume'] = $image_name;
        $return_data = $JoinObj->saveJoin();
        return response()->json($return_data, 200);

    }


    public function sendEmail(Request $request){

        $input = $request->all();


        $return_arr['status'] = false;
        $return_arr['message'] = "Unable to send email, try again later.";

        if(@$input['name'] && $input['phone'] && $input['email']){

            Mail::send('email.email', [
                    'name' => $request->get('name'),
                    'email' => $request->get('email'),
                    'company' => $request->get('company'),
                    'phone' => $request->get('phone'),
                    'comment' => $request->get('message') ],
                    function ($message) {
                        $message->from(env('MAIL_USERNAME'));
                        $message->to(env('MAIL_TO'), env('APP_NAME'))
                        ->subject('Enquiry: New Enquiry Form Website');
                });

                $return_arr['status'] = true;
                $return_arr['message'] = 'Your query has been sent successfully. One of our executive will contact you soon.';
        }else{
            $return_arr['status'] = false;
            $return_arr['message'] = 'Please porvide all mendatory fields';
        }

        return response()->json($return_arr);

    }

  public function career(){
        $page_title = "Join India's Fastest-Growing Startup Accelerator Community";
        $page_description = "Join India's fastest-growing Startup Accelerator Community! Be part of our journey and find out if you're exactly who we're looking for. Apply now! ";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.career',$view_data);
    }

    public function download_d2c(){
        $d2c_data = [];
        $page_title = 'Marwari Catalysts';
        
        $return_data = D2c::getD2cData();
        if($return_data['status'])
        {
          $d2c_data = $return_data['data'];
        }

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['d2c_img_path'] = $this->d2c_img_path;
        $view_data['d2cdata'] =  $d2c_data;
        
        return view('pages.view_d2c',$view_data);
    }

    public function  download_thrive(){
        $thrive_data = [];
        $page_title = 'Marwari Catalysts';
        
        $return_data = Thrive::getThriveData();
        if($return_data['status'])
        {
          $thrive_data = $return_data['data'];
        }
        // dd($thrive_data);
        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['thriveData'] =  $thrive_data;
        
        return view('pages.view_thrive',$view_data);
    }
    

    public function sitemap()
    {
        $page_title = 'Marwari Catalysts Sitemap';
        $page_description = 'Marwari Catalysts Sitemap';

        Sitemap::create()
            ->add(Url::create('/')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))
                
            ->add(Url::create('/thrive')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))

            ->add(Url::create('/cap')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))

            ->add(Url::create('/portfolio')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))

            ->add(Url::create('/d2c')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))

            ->add(Url::create('/about')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))

            ->add(Url::create('/founder')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))

            ->add(Url::create('/media-news')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))

            ->add(Url::create('/faq')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))

            ->add(Url::create('/contact')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))

            ->add(Url::create('/career')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))


            ->add(Url::create('/privacy-policy')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))

            ->add(Url::create('/terms-conditions')
                ->setLastModificationDate(Carbon::yesterday())
                ->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
                ->setPriority(0.1))


        ->writeToFile(public_path('sitemap.xml'));

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        //return response('sitemap.xml', 200)->header('Content-Type', 'application/xml');

        return response(file_get_contents('sitemap.xml'), 200, [
            'Content-Type' => 'application/xml'
        ]);

        //return view('pages.sitemap',$view_data);

    
    }

    public function blog()
    {
       
        $page_title = "Latest Startup Insights & Business Trends | Marwari Catalysts Blog";
        $page_description = "Helping startups with strategic support and insights. Check out our blog for trends, success stories, and expert tips in the startup world.";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.blog',$view_data);
    }

    public function marwari_catalysts_bridge()
    {
        $page_title = 'How Marwari Catalysts is a bridge between startups and investors?';
        $page_description = 'Learn about Marwari Catalysts role in boosting Indian startups, focusing on Tier 2 and 3 cities, with mentorship and investment opportunities.';

        $page_keywords = 'Marwari Catalysts, Startup Acceleration, Investor Networking, Entrepreneurship in India, Innovative Business Ideas, Startup Ecosystem, Tier 2 and Tier 3 Cities Development, Entrepreneurial Mentoring';
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.marwari_catalysts_bridge',$view_data);
    }

    public function entrepreneurial_culture_ecosystem()
    {
        $page_title = 'Entrepreneurial Culture and Ecosystem: Startup’s Greatest Asset';
        $page_description = 'Explore how a robust entrepreneurial culture and ecosystem are pivotal for startup success, fostering innovation, collaboration, and resilience.';

        $page_keywords = 'Entrepreneurial Ecosystem, Startup Culture, Business Innovation, Startup Growth';
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.entrepreneurial_culture_ecosystem',$view_data);
    }

    public function more_power_non_metro_cities()
    {
        $page_title = 'More power to Non Metro Cities after COVID-19: A blessing in disguise';
        $page_description = 'More power to Non Metro Cities after COVID-19: A blessing in disguise';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.more_power_non_metro_cities',$view_data);
    }

    public function angel_investment_by_professionals()
    {
        $page_title = 'Angel Investment by Professionals- A dip towards Entrepreneurship';
        $page_description = 'Discover how professionals are investing in startups for profit and growth in the post-COVID era, shaping a new business landscape.';

        $page_keywords = 'Angel Investing, Startup Growth, Professional Investors, Entrepreneurship, Investment Trends';
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.angel_investment_by_professionals',$view_data);
    }

    public function age_and_entrepreneurship()
    {
        $page_title = 'Age and Entrepreneurship: Use your Youth to Have the Edge';
        $page_description = 'Explore the power of youth in entrepreneurship. Learn how starting early, embracing risk, and learning from failures can lead to success.';

        $page_keywords = 'Youth Entrepreneurship, Starting Business Young, Entrepreneurial Risks, Learning from Failures, Young Business Success';
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.age_and_entrepreneurship',$view_data);
    }

    public function raise_pre_seed_funding()
    {
        $page_title = 'How to Raise Pre-Seed Funding: A Beginner’s Guide';
        $page_description = 'Explore pre-seed funding types, differences from seed funding, and strategies to attract investors for startup founders';

        $page_keywords = 'Pre-seed Funding, Startup Capital, Seed Funding vs Pre-seed, Investor Pitch Deck, Bootstrapping Startups, Angel Investors, Venture Capitalists, Crowdfunding, Early-Stage Financing';
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.raise_pre_seed_funding',$view_data);
    }

    public function journey_towards_vibrant()
    {
        $page_title = 'On A Journey Towards Vibrant CleanTech Startup Ecosystem';
        $page_description = 'Discover India\'s CleanTech startup journey towards sustainable energy and environmental solutions, supported by Marwari Catalysts.';

        $page_keywords = 'CleanTech Startups India, Sustainable Energy Solutions, Green Technology Importance, Renewable Energy Innovations, Startup Accelerator Programs, Eco-Friendly Business Development';
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.journey_towards_vibrant',$view_data);
    }

    public function power_d2c_heroes()
    {
        $page_title = 'Top D2C Brands In India And Their Heros';
        $page_description = 'Discover India\'s leading D2C brands like Sugar Cosmetics, Lenskart, mCaffeine, and more, exploring their innovative journeys and strategies.';

        $page_keywords = 'D2C Brands India, Sugar Cosmetics, Lenskart, mCaffeine, Bewakoof Fashion, Boat Electronics, ThelaGaadi Accessories, Indian Startups, Entrepreneurship, Direct-to-Consumer Strategy, Startup Success Stories';
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.power_d2c_heroes',$view_data);
    }

    public function top_trending_fintech_startups()
    {
        $page_title = 'Top Trending Fintech Startups In India';
        $page_description = 'Discover India\'s top fintech startups: Paytm, CRED, Zerodha, BankSathi, and Groww, revolutionising finance with innovative solutions.';

        $page_keywords = 'best fintech startups in india, new fintech startups in india, top fintech startups in india, top 10 fintech startups in india, early-stage fintech startups in india, number of fintech startups in india, emerging fintech startups in india, funded fintech startups in india, Top fintech startups, Fintech Startup Accelerator Program in india';
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.top_trending_fintech_startups',$view_data);
    }

    public function how_to_join_a_startup_accelerator()
    {
        $page_title = 'How to Join Startup Accelerators';
        $page_description = 'How to Join Startup Accelerators, with insights on benefits, choosing the right one, and application tips for entrepreneurs.';

        $page_keywords = 'How to Join Startup Accelerators, Entrepreneurs, Startup Accelerators, Startup Accelerator India, What to Expect in the startup Accelerator Program, Startup, Startup Lessons';
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.how-to-join-a-startup-accelerator',$view_data);
    }

    public function the_power_of_mentorship_in_startup_success()
    {
        $page_title = 'The Power of Mentorship in Startup Success';
        $page_description = 'Explore the crucial role of mentorship in startup success. Learn how mentors shape business strategies, offer support, and drive growth in our detailed guide.';

        $page_keywords = 'The Power of Mentorship in Startup Success, Startup Mentorship, Mentorship in Business Success, Importance of Mentors for Startups, Benefits of Business Mentorship, Finding a Mentor for Your Startup, Impact of Mentoring on Business Growth';
        
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.The-Power-of-Mentorship-in-Startup-Success',$view_data);
    }

    public function startup_advisory_in_india()
    {
        $page_title = 'Startup Advisory in India';
        $page_description = 'Unlock success in the diverse world of Indian startups with our guide on Startup Advisory in India. Navigate challenges, choose advisors wisely, and embrace the future of business.';
        $page_keywords = 'Future of Startup Advisory, Startup Advisory in India';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.startup-advisory-in-india',$view_data);
    }

    public function top_7_startup_accelerators_in_rajasthan()
    {
        $page_title = 'Top 7 Startup Accelerators in Rajasthan';
        $page_description = 'Explore top 7 startup accelerators in Rajasthan, empowering early-stage ventures with funding, mentorship, and industry networks.';
        $page_keywords = 'Startup Accelerators in Rajasthan, Rajasthan Startup Ecosystem, Early-stage Funding Rajasthan, Entrepreneur Support Rajasthan, Startup Mentorship Rajasthan, Rajasthan Angel Investors, Incubators in Rajasthan, Rajasthan Entrepreneurship, Startup Networking Rajasthan, Business Growth Accelerators Rajasthan';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.top-7-startup-accelerators-in-rajasthan',$view_data);
    }

    public function pre_seed_funding()
    {
        $page_title = 'Pre-Seed Funding: What It Is, How It Works?';
        $page_description = 'Exploring pre-seed funding What It Is, How It Works?: From idea validation, raising capital, to strategic planning for startups.';
        $page_keywords = 'Pre-seed funding, How Pre-seed funding Works, What is pre-seed funding, Startup financing, Early-stage investment, Angel investors, Business idea validation, Prototype development, Seed funding preparation, Startup capital, Equity financing, Crowdfunding for startups, Business plan funding, Incubators and accelerators, Startup mentorship and networking, Business valuation, Pre-seed vs seed funding, Finding investors for startups, Startup legal advice';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.pre-seed-funding',$view_data);
    }

    public function understanding_the_term_cohort_in_startup_acceleration_program()
    {
        $page_title = 'Understanding the Term "Cohort" in Startup Acceleration Program';
        $page_description = 'What is cohort Explore the benefits of startup cohorts with Marwari Catalysts Acceleration Program, offering mentorship, investment, and growth opportunities.';
        $page_keywords = 'Startup Cohort Acceleration, What is a Startup Cohort';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.understanding-the-term-cohort-in-startup-acceleration-program',$view_data);
    }

    public function acqui_hiring()
    {
        $page_title = 'What is Acqui-hiring?';
        $page_description = 'What is acqui-hiring? It\'s a strategic move in the tech industry where larger companies acquire startups not for their products, but for their talented workforce.';
        $page_keywords = 'What is acqui-hiring, acqui-hiring';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.acqui-hiring',$view_data);
    }

    public function what_is_mvp()
    {
        $page_title = 'What is MVP (Minimum Viable Product)?';
        $page_description = 'What is MVP (Minimum Viable Product) it’s A foundational version of a new product, particularly in tech and startups, containing essential features to attract initial users and gather feedback for future enhancements.';
        $page_keywords = 'What is MVP, Minimum Viable Product';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.What-is-MVP',$view_data);
    }

    public function business_incubation_center()
    {
        $page_title = 'Business Incubation Center';
        $page_description = 'Imagine a place where new small businesses get help to grow. This place is called a Business incubation center';
        $page_keywords = 'Business Incubation Center, Startup Growth Programs, Business Mentorship, Entrepreneur Networking, Startup Legal Help, Business Incubator Benefits, New Business Development, Business Incubation Programs, Business Innovation Centers';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.business-incubation-center',$view_data);
    }

    public function journey_of_deepesh_rajpal_and_onedose()
    {
        $page_title = 'The Journey of Deepesh Rajpal and ONEDOSE';
        $page_description = '';
        $page_keywords = '';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.journey-of-deepesh-rajpal-and-onedose',$view_data);
    }

    public function angel_investing()
    {
        $page_title = 'Angel Investing: An Introduction';
        $page_description = '';
        $page_keywords = '';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.angel-investing',$view_data);
    }

    public function venture_capital()
    {
        $page_title = 'What is Venture Capital?';
        $page_description = '';
        $page_keywords = '';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.venture-capital',$view_data);
    }

    public function indiasoft_2025()
    {
        $page_title = 'IndiaSoft 2025 Partners with Marwari Catalysts to Boost Startup Innovation';
        $page_description = '';
        $page_keywords = 'India soft 2025, India soft 2025, India soft 2025, India soft 2025, India soft 2025, India soft 2025, India soft 2025, India soft 2025, Startup investors, startup investors, Startup investors, startup investors, Startup investors, startup investors, Startup investors, startup investors';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.indiasoft-2025',$view_data);
    }

    public function events()
    {
        $page_title = 'Rajasthan Startup Meetup 3.0';
        $page_description = 'Rajasthan Startup Meetup 3.0';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.events',$view_data);
    }

    public function startup_meetup()
    {
        $page_title = 'Rajasthan Startup Meetup 3.0';
        $page_description = 'Rajasthan Startup Meetup 3.0';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.startup_meetup',$view_data);
    }

    public function gallery(Request $request){

        if(@$request['galley_id']){
            $album_images_data = [];

            $return_albmum = AlbumMaster::getAlbumDetail($request['galley_id']);

            $return_album_images = AlbumMaster::getAlbumImages($request['galley_id']);
    
            if($return_album_images['status']){
                $album_images_data = $return_album_images['data'];
            }
    
            $page_title = 'Marwari Catalysts Image Gallery';
            $page_description = 'Marwari Catalysts Image Gallery';
    
            $page_keywords = $page_title;
            $view_data['page_title'] =  $page_title;
            $view_data['page_keywords'] =  $page_keywords;
            $view_data['page_description'] =  $page_description;
            $view_data['album_images_data'] = $album_images_data;
            $view_data['albmum_detail'] = $return_albmum['data'];
    
            return view('pages.gallery_images',$view_data);
        }else{
            $album_data = [];
            $return_album = AlbumMaster::getAlbums();
    
            if($return_album['status']){
                $album_data = $return_album['data'];
            }
    
            $page_title = 'Marwari Catalysts Image Gallery';
            $page_description = 'Marwari Catalysts Image Gallery';
    
            $page_keywords = $page_title;
            $view_data['page_title'] =  $page_title;
            $view_data['page_keywords'] =  $page_keywords;
            $view_data['page_description'] =  $page_description;
            $view_data['album'] = $album_data;
    
            return view('pages.gallery',$view_data);
        }
    }

    public function ecosystem()
    {
        $page_title = 'Marwari Catalysts Ecosystem';
        $page_description = 'Marwari Catalysts Ecosystem';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.ecosystem',$view_data);
    }

    public function applyNow(Request $request)
    {
        $page_title = "Aarohan ReligionTech Startup Acceleration Program - Apply Now";
        $page_description = "Join Aarohan, our exclusive ReligionTech startup acceleration program, where we nurture, empower & drive startups to redefine the intersection of technology.";

        $startup_launch = [];
        $today_date = date('Y-m-d');
        $page_keywords = $page_title;
        $apply_now_entity = WebPage::where('entity','apply_now')->first();
        $apply_now = @json_decode(@$apply_now_entity->value,1) ?? [];
        $prog_logo_base_path = asset('uploads/programs');
        if($apply_now)
        {
            $apply_now['banners'] = @json_decode(@$apply_now['banners'],1) ?? [];
        }

        $startup_launch_temp =Startup_Launch::select('startup_launch.id as strtp_lnch_id','startup_launch.title as strtp_lnch_title','startup_launch.date_from as strtp_lnch_date_from','startup_launch.date_to as strtp_lnch_date_to','startup_launch.desc as strtp_lnch_desc','type_trans.id as catg_id','type_trans.name as catg_name','session_master.id as sess_mstr_id','session_master.batch_caption as sess_mstr_batch_caption','session_master.batch_year as sess_mstr_batch_year','programs.id as prog_id','programs.name as prog_name','programs.short_name as prog_short_name','programs.logo as prog_logo')
            ->leftJoin('startup_launch_category_trans',function($join){
                $join->on('startup_launch_category_trans.startup_launch_id','startup_launch.id');
            })
            ->leftJoin('type_trans',function($join){
                $join->on('type_trans.id','startup_launch_category_trans.type_trans_id');
            })
            ->leftJoin('session_master',function($join){
                $join->on('session_master.id','startup_launch.session_master_id');
            })
            ->leftJoin('programs',function($join){
                $join->on('programs.id','session_master.programs_id');
            })
            ->where('startup_launch.removed','N')
            ->where('startup_launch.is_active','Y')
            ->whereRaw("'$today_date' between startup_launch.date_from and startup_launch.date_to")
            ->where('startup_launch_category_trans.removed','N')
            ->where('programs.removed','N')
            ->orderBy('startup_launch.order','ASC')
            ->orderBy('startup_launch.created','ASC')
            ->orderBy('startup_launch_category_trans.id')
            ->get();

        foreach($startup_launch_temp as $record)
        {
            $strtp_lnch_id = $record->strtp_lnch_id;
            $catg_id = $record->catg_id;
            $startup_launch[$strtp_lnch_id]['strtp_lnch_id'] = $strtp_lnch_id;
            $startup_launch[$strtp_lnch_id]['strtp_lnch_title'] = $record->strtp_lnch_title;
            $startup_launch[$strtp_lnch_id]['strtp_lnch_date_from'] = $record->strtp_lnch_date_from;
            $startup_launch[$strtp_lnch_id]['strtp_lnch_date_to'] = $record->strtp_lnch_date_to;
            $startup_launch[$strtp_lnch_id]['strtp_lnch_desc'] = $record->strtp_lnch_desc;
            $startup_launch[$strtp_lnch_id]['sess_mstr_id'] = $record->sess_mstr_id;
            $startup_launch[$strtp_lnch_id]['sess_mstr_batch_caption'] = $record->sess_mstr_batch_caption;
            $startup_launch[$strtp_lnch_id]['sess_mstr_batch_year'] = $record->sess_mstr_batch_year;
            $startup_launch[$strtp_lnch_id]['prog_id'] = $record->prog_id;
            $startup_launch[$strtp_lnch_id]['prog_name'] = $record->prog_name;
            $startup_launch[$strtp_lnch_id]['prog_short_name'] = $record->prog_short_name;
            $startup_launch[$strtp_lnch_id]['prog_logo_src'] = $prog_logo_base_path."/".$record->prog_logo;
            $startup_launch[$strtp_lnch_id]['strtp_catgry'][$catg_id] = $record->catg_name;
        }   

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;
        $view_data['apply_now'] = $apply_now;
        $view_data['startup_launch'] = $startup_launch;
        return view('pages.applynow',$view_data);  
    }

    public function supplychaintech(Request $request,$session_caption = "",$startup_launch_id_enc = "")
    {
        $today_date = date('Y-m-d');
        $startup_launch_id = base64_decode($startup_launch_id_enc);
        $page_title = 'Marwari Catalysts Apply now';
        $page_description = 'Marwari Catalysts Apply now';
        $startup_launch = [];
        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        $startup_launch_tmp = Startup_Launch::select('startup_launch.*','type_trans.id as catg_id','type_trans.name as catg_name','session_master.batch_caption as sess_mstr_batch_caption','session_master.batch_year as sess_mstr_batch_year','programs.id as prog_id','programs.name as prog_name','programs.short_name as prog_short_name','programs.logo as prog_logo', 'programs.company_name as company')
            ->leftJoin('startup_launch_category_trans',function($join){
                $join->on('startup_launch_category_trans.startup_launch_id','startup_launch.id');
            })
            ->leftJoin('type_trans',function($join){
                $join->on('type_trans.id','startup_launch_category_trans.type_trans_id');
            })
            ->leftJoin('session_master',function($join){
                $join->on('session_master.id','startup_launch.session_master_id');
            })
            ->leftJoin('programs',function($join){
                $join->on('programs.id','session_master.programs_id');
            })
            ->where('startup_launch.id',$startup_launch_id)
            ->where('startup_launch.is_active','Y')
           // ->whereRaw("'$today_date' between startup_launch.date_from and startup_launch.date_to")
            ->where('startup_launch.removed','N')
            ->where('startup_launch_category_trans.removed','N')
            // ->orderByRaw("
            //     ( 
            //         CASE WHEN catg_name = 'Others' THEN
            //             1000
            //         else
            //             length(catg_name)
            //         END
            //     ) ASC")
            ->orderBy('startup_launch_category_trans.id')
            ->get();

        if($startup_launch_tmp->isNotEmpty())
        {
            foreach($startup_launch_tmp as $record)
            {
                $catg_id = $record->catg_id;
                $catg_name = $record->catg_name;
                $startup_launch['id'] = $record->id;
                $startup_launch['title'] = $record->title;
                $startup_launch['date_from'] = $record->date_from;
                $startup_launch['date_to'] = $record->date_to;
                $startup_launch['banner'] = $record->banner;
                $startup_launch['desc'] = $record->desc;
                $startup_launch['main_heading'] = $record->main_heading;
                $startup_launch['sub_heading'] = $record->sub_heading;
                $startup_launch['session_master_id'] = $record->session_master_id;
                $startup_launch['is_active'] = $record->is_active;
                $startup_launch['removed'] = $record->removed;
                $startup_launch['category'][$catg_id] = $catg_name;
                $startup_launch['sess_mstr_batch_caption'] = $record->sess_mstr_batch_caption;
                $startup_launch['sess_mstr_batch_year'] = $record->sess_mstr_batch_year;
                $startup_launch['prog_id'] = $record->prog_id;
                $startup_launch['prog_name'] = $record->prog_name;
                $startup_launch['prog_short_name'] = $record->prog_short_name;
                $startup_launch['company_name'] = $record->company;
                $startup_launch['header'] = $record->header;
                $startup_launch['footer'] = $record->footer;
                $startup_launch['expectations_from'] = $record->expectations_from;
                $startup_launch['show_country'] = $record->show_country;
            }   
        }
        $type_trans=TypeTrans::where('type_master_id',1)->select('id','name')->get();
        $type_trans_array = TypeTrans::pluck('id', 'name');
        $revenue_master=RevenueMaster::where('removed','=','N')->select('id','caption')->get();
        // $all_startups_emails=StartUps::where('removed','=','N')->select('email')->get();
        
        $indian_cities=DB::table('countries')->join('states','countries.id','=','states.country_id')->join('cities','cities.state_id','=','states.id')->select('cities.id','cities.name as city_name','states.name as city_state')->where('countries.id','101')->get();

        $all_countries=DB::table('countries')->select('countries.id','countries.name as countary_name')->where('countries.is_active','1')->get();

        $all_states=DB::table('states')->select('states.id','states.name as state_name')->where('states.is_active','1')->get();

        $all_cities=DB::table('cities')->select('cities.id','cities.name as city_name')->where('cities.is_active','1')->get();

        $view_data['startup_launch']=$startup_launch;
        $view_data['type_trans']=$type_trans;
        $view_data['revenue_master']=$revenue_master;
        $view_data['type_trans_array']=$type_trans_array;
        // $view_data['all_startups_emails']=$all_startups_emails;
        $view_data['indian_cities']= $indian_cities;
        $view_data['all_countries']= $all_countries;
        $view_data['all_states']= $all_states;
        $view_data['all_cities']= $all_cities;
        $view_data['web_notice']=WebNotice::where('is_active','Y')->first();
        return view('pages.supplychaintech',$view_data);
    }

    public function saveSupplychain(Request $request)
    {

    // echo "<pre>";
    // print_r($request);
    // exit;
        $return_data=[];
     //   return $request;
        // $request->validate([
        //     'g-recaptcha-response' => function($attribute,$value,$fail){
        //         $secret_key = env('GOOGLE_RECAPTCHA_SECRET');
        //         $response = $value;
        //         $userIP = $_SERVER['REMOTE_ADDR'];
        //         $url = "https://www.google.com/recaptcha/api/siteverify?secret=$secret_key&response=$response&remoteIp=$userIP";
        //         $response = \file_get_contents($url);
        //         $response = json_decode($response);
        //         if(!$response->success){
        //             Session::flash('g-recaptcha-response','Please Check reCaptcha ');
        //             Session::flash('alert-class','alert-danger');
        //             $fail($attribute.' google reCaptcha failed');
        //         }
        //     }
        // ]);

        //$request->validate(['startup_launch_title'=>'required','startup_launch_date_range'=>'required','startup_category'=>'required','banners'=>'required','banners.*'=>'image']); 

        $request->validate(['pitch_deck_file'=>'required | mimes:jpg,png,jpeg,pptx,ppt,pdf,docx,doc','name'=>'required','email'=>'required|email','contact_no'=>'required |digits:10 ','founder_profile'=>'required | url','company_name'=>'required','company_website'=>'required | url','legal_entity'=>'required','year_incorporation'=>'required','sub_sector'=>'required','company_location'=>'required','revenue'=>'required','session_master_id'=>'required','startup_status'=>'required','message'=>'required','expectations'=>'required','is_thrive'=>'required','startup_type_tran_id'=>'required']); 

        if($request->legal_entity=="Other")
        {
            $request->validate(['legal_entity_other'=>'required']); 
        }

        if($request->referral=="Other")
        {
            $request->validate(['referral_other'=>'required']); 
        }
        if($request->is_thrive=='Y')
        {
            $request->validate(['startup_belong_to'=>'required']); 
        }
        try{
            $input = $request->all();
            $image_name = null;
            $image_name_1 = null;
            if ($request->hasFile('pitch_deck_file'))
            {
              $image = $input['pitch_deck_file'];
              $image_name = uniqid().rand(1234567890, 6).'.'.$image->getClientOriginalExtension();
              $fileObj = $request->file('pitch_deck_file');
              $fileObj->move(public_path($this->supplychain_img_path).'/', $image_name);
            }
            if ($request->hasFile('page_pitch_file'))
            {
              $image1 = $input['page_pitch_file'];
              $image_name_1 = uniqid().rand(1234567890, 6).'.'.$image1->getClientOriginalExtension();
              $fileObj = $request->file('page_pitch_file');
              $fileObj->move(public_path($this->supplychain_img_path).'/', $image_name_1);
            }
            $StartUpObj = new StartUps();
            $StartUpObj->field['name'] = $input['name'];
            $StartUpObj->field['email'] = $input['email'];
            $StartUpObj->field['contact_no'] = $input['contact_no'];
            $StartUpObj->field['founder_profile'] = $input['founder_profile'];
            $StartUpObj->field['company_name'] = $input['company_name'];
            $StartUpObj->field['company_website'] = $input['company_website'];
            $StartUpObj->field['legal_entity'] = @$input['legal_entity']=="Other" ? @$input['legal_entity_other'] : @$input['legal_entity'];
            $StartUpObj->field['year_of_incorporation'] = $input['year_incorporation'];
            if($input['is_thrive']=='Y')
                $StartUpObj->field['startup_belong_to'] = $input['startup_belong_to'];
            else
                $StartUpObj->field['startup_belong_to']='0';
            
            $StartUpObj->field['sub_sector'] = $input['sub_sector'];
            $StartUpObj->field['city_call_home'] = $input['company_location'];
            $StartUpObj->field['revenue'] = $input['revenue'];
            $StartUpObj->field['revenue_master_id'] = $input['revenue'];
            $StartUpObj->field['session_master_id'] = $input['session_master_id'];
            $StartUpObj->field['startup_status'] = $input['startup_status'];
            $StartUpObj->field['message'] = $input['message'];
            $StartUpObj->field['expectations'] = $input['expectations'];
            $StartUpObj->field['pitch_deck_file'] = $image_name;
            $StartUpObj->field['page_pitch_file'] = $image_name_1;
            $StartUpObj->field['is_thrive']=$input['is_thrive'];            

            if($input['is_thrive']=='N')
            $StartUpObj->field['startup_type_tran_id'] = $input['startup_type_tran_id'];
            else
            $StartUpObj->field['startup_type_tran_id'] = $input['startup_belong_to'];

            $StartUpObj->field['referral'] = @$input['referral']=="Other" ? @$input['referral_other'] : @$input['referral'];

            $return_data = $StartUpObj->saveStartupData();

            $type_trans_array = TypeTrans::pluck('id', 'name');
            //startup id insert into CategoryMapping start
            $category_mapping=new CategoryMapping;
            $category_mapping->startups_id=$return_data['id'];
            $category_mapping->startup_type_tran_id=$return_data['startup_type_tran_id'];
            $category_mapping->category_mapping_trans_id=$return_data['startup_type_tran_id'];
            $category_mapping->save();
            //startup id insert into CategoryMapping end

            //startup id insert into StartupSubStatusTrans start
            $startup_sub_status_trans=new StartupSubStatusTrans;
            $startup_sub_status_trans->startup_id=$return_data['id'];
            $startup_sub_status_trans->startup_status=$return_data['startup_status'];
            $startup_sub_status_trans->type_trans_id=$type_trans_array['Active'];
            $startup_sub_status_trans->user_id=1;
            $startup_sub_status_trans->save();
            //startup id insert into StartupSubStatusTrans end
             

            $return_arr['status'] = false;
            $return_arr['message'] = "Unable to send email, try again later.";
            $return_arr['status'] = true;
            $return_arr['message'] = 'Your query has been sent successfully. One of our executive will contact you soon.';

            if(@$input['name'] && $input['contact_no'] && $input['email']){
                $email = $input['email'];
                Mail::send('email.suppychaintech', [
                    'name' => $request->get('name'),
                    'email' => $request->get('email'),
                    'contact_no' => $request->get('contact_no'),
                    'founder_profile' => $request->get('founder_profile'),
                    'company_name' => $request->get('company_name'),
                    'company_website' => $request->get('company_website'),
                    'legal_entity' => $request->get('legal_entity'),
                    'year_incorporation' => $request->get('year_incorporation'),
                    'startup_belong_to' => $request->get('startup_belong_to'),
                    'sub_sector' => $request->get('sub_sector'),
                    'city_call_home' =>$request->get('company_location'),
                    'company_location' => $request->get('company_location'),
                    'revenue' => $request->get('revenue'),
                    'message_1' => $request->get('message')],
                    function ($message) {
                        $message->from(env('MAIL_USERNAME'));
                        $message->to([env('MAIL_TO'),'sushil@marwaricatalysts.com','thrive@marwaricatalysts.com'], ['APP_NAME','Sushil Sharma','thrive marwari catalysts'])
                        ->subject('Enquiry: new application received for thrive on website');
                });

                if(!empty($email)){
                    //old welcome mail start
                    /*
                    Mail::send('email.suppychaintech_user',[] ,
                        function ($message) use($email) {
                            $message->from(env('MAIL_USERNAME'));
                            $message->to($email, 'APP_NAME')
                            ->subject('Congratulations! We have received your Startup Application | Marwari Catalysts ');
                    });
                    */
                    //old welcome mail end


                    //new welcome mail start
                    $startup_id=$request->startup_id;
                    $type_trans_array = TypeTrans::pluck('name', 'id');       
                    $mail_configuration=MailConfiguration::where('id',6)->first();
                    $replaceble_tags=array('{startup_name}','{cohort_name}','{user_name}');
                    $replaceble_tags_with_value['{startup_name}']=$input['company_name'];
                    $replaceble_tags_with_value['{user_name}']=$input['name'];
                    if($input['is_thrive']=='N')
                    {
                        $replaceble_tags_with_value['{cohort_name}']=$type_trans_array[$input['startup_type_tran_id']];
                    }
                    else
                    {
                        $replaceble_tags_with_value['{cohort_name}']=$type_trans_array[$input['startup_belong_to']];
                    }
                    
                    foreach($replaceble_tags as $_replaceble_tags)
                    {
                        $mail_configuration['content']=str_replace($_replaceble_tags,$replaceble_tags_with_value[$_replaceble_tags],$mail_configuration['content']);
                        $mail_configuration['subject']=str_replace($_replaceble_tags,$replaceble_tags_with_value[$_replaceble_tags],$mail_configuration['subject']);
                    }
                    $mail_configuration_content=$mail_configuration['content'];
                    $mail_configuration_subject=$mail_configuration['subject'];
                    $to_email = $input['email'];
                    //return view('email.shortlist',['mail_configuration_content'=> $mail_configuration_content]);
                    Mail::send('email.congratulation', [
                        'mail_configuration_content'=>$mail_configuration_content,
                    ],
                    function ($message) use($to_email,$mail_configuration_subject) {
                        $message->from(env('MAIL_USERNAME'));
                        $message->to($to_email, 'APP_NAME')
                        ->subject($mail_configuration_subject);
                    });
                    //new welcome mail end
                }
            }else{
                $return_arr['status'] = false;
                $return_arr['message'] = 'Please porvide all mendatory fields';
            }
        } catch(\Exception $e){
            $e->getMessage();
        }
        return response()->json($return_data, 200);
    }

    public function masterform(Request $request)
    {
       // return $request;
        //is master form already filled start
        $startup_id=$request->startup_id;
        $startups_obj=Startups::find($startup_id);
        $master_form_saved = $startups_obj->master_form_saved;
        $master_form_saved_level=$startups_obj->master_form_saved_level;
       // dd($master_form_saved,!Auth::guard('admin')->check());
        if($master_form_saved == 'Y' && !Auth::guard('admin')->check())
        {
            $redirect_url = tokenize_url(route('web.masterFormAlreadySubmitted'),['startup_id' => $startup_id]);
            return redirect($redirect_url);
        }
        //is master form already filled end
        $startup_id = $request['startup_id'];

        $current_step = $request['current_step'];
        $page_title = 'Master Form for Cleantech with Marwari Catalysts';
        $page_description = 'Master Form for Cleantech with Marwari Catalysts';
        if(@$startup_id){
            $general_questions = [];
            $business_questions = [];
            $startup_detail = [];
            $general_questions_answer = [];
            $return_startup = StartUps::getStartupDetail($startup_id);
            if($return_startup['status']){
                $startup_detail = $return_startup['data'];
            }
            $return_general_questions_answer = StartupGeneralQuestionAnswer::getAllAnswers(['startup_id'=>$startup_detail->id]);

            if($return_general_questions_answer['status']){
               $QuestionsAnswerArr =  $return_general_questions_answer['data'];
               foreach($QuestionsAnswerArr as $SubQuestionsAnswerArr){
                $general_questions_answer[$SubQuestionsAnswerArr->question_id] = $SubQuestionsAnswerArr->answer;
               }
            }
            $return_general_questions = StartUpGeneralQuestion::getAllQuestions(['question_cat' => 'G']);

            //MT Start
            //current step1 start
            $indian_cities=DB::table('countries')->join('states','countries.id','=','states.country_id')->join('cities','cities.state_id','=','states.id')->select('cities.id','cities.name as city_name','states.name as city_state')->where('countries.id','101')->get();
            $view_data['indian_cities']= $indian_cities;
            //current step1 end
            $current_step=@$current_step ?? 1;
            if($current_step==1)
            {
                $return_CINFO_questions = StartUpGeneralQuestion::getAllQuestions(['question_cat' => 'CINFO']);
                if($return_CINFO_questions['status']){
                    $CINFO_questions = $return_CINFO_questions['data']['records'];
                }
                $CINFO_questions_answer=StartupGeneralQuestionAnswer::where('startup_id',$startup_id)
                    ->get()->keyBy('question_id');
                $view_data['Dynamic_questions_answer']=$CINFO_questions_answer;
                $view_data['Dynamic_questions']=$CINFO_questions;
            }
            else if($current_step==4)
            {
                $return_PTF_questions = StartUpGeneralQuestion::getAllQuestions(['question_cat' => 'PTF']);
                if($return_PTF_questions['status']){
                    $PTF_questions = $return_PTF_questions['data']['records'];
                    $PTF_questions_option=StartupQuestionOption::where('removed','N')->orderBy('sort_order','ASC')->get();
                }
                $PTF_questions_answer=StartupGeneralQuestionAnswer::where('startup_id',$startup_id)
                    ->get()->keyBy('question_id')->toArray();
                $PTF_questions_option_answer=StartupQuestionOptionAnswer::where('startup_id',$startup_id)
                    ->get()->keyBy('question_option_id')->toArray();
                $view_data['Dynamic_answers']=$PTF_questions_answer;
                $view_data['Dynamic_option_answers']=$PTF_questions_option_answer;
                $view_data['Dynamic_questions']=$PTF_questions;
                $view_data['Dynamic_questions_option']=$PTF_questions_option;
            }
            else if($current_step==5)
            {
                $return_FIR_questions = StartUpGeneralQuestion::getAllQuestions(['question_cat' => 'FIR']);
                if($return_FIR_questions['status']){
                    $FIR_questions = $return_FIR_questions['data']['records'];
                    $FIR_questions_option=StartupQuestionOption::where('removed','N')->orderBy('sort_order','ASC')->get();
                }
                $FIR_questions_answer=StartupGeneralQuestionAnswer::where('startup_id',$startup_id)
                    ->get()->keyBy('question_id')->toArray();
                $FIR_questions_option_answer=StartupQuestionOptionAnswer::where('startup_id',$startup_id)
                    ->get()->keyBy('question_option_id')->toArray();
                $view_data['Dynamic_answers']=$FIR_questions_answer;
                $view_data['Dynamic_option_answers']=$FIR_questions_option_answer;
                $view_data['Dynamic_questions']=$FIR_questions;
                $view_data['Dynamic_questions_option']=$FIR_questions_option;
            }
            else if($current_step==6)
            {
                $return_IDE_questions = StartUpGeneralQuestion::getAllQuestions(['question_cat' => 'IDE']);
                if($return_IDE_questions['status']){
                    $IDE_questions = $return_IDE_questions['data']['records'];
                    $IDE_questions_option=StartupQuestionOption::where('removed','N')->orderBy('sort_order','ASC')->get();
                }
                $IDE_questions_answer=StartupGeneralQuestionAnswer::where('startup_id',$startup_id)
                    ->get()->keyBy('question_id')->toArray();
                $IDE_questions_option_answer=StartupQuestionOptionAnswer::where('startup_id',$startup_id)
                    ->get()->keyBy('question_option_id')->toArray();
                // return $IDE_questions_option_answer;
                $view_data['Dynamic_answers']=$IDE_questions_answer;
                $view_data['Dynamic_option_answers']=$IDE_questions_option_answer;
                $view_data['Dynamic_questions']=$IDE_questions;
                $view_data['Dynamic_questions_option']=$IDE_questions_option;
            }
            //MT end

            
            if($return_general_questions['status']){
                $general_questions = $return_general_questions['data']['records'];
            }

            $designation_arr = [];
            $return_typetrans = TypeTrans::getAllTypeTrans(['type_master_id'=>2]);
            if($return_typetrans['status']){
                foreach($return_typetrans['data']['records'] as $subArr){
                    $designation_arr[$subArr->id] = $subArr->name;
                }
            }

            $return_busniess_questions = StartUpGeneralQuestion::getAllQuestions(['question_cat' => 'B']);
            if($return_busniess_questions['status']){
                $business_questions = $return_busniess_questions['data']['records'];
            }

            $team_detail = [];

            if($current_step==2){
                $return_team = StartUpTeamDetails::getAllTeamMemberDetails(['startup_id' => $startup_id]);
                if($return_team['status']){
                    $team_detail = $return_team['data']['records'];
                }
            }
            $page_keywords = $page_title;
            $view_data['page_title'] =  $page_title;
            $view_data['page_keywords'] =  $page_keywords;
            $view_data['page_description'] =  $page_description;
            $view_data['team_details']              =  $team_detail;
            $view_data['general_questions']         =  $general_questions;
            $view_data['business_questions']        =  $business_questions;
            $view_data['startup_detail']            =  $startup_detail;
            $view_data['designation_arr']           =  $designation_arr;
            $view_data['general_questions_answer']  =  $general_questions_answer;
            $view_data['current_step']  =  @$current_step ?? 1;
            $view_data['startup_id']    =  @$startup_id ?? 1;
            $view_data['type_trans_array']=TypeTrans::where('type_master_id',1)->select('id','name')->get()->pluck('name','id');
            $category_title_obj=$view_data['category_title']=Startups::select('type_trans.name as category_title')->join('type_trans','type_trans.id','=','startups.startup_type_tran_id')->where('startups.id',$startup_id)->first();

            if($category_title_obj)
            {
                $view_data['category_title']=$category_title_obj->category_title;                
            }
            else
            {
                $view_data['category_title']="";                
            }
            
            return view('pages.masterform',$view_data);
        }else{
            return view('pages.error');
        }
    }

    public function masterformNew()
    {
        $page_title = 'Master Form for Cleantech with Marwari Catalysts';
        $page_description = 'Master Form for Cleantech with Marwari Catalysts';

        $general_questions = [];
        $business_questions = [];

        $return_general_questions = StartUpGeneralQuestion::getAllQuestions(['question_cat' => 'G']);

        if($return_general_questions['status']){
            $general_questions = $return_general_questions['data']['records'];
        }

        $return_busniess_questions = StartUpGeneralQuestion::getAllQuestions(['question_cat' => 'B']);

        if($return_busniess_questions['status']){
            $business_questions = $return_busniess_questions['data']['records'];
        }
        

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;


        $view_data['general_questions'] =  $general_questions;
        $view_data['business_questions'] =  $business_questions;
        return view('pages.masterformNew',$view_data);
    }

    public function saveMasterForm(Request $request){
        $input = $request->all();
        $current_step = $request['current_step'];
        $startup_id   = $request['startup_id'];
        $StartupsObj = new Startups();
        if($current_step==1){
            $request->validate(['company_logo'=>'file|max:2048']); 
            if($request->hasFile('company_logo'))
            {
                $company_logo = $request->file('company_logo');
                $company_logo_name = uniqid().rand(1234567890, 6).'.'.$company_logo->getClientOriginalExtension();
                $company_logo->move(public_path($this->company_logo).'/', $company_logo_name);
                $StartupsObj->field['company_logo'] = $company_logo_name;
            }
            $StartupsObj->field['name'] = $input['name'];
            $StartupsObj->field['email'] = $input['email'];
            $StartupsObj->field['contact_no'] = $input['contact_no'];
            $StartupsObj->field['company_name'] = $input['company_name'];
            $StartupsObj->field['legal_entity'] = $input['type_of_organization'];
            $StartupsObj->field['year_of_incorporation'] =$input['year_of_incorporation'];
            $StartupsObj->field['company_address'] = $input['company_address'];
            $StartupsObj->field['no_of_founders'] = $input['no_of_founders'];
            $StartupsObj->field['city_call_home'] = $input['company_location'];
            $StartupsObj->field['sub_sector'] = $input['sub_sector'];
            $StartupsObj->field['master_form_partial_saved'] = 'Y';
            $StartupsObj->field['master_form_saved_level'] = 1;
            $return_data = $StartupsObj->updateStartup($startup_id);
            //dynamic question start
            $dynamic_question_SELECT=$request['dynamic_question_SELECT'];
            $dynamic_question_CHK=$request['dynamic_question_CHK'];
            if($dynamic_question_SELECT)
            {
                foreach($dynamic_question_SELECT as $_dynamic_q_info)
                {
                    $_dynamic_q_info_arr=explode("_",$_dynamic_q_info);
                    $qid=$_dynamic_q_info_arr[1];
                    $input_value=$input[$_dynamic_q_info];
                    // $startup_gen_q_ans=new StartupGeneralQuestionAnswer;
                    // $startup_gen_q_ans->startup_id=$startup_id;
                    // $startup_gen_q_ans->question_id=$qid;
                    // $startup_gen_q_ans->answer=$input_value;
                    // $isSucess=$startup_gen_q_ans->save();
                    //
                    $StartupAnswer = new StartupGeneralQuestionAnswer();
                    $StartupAnswer->field['question_id'] = $qid;
                    $StartupAnswer->field['answer'] = $input_value;
                    $StartupAnswer->field['startup_id'] = $startup_id;
                    $StartupAnswer->updateOrSaveAnswer(['startup_id' => $startup_id, 'question_id' =>$qid]);
                    //
                }
            }
            if($dynamic_question_CHK)
            {
                foreach($dynamic_question_CHK as $_dynamic_q_info)
                {
                    $_dynamic_q_info_arr=explode("_",$_dynamic_q_info);
                    $qid=$_dynamic_q_info_arr[1];
                    $input_value=$input[$_dynamic_q_info];
                    $StartupAnswer = new StartupGeneralQuestionAnswer();
                    $StartupAnswer->field['question_id'] = $qid;
                    $StartupAnswer->field['answer'] = implode(",",$input_value);
                    $StartupAnswer->field['startup_id'] = $startup_id;
                    $StartupAnswer->updateOrSaveAnswer(['startup_id' => $startup_id, 'question_id' =>$qid]);
                }
            }
            //dynamic question end
        }
        else if($current_step==2){
            //file size validate start
            $request->validate(['team_member_photo.*'=>'file|max:2048']); 
            //file size validate end

            //update startup level start
            $StartupsObj = new Startups();
            $StartupsObj->field['master_form_saved_level'] = 2;
            $StartupsObj->updateStartup($startup_id);
            //update startup level end
            StartUpTeamDetails::where('startup_id',$startup_id)->delete();
            $team_member_name_arr = $request['team_member_name'];
 
            if(count($team_member_name_arr)){
                foreach($team_member_name_arr as $key => $name){
                    $StartUpTeamDetails = new StartUpTeamDetails();

                    $StartUpTeamDetails->field['name'] = $name;
                    $StartUpTeamDetails->field['email'] = $request['team_member_email'][$key];
                    $StartUpTeamDetails->field['contact_no'] = $request['team_member_contact_no'][$key];
                    $StartUpTeamDetails->field['linked_in_profile'] = $request['team_member_linkedin_profile'][$key];
                    $StartUpTeamDetails->field['educational_qualification'] = $request['team_member_edu_qualification'][$key];
                    $StartUpTeamDetails->field['designation'] = @implode(",",@$request['team_member_type'][$key]);
                    $StartUpTeamDetails->field['field_of_exp'] = $request['team_member_field_of_exp'][$key];
                    $StartUpTeamDetails->field['age'] = $request['team_member_age'][$key];
                    $StartUpTeamDetails->field['work_as'] = $request['team_member_work_as'][$key];
                    $StartUpTeamDetails->field['startup_id'] = $startup_id;
                    $files_arr = $request->file();
                    if(count($files_arr)){
                        if(@$files_arr['team_member_photo'][$key] != null){   
                            $fileObj = $files_arr['team_member_photo'][$key];
                            $photo_name = uniqid().rand(1234567890, 6).'.'.$fileObj->getClientOriginalExtension();
                            $fileObj->move(public_path($this->core_team_member_photo).'/', $photo_name);
                            $StartUpTeamDetails->field['photo'] = $photo_name;
                        }
                        else{
                            $StartUpTeamDetails->field['photo'] = $request['photo_arr'][$key];
                        }
                    }else{
                        $StartUpTeamDetails->field['photo'] = $request['photo_arr'][$key];
                    }

                    //dd($StartUpTeamDetails->field);
                    $return_data = $StartUpTeamDetails->saveStartupTeamDetails();
                }
            }
        }
        else if($current_step==3){

            //file size validate start
            $request->validate(['core_team_member_photo'=>'file|max:2048']); 
            //file size validate end

            if($request->hasFile('core_team_member_photo'))
            {
                $core_team_member_photo = $request->file('core_team_member_photo');
                $core_team_member_photo_name = uniqid().rand(1234567890, 6).'.'.$core_team_member_photo->getClientOriginalExtension();
                $core_team_member_photo->move(public_path($this->core_team_member_photo).'/', $core_team_member_photo_name);
                $StartupsObj->field['core_team_member_photo'] = $core_team_member_photo_name;
            }

            //Core Info
            $StartupsObj->field['core_team_member_name'] = $input['core_team_member_name'];
            $StartupsObj->field['core_team_member_email'] = $input['core_team_member_email'];
            $StartupsObj->field['core_team_member_no'] = $input['core_team_member_no'];
            $StartupsObj->field['core_team_member_lprofile'] = $input['core_team_member_lprofile'];
            $StartupsObj->field['is_tech_team'] = $input['is_tech_team'];
            if($input['is_tech_team']=="Y")
            {
                $StartupsObj->field['product_development_process'] ="";
            }
            else if($input['is_tech_team']=="N")
            {
                $StartupsObj->field['product_development_process'] = $input['product_development_process'];
            }
            $StartupsObj->field['product_demo_url'] = $input['product_demo_url'];
            $StartupsObj->field['current_team_size'] = $input['current_team_size'];
            $StartupsObj->field['master_form_partial_saved'] = 'Y';
            $StartupsObj->field['master_form_saved_level'] = 3;

            $return_data = $StartupsObj->updateStartup($startup_id);
        }
        else if($current_step==4){
            $startup_id=$request->startup_id;
            $ptf_question_id=StartUpGeneralQuestion::select('id')->where('question_cat','PTF')->get()->pluck('id');
            StartupGeneralQuestionAnswer::where('startup_id',$startup_id)
                                         ->wherein('question_id',$ptf_question_id)
                                         ->delete(); 
            StartupQuestionOptionAnswer::where('startup_id',$startup_id)
                                         ->wherein('question_id',$ptf_question_id)
                                         ->delete();                          
            $allInputKeys=collect($request->all())->keys();
            foreach($allInputKeys as $input_key)
            {
                $input_info=(explode("_",$input_key));
                if(count($input_info)==2)
                {
                    $q_type=$input_info[0];
                    $q_id=$input_info[1];
                    if($q_type=="TEXT")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="TEXTAREA")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="RD")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="SELECT")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="CHK")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=implode(",",$input_value);
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="FILE")
                    {
                        //
                    }
                }
                else if(count($input_info)==3)
                {
                    $q_type=$input_info[0];
                    $q_id=$input_info[1];
                    $q_op_id=$input_info[2];
                    if($q_type=="TEXT")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="TEXTAREA")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="RD")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="SELECT")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="CHK")//not used
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                }
            }
            $StartupsObj->field['master_form_partial_saved'] = 'Y';
            $StartupsObj->field['master_form_saved_level'] = 4;
            $return_data = $StartupsObj->updateStartup($startup_id);
        }
        else if($current_step==5){
            $startup_id=$request->startup_id;
            $fir_question_id=StartUpGeneralQuestion::select('id')->where('question_cat','FIR')->get()->pluck('id');
            StartupGeneralQuestionAnswer::where('startup_id',$startup_id)
                                         ->wherein('question_id',$fir_question_id)
                                         ->delete(); 
            StartupQuestionOptionAnswer::where('startup_id',$startup_id)
                                         ->wherein('question_id',$fir_question_id)
                                         ->delete();                          
            $allInputKeys=collect($request->all())->keys();
            foreach($allInputKeys as $input_key)
            {
                $input_info=(explode("_",$input_key));
                if(count($input_info)==2)
                {
                    $q_type=$input_info[0];
                    $q_id=$input_info[1];
                    if($q_type=="TEXT")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="TEXTAREA")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="RD")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="SELECT")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="CHK")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=implode(",",$input_value);
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="FILE")
                    {
                        //
                    }
                }
                else if(count($input_info)==3)
                {
                    $q_type=$input_info[0];
                    $q_id=$input_info[1];
                    $q_op_id=$input_info[2];
                    if($q_type=="TEXT")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="TEXTAREA")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="RD")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="SELECT")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="CHK")//not used
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                }
            }
            $StartupsObj->field['master_form_saved'] = 'N';
            $StartupsObj->field['master_form_partial_saved'] = 'Y';
            $StartupsObj->field['master_form_saved_level'] = 5;
            $return_data = $StartupsObj->updateStartup($startup_id);
        }else if($current_step==6){
            $startup_id=$request->startup_id;
            $ide_question_id=StartUpGeneralQuestion::select('id')->where('question_cat','IDE')->get()->pluck('id');
            StartupGeneralQuestionAnswer::where('startup_id',$startup_id)
                                         ->wherein('question_id',$ide_question_id)
                                         ->delete(); 
            StartupQuestionOptionAnswer::where('startup_id',$startup_id)
                                         ->wherein('question_id',$ide_question_id)
                                         ->delete();                          
            $allInputKeys=collect($request->all())->keys();
            foreach($allInputKeys as $input_key)
            {
                $input_info=(explode("_",$input_key));
                if(count($input_info)==2)
                {
                    $q_type=$input_info[0];
                    $q_id=$input_info[1];
                    if($q_type=="TEXT")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="TEXTAREA")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="RD")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="SELECT")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=$input_value;
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="CHK")
                    {
                        $input_value=$request[$input_key];
                        $startup_general_question_answer=new StartupGeneralQuestionAnswer();
                        $startup_general_question_answer->question_id=$q_id;
                        $startup_general_question_answer->answer=implode(",",$input_value);
                        $startup_general_question_answer->startup_id=$startup_id;
                        $startup_general_question_answer->save();
                    }
                    else if($q_type=="FILE")
                    {
                        //
                    }
                }
                else if(count($input_info)==3)
                {
                    $q_type=$input_info[0];
                    $q_id=$input_info[1];
                    $q_op_id=$input_info[2];
                    if($q_type=="TEXT")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="TEXTAREA")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="RD")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="SELECT")
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                    else if($q_type=="CHK")//not used
                    {
                        $input_value=$request[$input_key];
                        $startup_question_option_answer=new StartupQuestionOptionAnswer();
                        $startup_question_option_answer->question_id=$q_id;
                        $startup_question_option_answer->question_option_id=$q_op_id;
                        $startup_question_option_answer->answer=$input_value;
                        $startup_question_option_answer->startup_id=$startup_id;
                        $startup_question_option_answer->save();
                    }
                }
            }
            $StartupsObj->field['master_form_saved'] = 'Y';
            $StartupsObj->field['master_form_partial_saved'] = 'N';
            $StartupsObj->field['master_form_saved_level'] = 6;
            $return_data = $StartupsObj->updateStartup($startup_id);
        }

        if($current_step==6){
            $redirect_url = tokenize_url(route('web.masterFormConfirmation'),['startup_id' => $startup_id]);
            $message = 'Master Form saved successfully';
        }else{
            $redirect_url = tokenize_url(route('web.masterform'),['startup_id' => $startup_id,'current_step' => ($current_step+1)]);
            $message = 'Form Step '.$current_step.' saved successfully';
        }


        // Set redirect parameters
        $redirect['url']     = $redirect_url;
        $redirect['message'] = ['message' => $message, 'type' => 'success'];
        //------------------------

        return redirect($redirect['url'])->with(['message' => $redirect['message']]);
        
    }

    public function masterFormConfirmation(Request $request){
        $startup_id = $request['startup_id'];
        $startups_rec = Startups::select('type_trans.name as category_title')
            ->join('type_trans','type_trans.id','=','startups.startup_type_tran_id')
            ->where('startups.id',$startup_id)
            ->first();
        $return_startup = StartUps::getStartupDetail($startup_id);

        $startup_detail = $return_startup['data'];

        $view_data['startup_detail'] = $startup_detail;
        $view_data['category_title'] = @$startups_rec->category_title ?? "";
        return view('pages.form_confirmation',$view_data);
    }

    public function masterFormAlreadySubmitted(Request $request)
    {
        $startup_id = $request['startup_id'];
        $startups_rec = Startups::select('type_trans.name as category_title')
            ->join('type_trans','type_trans.id','=','startups.startup_type_tran_id')
            ->where('startups.id',$startup_id)
            ->first();
        $view_data['category_title'] = @$startups_rec->category_title ?? "";
        return view('pages.master_form_already_submitted',$view_data);
    }

    public function careholders()
    {
       $page_title = "Careholders Trust, Commitment to Excellence | Marwari Catalysts";
        $page_description = "Learn about the trusted shareholders of Marwari Catalysts, dedicated to excellence and committed to driving growth and innovation within our ecosystem.";

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.careholders',$view_data);
    }

     public function mentor_form()
    {
        $page_title = 'Thrive - Mentors with Marwari Catalysts';
        $page_description = 'Thrive - Mentors with Marwari Catalysts';

        $page_keywords = $page_title;
        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.mentorForm',$view_data);
    }

    public function saveMentor(Request $request){


        $request->validate([
            'g-recaptcha-response' => function($attribute,$value,$fail){
                $secret_key = env('GOOGLE_RECAPTCHA_SECRET');
                $response = $value;
                $userIP = $_SERVER['REMOTE_ADDR'];
                $url = "https://www.google.com/recaptcha/api/siteverify?secret=$secret_key&response=$response&remoteIp=$userIP";
                $response = \file_get_contents($url);
                $response = json_decode($response);
                if(!$response->success){
                    Session::flash('g-recaptcha-response','Please Check reCaptcha ');
                    Session::flash('alert-class','alert-danger');
                    $fail($attribute.' google reCaptcha failed');
                }
            }
        ]);

        try{

            $input = $request->all();  
            
            $image_name = null;
            
            if ($request->hasFile('photo'))
            {
              $image = $input['photo'];
              $image_name = uniqid().rand(1234567890, 6).'.'.$image->getClientOriginalExtension();
              $fileObj = $request->file('photo');
              $fileObj->move(public_path($this->mentor_img_path).'/', $image_name);
            }

            $MentorObj = new Mentor();
            $MentorObj->field['name'] = $input['name'];
            $MentorObj->field['email'] = $input['email'];
            $MentorObj->field['contact_no'] = $input['contact_no'];
            $MentorObj->field['linkedin_profile'] = $input['linkedin_profile'];
            $MentorObj->field['address'] = $input['address'];
            $MentorObj->field['job_title'] = $input['job_title'];
            $MentorObj->field['organization'] = $input['organization'];
            $MentorObj->field['intro_achievement'] = $input['intro_achievement'];
            $MentorObj->field['area_of_interest'] = $input['area_of_interest'];
            $MentorObj->field['session_preffer'] = $input['session_preffer'];
            $MentorObj->field['photo'] = $image_name;
            $return_data = $MentorObj->saveMentor();

            $return_arr['status'] = false;
            $return_arr['message'] = "Unable to send email, try again later.";
            
        } catch(\Exception $e){
            dd($e->getMessage());    
        }
        return response()->json($return_data, 200);
    }

    public function getallStartupsEmails()
    {
        $all_startups_emails=StartUps::where('removed','=','N')->select('email')->get();
        return $all_startups_emails;
    }

    public function getStartupSubQuestion(Request $req)
    {
        $qid=$req->qid;
        $value=$req->value;
        $startup_id=$req->startup_id;
        $startup_general_question_ob=json_decode(StartUpGeneralQuestion::select('sub_question')->where('id',$qid)->first(),1);
        $startup_sub_question_ids=json_decode($startup_general_question_ob['sub_question'],1);
        $startup_sub_question_ids_array=[];
        if(array_key_exists($value,$startup_sub_question_ids))
        {
            $startup_sub_question_ids_array=$startup_sub_question_ids[$value];
        }
        $startup_general_question = StartUpGeneralQuestion::select('startup_general_questions.*')
                    ->whereIn('startup_general_questions.id',$startup_sub_question_ids_array)
                    ->where('startup_general_questions.removed','N')
                    ->orderBy('startup_general_questions.sort_order','ASC')
                    ->get();
        $startup_question_option=StartupQuestionOption::
                    whereIn('startup_question_option.startup_general_questions_id',$startup_sub_question_ids_array)
                    ->where('startup_question_option.removed','N')
                    ->orderBy('startup_question_option.sort_order','ASC')
                    ->get();

        $startup_questions_answer=StartupGeneralQuestionAnswer::
                    whereIn('question_id',$startup_sub_question_ids_array)
                    ->where('startup_id',$startup_id)
                    ->get()->keyBy('question_id')->toArray();
        $startup_questions_option_answer=StartupQuestionOptionAnswer::
                    whereIn('question_id',$startup_sub_question_ids_array)
                    ->where('startup_id',$startup_id)
                    ->get()->keyBy('question_option_id')->toArray();

        $data['value']=$value;
        $data['startup_general_question']=$startup_general_question;
        $data['startup_question_option']=$startup_question_option;
        $data['startup_questions_answer']=$startup_questions_answer;
        $data['startup_questions_option_answer']=$startup_questions_option_answer;
        return $data;     
    }

    //Begin:UserRegistrationForm methods Mtak
    public function UserRegistrationForm(Request $request)
    {
        $user_registration_link_id = $request->user_registration_link_id;
        $page_title = 'User Registration';
        $page_description = 'User Registration Form';
        $user_registration_link = UserRegistrationLink::select('id','title','user_type','details','is_expiry','expiry_range','expiry_message',DB::raw('IF(is_expiry = "Y",IF(REPLACE(LEFT(expiry_range,10),"/","-") <= CURDATE() AND REPLACE(RIGHT(expiry_range,10),"/","-") >= CURDATE(),"N","Y"),"N") AS is_link_expired'))
            ->where('id',$user_registration_link_id)
            ->first();

        $view_data['page_title'] =  $page_title;
        $view_data['page_description'] =  $page_description;
        $view_data['user_registration_link'] = $user_registration_link;
        return view('pages.user_registration',$view_data);
    }

    public function saveUserRegistrationForm(Request $request)
    {
        $request->validate([
            'first_name' => 'required', 
            'last_name' => 'required', 
            'email' => 'email|required',
            'user_name' => 'required',
            'linked_in' => 'required|url',
            'profile_pic' => 'required|image|max:2048',
            'mobile' => 'nullable|digits:10',
            'instagram_profile' => 'nullable|url'
        ]);

        $form_status = false;

        $user_registration_obj = new UserRegistration();
        $user_registration_obj->field['first_name'] = $request->first_name;
        $user_registration_obj->field['last_name'] = $request->last_name;
        $user_registration_obj->field['email'] = $request->email;
        $user_registration_obj->field['user_name'] = $request->user_name;
        $user_registration_obj->field['mobile'] = $request->mobile;
        $user_registration_obj->field['linked_in'] = $request->linked_in;
        $user_registration_obj->field['user_type'] = $request->user_type;
        $user_registration_obj->field['instagram_profile'] = $request->instagram_profile;
        $user_registration_obj->field['detail'] = $request->detail;
        $user_registration_obj->field['user_registration_link_id'] = $request->user_registration_link_id;

        //file upload
        if($request->has('profile_pic'))
        {
          $file_name_extension = $request->file('profile_pic')->extension(); 
          $file_name = "user_profile_".uniqid().".".$file_name_extension;
          $request->file('profile_pic')->move('uploads/users_profile_pic', $file_name);
          $user_registration_obj->field['profile_pic'] = $file_name;
        }
        //file upload
        $return = $user_registration_obj->saveUserRegistration();

        if($return['status'])
        {
            $form_status = true;
        }
        $view_data['page_title'] =  'User Registration';
        $view_data['form_status'] = $form_status;
        return view('pages.user_registration_form_success',$view_data);
    }

    public function duplicateEmailCheckUserRegForm(Request $request)
    {
        $email = $request->email;
        $isExsits = User::where('email', '=', $email)->exists();
        
        return $isExsits ? 'false' : 'true';
    }

    public function duplicateUserNameCheckUserRegForm(Request $request)
    {
        $user_name = $request->user_name;
        $isExsits = User::where('user_name', '=', $user_name)->exists();
        return $isExsits ? 'false' : 'true';
    }
    //End:UserRegistrationForm methods Mtak


     public function turbo_pap()
    {
        $page_title = 'Turbo Pap';
        $page_description = '';
        $page_keywords = '';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.turbo-pap',$view_data);
    }

    public function duplicateEmailValidation(Request $request)
    {
        $email = $request->email;
        $email_exist = DB::table('startups')->where('email',$email)->exists();
        return $email_exist ? 'false' : 'true';
    }

    public function uploadRequestedDocumentView(Request $request)
    {
        $strtps_doc_req_records = [];
        $startups_id = $request->startups_id;
        $return = StartupsDocumentsRequest::getPendingRequestsByStartupsId($startups_id);
        
        if($return['status'])
        {
            $strtps_doc_req_records = $return['records'];
        }

        $view_data['page_title'] = "Upload Document";
        $view_data['strtps_doc_req_records'] = $strtps_doc_req_records;
        return view('pages.document_request.index',$view_data);
    }

    public function storeRequestedDocument(Request $request)
    {
        // 
        $strtp_doc_req_record = [];
        $response = [];
        $request->validate([
          "file_name"=>[
            'required',
            'file',
            'max:5120',
            'mimes:pdf,txt,docx,doc,xlsx,xls,docx,doc,pptx,ppt,jpg,png'
          ]
        ]);

        $strtps_doc_req_id = $request->strtps_doc_req_id;
        $logged_in_usr_id = 0;
        $return = StartupsDocumentsRequest::getStartupsDocumentsRequestById($strtps_doc_req_id);
        
        DB::beginTransaction();
        try
        {
            if($return['status'])
            {
                $strtp_doc_req_record = $return['record'];
                $file_name = $request->file_name;
                $startups_id = $strtp_doc_req_record->startups_id;
                //upload StartupDocument
                if($request->has('file_name'))
                {
                    $file_name = $request->file_name;
                    $extension = $file_name->extension();          
                    $disc_file_name = uniqid("strtp_doc_")."_".@$startups_id.".".$extension;
                    $file_name->move('uploads/startups_docs',$disc_file_name);
                }
                $data['startups_id'] = $strtp_doc_req_record->startups_id;
                $data['document_type_id'] = $strtp_doc_req_record->document_type_id;
                $data['name'] = $strtp_doc_req_record->title;
                $data['file_name'] = $disc_file_name ?? "";
                $data['action_by_users_id'] = $logged_in_usr_id;
                $data['startups_documents_requests_id'] = $strtp_doc_req_record->id;
                $startupDocumentObj = new StartupDocument();
                $startupDocumentObj->field = $data;
                $startupDocumentObj->createStartupDocument();
                //---
                //StartupsDocumentsRequest update
                $strtpDocReqObj = new StartupsDocumentsRequest();
                $strtpDocReqObj->field['is_responded'] = 'Y';
                $strtpDocReqObj->updateStartupsDocumentsRequest($strtp_doc_req_record->id);
                //---
                DB::commit();
                // session()->put('doc_req_frm_upld_success',true);
                $response['type'] = "success";
                $response['message'] = "document uploaded sucessfully";
            }
            else
            {
                $response['type'] = "error";
                $response['message'] = "unable to upload , try again later";
            }
        }
        catch(\Exception $e)
        {
            DB::rollback();
            $response['type'] = "error";
            $response['message'] = "unable to upload , try again later";
        }
        return $response;
        // 
    }

    public function investorRegistration(Request $request,$aif_partner_slug = "")
    {
       // return $aif_partner_slug;
        $view_data = [];
        $aif_partner_id = $request->aif_partner_id;
        $view_data['aif_partner_slug'] = $aif_partner_slug;

        $aif_partner_rec = DB::table('aif_partner')
            ->where('id',$aif_partner_id)
            ->where('removed','N')
            ->first();
        
        $view_data['aif_partner_rec'] = $aif_partner_rec;

        if(session('aif_invstr_reg_id'))
        {
            $aif_invstr_reg_id = $request->aif_invstr_reg_id;

            $aif_inv_reg_rec = AifInvestorRegistration::where('id',$aif_invstr_reg_id)->first();
            
            $aif_partner_id_2 = @$aif_inv_reg_rec->aif_partner_id;

            if(@$aif_partner_id_2 && @$aif_partner_id_2 != $aif_partner_id)
            {
                $aif_partner_rec_2 = DB::table('aif_partner')
                    ->where('id',$aif_partner_id_2)
                    ->where('removed','N')
                    ->first();
        
               // return $aif_partner_rec->slug;
                $correct_url = route('web.investor_registration.login_page',['aif_partner_slug' => $aif_partner_rec_2->slug]);
                $view_data['page_title'] = "No Access";
                $view_data['correct_url'] = $correct_url;
                $view_data['partner_name'] = $aif_partner_rec_2->name;
                return view('pages.investor_registration.no_access',$view_data);
            }

            if(!$aif_invstr_reg_id)
            {
                $aif_invstr_reg_id = session('aif_invstr_reg_id');
            }
            $aif_invester_frm_rec = [];

            $countries_record = [];
            $states_record = [];
            $cities_record = [];
            $current_step = $request->current_step ?? 1;

            if($current_step == 2)
            {   
                $countries_record = DB::table('countries')->where('aif_active',1)->whereNull('deleted_at')->pluck('name','id')->toArray();
            } 
            
            $return = AifInvesterForm::getDataByAifInvestorRegId($aif_invstr_reg_id);

            if($return['status'])
            {
                $aif_invester_frm_rec = $return['record'];
                $country_id = $aif_invester_frm_rec->country_id ?? 0;
                $state_id = $aif_invester_frm_rec->state_id ?? 0;

                $states_record = DB::table('states')->where('aif_active',1)->where('country_id',$country_id)->whereNull('deleted_at')->pluck('name','id')->toArray();
                $cities_record = DB::table('cities')->where('aif_active',1)->where('state_id',$state_id)->whereNull('deleted_at')->pluck('name','id')->toArray();
            }

            $view_data['current_step'] = $current_step;
            $view_data['page_title'] = "Investor Registration";
            $view_data['countries_record'] = $countries_record;
            $view_data['aif_invester_frm_rec'] = $aif_invester_frm_rec;
            $view_data['aif_invstr_reg_id'] = $aif_invstr_reg_id;
            $view_data['states_record'] = $states_record;
            $view_data['cities_record'] = $cities_record;
            //accredited_cbreturn $aif_invester_frm_rec;
            return view('pages.investor_registration.index',$view_data);
        }
        else
        {
            $request->session()->flash('response', ['message'=>'You have been logged out!','type'=>'error']);
            return redirect()->route('web.investor_registration.login_page',['aif_partner_slug' => @$aif_partner_slug]);
        }
    }

    public function investorRegistrationStore(Request $request,$aif_partner_slug = "")
    {
        $aif_partner_id = @$request->aif_partner_id ?? 0;
        //return $aif_partner_id;
        $view_data['aif_partner_slug'] = $aif_partner_slug;
        $mail_enable = true;
        $aif_invester_reg_rec  = [];
        $mail_smtp_configuration = [];
        $message = [];
        $aif_invstr_reg_id = $request->aif_invstr_reg_id;
        $aif_invester_frm_rec = [];
        $return = AifInvesterForm::getDataByAifInvestorRegId($aif_invstr_reg_id);
        $aif_partner_record = AifPartner::where('id',$aif_partner_id)->first();

        // return [
        //     @$aif_partner_record->demat_account_field_active,
        //     @$aif_partner_record->cancelled_cheque_field_active ]
        // ;

        if($return['status'])
        {
            $aif_invester_frm_rec = $return['record'];
        }

        if(!session('aif_invstr_reg_id'))
        {
            $request->session()->flash('response', ['message'=>'You have been logged out!','type'=>'error']);
            return redirect()->route('web.investor_registration.login_page',['aif_partner_slug' => @$aif_partner_slug]);
        }
        else if(@$request->re_submit == 'Y')
        {
            //return $request;
            $data = [];
            $colNameArr = [];
            $aifInvstrFrmRecArr = @json_decode(@$aif_invester_frm_rec->aif_invester_form_col_names_arr) ?? [];

            $aif_invester_form_id = $aif_invester_frm_rec->id;

            if(@in_array('avatar',$aifInvstrFrmRecArr))
            {
                $validArrRules['avatar'][1] = 'mimes:jpg,png,jpeg';
            }

            if(@in_array('aadhaar_card',$aifInvstrFrmRecArr))
            {
                $validArrRules['aadhaar_card'][0] = 'required';
                $validArrRules['aadhaar_card'][1] = 'mimes:jpg,png,jpeg,pdf';
            }

            if(@in_array('pan_card_doc',$aifInvstrFrmRecArr))
            {
                $validArrRules['pan_card_doc'][0] = 'required';
                $validArrRules['pan_card_doc'][1] = 'mimes:jpg,png,jpeg,pdf';
            }

            if( @in_array('demat_doc',$aifInvstrFrmRecArr) && @$aif_partner_record->demat_account_field_active == "Y" )
            {
                $validArrRules['demat_doc'][0] = 'required';
                $validArrRules['demat_doc'][1] = 'mimes:jpg,png,jpeg,pdf';
            }

            if( @in_array('cancelled_cheque',$aifInvstrFrmRecArr) && @$aif_partner_record->cancelled_cheque_field_active == "Y" )
            {
                $validArrRules['cancelled_cheque'][0] = 'required';
                $validArrRules['cancelled_cheque'][1] = 'mimes:jpg,png,jpeg,pdf';
            }
            
            $request->validate($validArrRules);

            if($request->has('avatar'))
            {
                $file_name = $request->avatar;
                $extension = $file_name->extension();          
                $disc_file_name = uniqid("aif_avtr_")."_".@$aif_invstr_reg_id.".".$extension;
                $file_name->move('uploads/aif_invester_reg_docs',$disc_file_name);
                $data['avatar'] = $disc_file_name;
                array_push($colNameArr,'avatar');
            }

            if($request->has('aadhaar_card'))
            {
                $file_name = $request->aadhaar_card;
                $extension = $file_name->extension();          
                $disc_file_name = uniqid("aadhaar_card_")."_".@$aif_invstr_reg_id.".".$extension;
                $file_name->move('uploads/aif_invester_reg_docs',$disc_file_name);
                $data['aadhaar_card'] = $disc_file_name;
                array_push($colNameArr,'aadhaar_card');
            }

            if($request->has('pan_card_doc'))
            {
                $file_name = $request->pan_card_doc;
                $extension = $file_name->extension();          
                $disc_file_name = uniqid("pan_card_doc_")."_".@$aif_invstr_reg_id.".".$extension;
                $file_name->move('uploads/aif_invester_reg_docs',$disc_file_name);
                $data['pan_card_doc'] = $disc_file_name;
                array_push($colNameArr,'pan_card_doc');
            }

            if($request->has('demat_doc'))
            {
                $file_name = $request->demat_doc;
                $extension = $file_name->extension();          
                $disc_file_name = uniqid("demat_doc_")."_".@$aif_invstr_reg_id.".".$extension;
                $file_name->move('uploads/aif_invester_reg_docs',$disc_file_name);
                $data['demat_doc'] = $disc_file_name;
                array_push($colNameArr,'demat_doc');
            }

            if($request->has('cancelled_cheque'))
            {
                $file_name = $request->cancelled_cheque;
                $extension = $file_name->extension();          
                $disc_file_name = uniqid("cancelled_cheque_")."_".@$aif_invstr_reg_id.".".$extension;
                $file_name->move('uploads/aif_invester_reg_docs',$disc_file_name);
                $data['cancelled_cheque'] = $disc_file_name;
                array_push($colNameArr,'cancelled_cheque');
            }

            $data['status'] = "P";
            $data['remark'] = null;
            $data['sub_status'] = null;
            $data['re_submit'] = 'Y';

            $aifInvesterFormObj = new AifInvesterForm();
            $aifInvesterFormObj->field['matched_fileds'] = ['aif_investor_registration_id' => $aif_invstr_reg_id];
            $aifInvesterFormObj->field['inserted_fileds'] = $data;
            $return = $aifInvesterFormObj->updateOrCreateAifInvesterForm();
            // 
            AifInvestorRorQuestion::where('aif_invester_form_id',$aif_invester_form_id)
                ->where('removed','N')
                ->wherein('aif_invester_form_col_name',$colNameArr)
                ->update([
                  'removed' => 'Y',
                  're_upload' => 'Y'
                ]);
            // 

            $message = ['message'=>'Form Submitted Successfully','type'=>'success'];
            $redirect_url = tokenize_url(route('web.investor_registration.index',['aif_partner_slug'=>@$aif_partner_slug]),['aif_invstr_reg_id' => $aif_invstr_reg_id]);

            $request->session()->flash('response', $message);
            return redirect($redirect_url);
        }
        else if($aif_invester_frm_rec && @$aif_invester_frm_rec->saved_level == 4)
        {
            $redirect_url = tokenize_url(route('web.investor_registration.index',['aif_partner_slug'=>@$aif_partner_slug]),['current_step' =>  1,'aif_invstr_reg_id' => $aif_invstr_reg_id]);

            $request->session()->flash('response', ['message'=>'Your account is under review','type'=>'success']);
            return redirect($redirect_url);
        }
        else
        {
            $validArrRules = [];
            $current_step = $request->current_step;
           
            if($current_step == 1)
            {
                $validArrRules['bio'] = [
                    'required'
                ];

                $validArrRules['phone_number'] = [
                    'required'
                ];

                /*
                $validArrRules['phone_number'] = [
                     'required','digits:10'
                ];
                */

                $validArrRules['linked_in_url'] = [
                   // 'required','url'
                ];

                // if(!$request->has('avatar_file_saved'))
                // {
                //     $validArrRules['avatar'][0] = 'required';
                // }
                
                $validArrRules['avatar'][1] = 'mimes:jpg,png,jpeg';
                
                $validArrRules['entity_type'] = [
                    'required'
                ];

                $validArrRules['legal_entity_name'] = [
                    'required'
                ];
            }
            else if($current_step == 2)
            {
                $validArrRules['pan'] = [
                    'required','regex:/^([a-zA-Z]{5})([0-9]{4})([a-zA-Z]{1})?$/'
                ];

                $validArrRules['dob'] = [
                    'required'
                ];
                
                $validArrRules['country_id'] = [
                    'required'
                ];
                
                $validArrRules['state_id'] = [
                    'required'
                ];
                
                $validArrRules['city_id'] = [
                    'required'
                ];

                $validArrRules['address'] = [
                    'required'
                ];

                $validArrRules['pincode'] = [
                    'required','regex:/^\d{6}$/i'
                ];

                if(!$request->has('aadhaar_card_file_saved'))
                {
                    $validArrRules['aadhaar_card'][0] = 'required';
                }
                $validArrRules['aadhaar_card'][1] = 'mimes:jpg,png,jpeg,pdf';

                if(!$request->has('pan_card_doc_file_saved'))
                {
                    $validArrRules['pan_card_doc'][0] = 'required';
                }
                $validArrRules['pan_card_doc'][1] = 'mimes:jpg,png,jpeg,pdf';


                if(@$aif_partner_record->demat_account_field_active == "Y")
                {
                    if(!$request->has('demat_doc_file_saved'))
                    {
                        $validArrRules['demat_doc'][0] = 'required';
                    }
                    $validArrRules['demat_doc'][1] = 'mimes:jpg,png,jpeg,pdf';
                }   
                
                if(@$aif_partner_record->cancelled_cheque_field_active == "Y")
                {
                    if(!$request->has('cancelled_cheque_file_saved'))
                    {
                        $validArrRules['cancelled_cheque'][0] = 'required';
                    }
                    $validArrRules['cancelled_cheque'][1] = 'mimes:jpg,png,jpeg,pdf';
                }
            }
            else if($current_step == 3)
            {
                $validArrRules['accredited'] = [
                    'required'
                ];  

                $validArrRules['capital_plan_to_invest'] = [
                    'required'
                ];  

                $validArrRules['investment_amount'] = [
                    'required',
                    'numeric',
                    'max:10000000000000000000'
                ];  

                $validArrRules['experience_investing_in_venture'] = [
                    'required'
                ];     

                /*
                if(!$request->has('eligibility_proof_doc_file_saved'))
                {
                    $validArrRules['eligibility_proof_doc'][0] = 'required';
                }
                $validArrRules['eligibility_proof_doc'][1] = 'mimes:jpg,png,jpeg,pdf';
                */
            }
            else if($current_step == 4)
            {
                $validArrRules['i_confirm'] = [
                    'required'
                ];    

                $validArrRules['agree_term_cond'] = [
                    'required'
                ]; 
            }

            //validation begin
            $request->validate($validArrRules);
            //validation end
            // $data['aif_partner_id'] = $aif_partner_id;
            //insert begin
            if($current_step == 1)
            {
                $data['bio'] = $request->bio;
                $data['phone_number'] = $request->phone_number;
                $data['linked_in_url'] = $request->linked_in_url;
                $data['saved_level'] = $current_step;
                $data['status'] = "P";
                
                if($request->has('avatar'))
                {
                    $file_name = $request->avatar;
                    $extension = $file_name->extension();          
                    $disc_file_name = uniqid("aif_avtr_")."_".@$aif_invstr_reg_id.".".$extension;
                    $file_name->move('uploads/aif_invester_reg_docs',$disc_file_name);
                    $data['avatar'] = $disc_file_name;
                }

                $data['entity_type'] = $request->entity_type;
                $data['legal_entity_name'] = $request->legal_entity_name;
                $data['saved_level'] = $current_step;
                $data['status'] = "P";
            }
            else if($current_step == 2)
            {
                $data['pan'] = $request->pan;
                $data['dob'] = @date_format(@date_create($request->dob),"Y/m/d");
                $data['country_id'] = $request->country_id;
                $data['state_id'] = $request->state_id;
                $data['city_id'] = $request->city_id;
                $data['address'] = $request->address;
                $data['pincode'] = $request->pincode;

                if($request->has('aadhaar_card'))
                {
                    $file_name = $request->aadhaar_card;
                    $extension = $file_name->extension();          
                    $disc_file_name = uniqid("aadhaar_card_")."_".@$aif_invstr_reg_id.".".$extension;
                    $file_name->move('uploads/aif_invester_reg_docs',$disc_file_name);
                    $data['aadhaar_card'] = $disc_file_name;
                }

                if($request->has('pan_card_doc'))
                {
                    $file_name = $request->pan_card_doc;
                    $extension = $file_name->extension();          
                    $disc_file_name = uniqid("pan_card_doc_")."_".@$aif_invstr_reg_id.".".$extension;
                    $file_name->move('uploads/aif_invester_reg_docs',$disc_file_name);
                    $data['pan_card_doc'] = $disc_file_name;
                }

                if($request->has('demat_doc'))
                {
                    $file_name = $request->demat_doc;
                    $extension = $file_name->extension();          
                    $disc_file_name = uniqid("demat_doc_")."_".@$aif_invstr_reg_id.".".$extension;
                    $file_name->move('uploads/aif_invester_reg_docs',$disc_file_name);
                    $data['demat_doc'] = $disc_file_name;
                }

                if($request->has('cancelled_cheque'))
                {
                    $file_name = $request->cancelled_cheque;
                    $extension = $file_name->extension();          
                    $disc_file_name = uniqid("cancelled_cheque_")."_".@$aif_invstr_reg_id.".".$extension;
                    $file_name->move('uploads/aif_invester_reg_docs',$disc_file_name);
                    $data['cancelled_cheque'] = $disc_file_name;
                }
        
                $data['saved_level'] = $current_step;
                $data['status'] = "P";
            }
            else if($current_step == 3)
            {
                $data['accredited'] = $request->accredited;
                $data['capital_plan_to_invest'] = $request->capital_plan_to_invest;
                $data['investment_amount'] = $request->investment_amount;
                $data['experience_investing_in_venture'] = $request->experience_investing_in_venture;
                $data['accredited_cb'] = $request->accredited_cb;

                /*
                if($request->has('eligibility_proof_doc'))
                {
                    $file_name = $request->eligibility_proof_doc;
                    $extension = $file_name->extension();          
                    $disc_file_name = uniqid("elig_proof_doc_")."_".@$aif_invstr_reg_id.".".$extension;
                    $file_name->move('uploads/aif_invester_reg_docs',$disc_file_name);
                    $data['eligibility_proof_doc'] = $disc_file_name;
                }
                */

                $data['saved_level'] = $current_step;
                $data['status'] = "P";
            }
            else if($current_step == 4)
            {
                $data['i_confirm'] = "Y";
                $data['agree_term_cond'] = "Y";
                $data['saved_level'] = $current_step;
                $data['status'] = "P";
            }

            $aifInvesterFormObj = new AifInvesterForm();
            $aifInvesterFormObj->field['matched_fileds'] = ['aif_investor_registration_id' => $aif_invstr_reg_id];
            $aifInvesterFormObj->field['inserted_fileds'] = $data;
            $return = $aifInvesterFormObj->updateOrCreateAifInvesterForm();
            //insert end

            //mail begin
            if($current_step == 4)
            {
                //get mail smtp config begin
                $return = AifInvestorRegistration::getAifInvestorRegistrationById($aif_invstr_reg_id);
                if($return['status'])
                {
                    $aif_invester_reg_rec = $return['record'];
                }

                $mail_smtp_config_rec = MailSMTPConfiguration::where('removed','N')->where('for_aif','Y')->first();
                $mail_smtp_configuration_id = @$mail_smtp_config_rec->id ?? 0;
                
                $return_1 = MailSMTPConfiguration::getMailSMTPConfigurationById($mail_smtp_configuration_id);
                
                if($return_1['status'])
                {
                    $mail_smtp_configuration = $return_1['data']['record'];
                }

                //get mail smtp config end
                if(@$mail_smtp_configuration && @$aif_invester_reg_rec && $mail_enable)
                { 
                    Config::set('mail',getMailConfig($mail_smtp_configuration));
                    //dd(Config('mail'));
                    
                    //set mail content begin
                    $mail_config = MailConfiguration::select('*')
                        ->where('removed','N')
                        ->where('type_trans_id',_AIF_ONBOARD_FINAL_SUBMIT_)
                        ->first();
                    
                    if($mail_config)
                    {
                        $from_email = $mail_smtp_configuration->mail_from_address;
                        $to_email = @$aif_invester_reg_rec->email;
                        
                        //set mail content begin
                        $content = $mail_config->content;
                        $subject = $mail_config->subject;
                        
                        $replaceble_tags = array('{entity_name}');
                        $replaceble_tags_with_value['{entity_name}'] = @$aif_invester_reg_rec->legal_entity_name;

                        foreach($replaceble_tags as $_replaceble_tags)
                        {
                            $content = str_replace($_replaceble_tags, @$replaceble_tags_with_value[$_replaceble_tags], $content);
                            $subject = str_replace($_replaceble_tags, @$replaceble_tags_with_value[$_replaceble_tags], $subject);
                        }
                        $mail_data['content'] = $content;
                        //set mail content end

                        try
                        {
                            Mail::send('email.investor_fund.aif_onboard_final_submit', $mail_data,
                            function($message) use($from_email,$to_email,$subject) 
                            {
                                $message->from($from_email);
                                $message->to($to_email, 'APP_NAME')->subject($subject);
                            });
                        }
                        catch(\Exception $e)
                        {
                            //return $e;
                        }
                    }
                }
            }
            //mail end
            
            if($current_step == 4)
            {
                $current_step = 0;
                $message = ['message'=>'Form Submitted Successfully','type'=>'success'];
            }
            else
            {
               $message = ['message'=>'Data Saved Successfully','type'=>'success'];
            }

            $redirect_url = tokenize_url(route('web.investor_registration.index',['aif_partner_slug'=>@$aif_partner_slug]),['current_step' => $current_step + 1,'aif_invstr_reg_id' => $aif_invstr_reg_id]);

            $request->session()->flash('response', $message);
            return redirect($redirect_url);
        }
    }

    public function getStates(Request $request,$aif_partner_slug = "")
    {

        $view_data['aif_partner_slug'] = $aif_partner_slug;
        $country_id = $request->country_id;

        $options_html = "<option></option>";
        $states_record = DB::table('states')->where('aif_active',1)->where('country_id',$country_id)->whereNull('deleted_at')->pluck('name','id')->toArray();

        if($states_record)
        {
            foreach($states_record as $state_id => $state_name)
            {
                $options_html = $options_html.'
                    <option value = "'.$state_id.'">'.$state_name.'</option>
                ';
            }
        }
        return $options_html;
    }   

    public function getStatesG(Request $request)
    {

        $country_id = $request->country_id;
        
        $options_html = "<option></option>";
        $states_record = DB::table('states')->where('is_active',1)->where('country_id',$country_id)->whereNull('deleted_at')->pluck('name','id')->toArray();

        if($states_record)
        {
            foreach($states_record as $state_id => $state_name)
            {
                $options_html = $options_html.'
                    <option value = "'.$state_id.'">'.$state_name.'</option>
                ';
            }
        }
        return $options_html;
    }   

    public function getCities(Request $request,$aif_partner_slug = "")
    {
        $view_data['aif_partner_slug'] = $aif_partner_slug;
        $state_id = $request->state_id;
        $options_html = "<option></option>";
        $cities_record = DB::table('cities')->where('aif_active',1)->where('state_id',$state_id)->whereNull('deleted_at')->pluck('name','id')->toArray();

        if($cities_record)
        {
            foreach($cities_record as $city_id => $city_name)
            {
                $options_html = $options_html.'
                    <option value = "'.$city_id.'">'.$city_name.'</option>
                ';
            }
        }
        return $options_html;
    }

    public function getCitiesG(Request $request)
    {
        
        $state_id = $request->state_id;
        $options_html = "<option></option>";
        $cities_record = DB::table('cities')->where('is_active',1)->where('state_id',$state_id)->whereNull('deleted_at')->pluck('name','id')->toArray();

        if($cities_record)
        {
            foreach($cities_record as $city_id => $city_name)
            {
                $options_html = $options_html.'
                    <option value = "'.$city_id.'">'.$city_name.'</option>
                ';
            }
        }
        return $options_html;
    }

    public function investorRegistrationLoginPage(Request $request,$aif_partner_slug = "")
    {   
        if(session('aif_invstr_reg_id'))
        {
            $aif_invstr_reg_id = session('aif_invstr_reg_id');
            $redirect_url = tokenize_url(route('web.investor_registration.index',['aif_partner_slug'=>@$aif_partner_slug]),['current_step' => 1,'aif_invstr_reg_id' => $aif_invstr_reg_id]);

            return redirect($redirect_url);
        }
        else
        {
            $view_data = [];
            $aif_partner_id = $request->aif_partner_id;
            $view_data['aif_partner_slug'] = $aif_partner_slug;
            $aif_partner_rec = DB::table('aif_partner')
                ->where('id',$aif_partner_id)
                ->where('removed','N')
                ->first();
            $view_data['aif_partner_rec'] = $aif_partner_rec;
            $view_data['page_title'] = "Login";
            return view('pages.investor_registration.login',$view_data);
        }
    }

    public function investorRegistrationSignupPage(Request $request,$aif_partner_slug = "")
    {
        $view_data = [];
        $aif_partner_id = $request->aif_partner_id;
        $view_data['aif_partner_slug'] = $aif_partner_slug;
        $aif_partner_rec = DB::table('aif_partner')
            ->where('id',$aif_partner_id)
            ->where('removed','N')
            ->first();
        $view_data['aif_partner_rec'] = $aif_partner_rec;
        $view_data['page_title'] = "Signup";
        return view('pages.investor_registration.sign_up',$view_data);
    }

    public function investorRegistrationSignupStore(Request $request,$aif_partner_slug = "")
    {
        $aif_partner_id = @$request->aif_partner_id ?? 0;
        $view_data['aif_partner_slug'] = $aif_partner_slug;
        $request->validate([
            'email' => 'required',
            'full_name' => 'required'
        ]);

        $data['email'] = @trim($request->email);
        $data['full_name'] = @trim($request->full_name);
        $data['aif_partner_id'] = $aif_partner_id;

        $is_email_exist = AifInvestorRegistration::where('removed','N')->where('email',@$data['email'])->exists();

        if(!$is_email_exist)
        {
            $aifInvestorRegistrationObj = new AifInvestorRegistration();
            $aifInvestorRegistrationObj->field = $data;
            $return = $aifInvestorRegistrationObj->createAifInvestorRegistration();
            
            if($return['status'])
            {
                $message = ['message'=>'Registration Successfully','type'=>'success'];
                $redirect_url = route('web.investor_registration.login_page',['aif_partner_slug'=>@$aif_partner_slug]);
            }
            else
            {
                $message = ['message'=>'Registration Faild','type'=>'error'];
                $redirect_url = route('web.investor_registration.signup_page',['aif_partner_slug'=>@$aif_partner_slug]);
            }
        }
        else
        {
            $message = ['message'=>'Email already Exist','type'=>'error'];
            $redirect_url = route('web.investor_registration.signup_page',['aif_partner_slug'=>@$aif_partner_slug]);
        }

        $request->session()->flash('response', @$message);
        return redirect(@$redirect_url);
    }

    public function investorRegistrationLogin(Request $request,$aif_partner_slug = "")
    {
       // return $aif_partner_slug;
        $view_data['aif_partner_slug'] = $aif_partner_slug;
        $mail_enable = true;
        $request->validate([
            'email' => 'required'
        ]);

        $mail_smtp_configuration = [];
        $email = @trim($request->email);
        
        $record = AifInvestorRegistration::where('removed','N')->where('email',$email)->first();
        
        $aif_invstr_reg_id = @$record->id;

        if($aif_invstr_reg_id)
        {
            //
            $current_time_stamp = date('Y-m-d H:i:s');
            $minutes_to_add = 15;
            $time = new \DateTime($current_time_stamp);
            $time->add(new \DateInterval('PT' . $minutes_to_add . 'M'));
            $valid_till = $time->format('Y-m-d H:i:s');
            //
            $data['otp'] = mt_rand(100000,999999);
            $data['aif_investor_registration_id'] = $aif_invstr_reg_id;
            $data['valid_till'] = $valid_till;

            $aifInvestorOtpTransObj = new AifInvestorOtpTrans();
            $aifInvestorOtpTransObj->field = $data;
            $return = $aifInvestorOtpTransObj->createAifInvestorRegistration();
           
            //return view("email.aif_investor_otp_email",['otp'=>@$data['otp'] ]);
           
            if($return['status'])
            {
                $message = ['message'=>'Please check your email for a one-time password','type'=>'success'];
                $redirect_url = tokenize_url(route('web.investor_registration.authenticate.otp_view',['aif_partner_slug'=>@$aif_partner_slug]),['aif_invstr_reg_id'=>$aif_invstr_reg_id]);

              //  return $redirect_url;
                $mail_smtp_config_rec = MailSMTPConfiguration::where('removed','N')->where('for_aif','Y')->first();

                $mail_smtp_configuration_id = @$mail_smtp_config_rec->id ?? 0;
                
                $return_1 = MailSMTPConfiguration::getMailSMTPConfigurationById($mail_smtp_configuration_id);
                
                if($return_1['status'])
                {
                    $mail_smtp_configuration = $return_1['data']['record'];
                }

                if(@$mail_smtp_configuration && @$mail_enable)
                { 
                    $from_email = $mail_smtp_configuration->mail_from_address;
                    $to_email = $email;
                    $mail_subject = "Your OTP for login";
                    $mail_data = [ 'otp'=>@$data['otp'] ];
                    Config::set('mail',getMailConfig($mail_smtp_configuration));
                  
                    //dd(Config('mail'));
                    try
                    {
                        Mail::send('email.investor_fund.aif_investor_otp_email',$mail_data,
                        function($message) use($from_email,$to_email,$mail_subject) 
                        {
                            $message->from($from_email);
                            $message->to($to_email, 'APP_NAME')->subject($mail_subject);
                        });
                    }
                    catch(\Exception $e)
                    {
                        //return $e;
                        $message = ['message'=>'Unable to send otp,try again later','type'=>'error'];
                        // $redirect_url = route('web.investor_registration.login_page');
                    }
                }

            }
            else
            {
                $message = ['message'=>'Unable to send otp,try again later','type'=>'error'];
                $redirect_url = route('web.investor_registration.login_page',['aif_partner_slug'=>@$aif_partner_slug]);
            }
        }
        else
        {
            $message = ['message'=>'User Not Found','type'=>'error'];
            $redirect_url = route('web.investor_registration.login_page',['aif_partner_slug'=>@$aif_partner_slug]);
        }
        $request->session()->flash('response', @$message);
        return redirect(@$redirect_url);
    }

    public function investorAuthenticateOtpView(Request $request,$aif_partner_slug = "")
    {
        $view_data = [];
        $aif_partner_id = $request->aif_partner_id;
        $view_data['aif_partner_slug'] = $aif_partner_slug;
        $aif_invstr_reg_id = $request->aif_invstr_reg_id;
        $aif_partner_rec = DB::table('aif_partner')
            ->where('id',$aif_partner_id)
            ->where('removed','N')
            ->first();
        $view_data['aif_partner_rec'] = $aif_partner_rec;

        $view_data['page_title'] = "Authenticate";
        $view_data['aif_invstr_reg_id'] = $aif_invstr_reg_id;
        return view('pages.investor_registration.authenticate_otp_view',$view_data);
    }

    public function investorAuthenticateOtpVerify(Request $request,$aif_partner_slug = "")
    {
       // return $aif_partner_slug;
        $view_data['aif_partner_slug'] = $aif_partner_slug;
        $aif_invstr_reg_id = $request->aif_invstr_reg_id;
        $otp = $request->otp;
        $request->validate([
            'otp' => 'required|digits:6'
        ]);

        $aifInvestorOtpTransRec = AifInvestorOtpTrans::select('aif_investor_otp_trans.*',DB::RAW('IF(CURRENT_TIMESTAMP() <= valid_till AND is_used = "N","Y","N") as is_valid_otp'))
            ->where('removed','N')
            ->where('aif_investor_registration_id',$aif_invstr_reg_id)
            ->orderBy('id','desc')
            ->first();

        if(@$aifInvestorOtpTransRec && @$aifInvestorOtpTransRec->is_valid_otp == 'Y' && @$aifInvestorOtpTransRec->otp == $otp )
        {
            session()->put('aif_invstr_reg_id',$aif_invstr_reg_id);
            AifInvestorOtpTrans::where('id',@$aifInvestorOtpTransRec->id)
                ->update(['is_used' => 'Y']);

            $message = ['message'=>'Login Successful','type'=>'success'];
            $request->session()->flash('response', @$message);

            $redirect_url = tokenize_url(route('web.investor_registration.index',['aif_partner_slug'=>@$aif_partner_slug]),['aif_invstr_reg_id'=>$aif_invstr_reg_id]);
            //return $redirect_url;
        }
        else
        {
            $message = ['message'=>'Invalid OTP','type'=>'error'];
            $redirect_url = tokenize_url(route('web.investor_registration.authenticate.otp_view',['aif_partner_slug'=>@$aif_partner_slug]),['aif_invstr_reg_id'=>$aif_invstr_reg_id]);
        }

        $request->session()->flash('response', @$message);
        return redirect(@$redirect_url);
    }

    public function investorRegistrationLogout(Request $request,$aif_partner_slug = "")
    { 
        $view_data['aif_partner_slug'] = $aif_partner_slug;
       // dd(session('aif_invstr_reg_id'));
        session()->forget('aif_invstr_reg_id');
        $message = ['message'=>'Logout Successful','type'=>'success'];
        $request->session()->flash('response', @$message);
        return redirect()->route('web.investor_registration.login_page',['aif_partner_slug'=>@$aif_partner_slug]);
    }

    public function contributionAgreementView(Request $request,$aif_partner_slug = "")
    {
        $view_data = [];
        $view_data['aif_partner_slug'] = $aif_partner_slug;
        $aif_invester_form_id = $request->aif_invester_form_id;
        $aif_investor_registration_id =  $request->aif_investor_registration_id;
        $aif_invester_reg_rec  = [];
        $return = AifInvestorRegistration::getAifInvestorRegistrationById($aif_investor_registration_id);
        if($return['status'])
        {
            $aif_invester_reg_rec = $return['record'];
        }
        //return $aif_invester_reg_rec;
        $view_data['aif_invester_reg_rec'] = $aif_invester_reg_rec;
        $view_data['page_title'] = "Contribution Agreement";
        return view('pages.investor_registration.contribution_agreement',$view_data);
    }   

    public function noAccess(Request $request,$aif_partner_slug = "")
    {
        $view_data['page_title'] = "No Access";
        return view('pages.investor_registration.no_access',$view_data);
    }

    public function rising_rajasthan()
    {
        $page_title = 'Rising Rajasthan 2024!';
        $page_description = '';
        $page_keywords = '';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.rising-rajasthan',$view_data);
    }
    public function saveRising(Request $request)
    {
        $input = $request->all();

        $RisingObj = new RisingRajasthan();
        $RisingObj->field['fname'] = $input['fname'];
        $RisingObj->field['lname'] = $input['lname'];
        $RisingObj->field['email'] = $input['email'];
        $RisingObj->field['phone_no'] = $input['phone'];
        $RisingObj->field['linkedin'] = $input['linkedin'];
        $RisingObj->field['profile'] = $input['profile'];
        $return_data = $RisingObj->saveRising();

      return redirect('/rising-rajasthan')->with("success", "Data added successfully");  
    }

    public function rising_response()
    {
        $risingData = DB::table("rising_rajasthans")
                    ->get();   

        return view('pages.rising-rajasthan-response', compact("risingData"));
    }

    public function aim_congress()
    {
        $page_title = 'AIM Congress 2025!';
        $page_description = '';
        $page_keywords = '';

        $view_data['page_title'] =  $page_title;
        $view_data['page_keywords'] =  $page_keywords;
        $view_data['page_description'] =  $page_description;

        return view('pages.aim-congress',$view_data);
    }
    public function saveAim(Request $request)
    {
        $input = $request->all();
        if($input['investment_range'] == 'Other')
            $investment_range = $input['investment_other'];
        else
            $investment_range = $input['investment_range'];

        $AimObj = new AimCongress();
        $AimObj->field['name'] = $input['name'];
        $AimObj->field['email'] = $input['email'];
        $AimObj->field['phone_no'] = $input['phone'];
        $AimObj->field['linkedin'] = $input['linkedin'];
        $AimObj->field['location'] = $input['location'];
        $AimObj->field['role'] = $input['role'];
        $AimObj->field['investment_range'] = $investment_range;
        $AimObj->field['metting_time'] = $input['metting_time'];
        $return_data = $AimObj->saveAim();

      return redirect('/aim-congress')->with("success", "Data added successfully");  
    }

    public function aim_congress_response()
    {
        $AimData = DB::table("aim_congress")
                    ->get();   

        return view('pages.aim-congress-response', compact("AimData"));
    }

}
