<?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 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;
use Illuminate\Support\Facades\DB;

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 = 'Marwari Catalysts';
        $page_description = 'Marwari Catalysts is a global startup accelerator that makes startups become investment ready by offering professional training, mentoring, and...';
        $view_data['page_title'] =  $page_title;
        $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.';

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

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

    public function media()
    {
        $page_title = 'Media & News - Marwari Catalysts';
        $page_description = 'Marwari Catalysts Latest News, Updates, & Press Releases. Reach out to us at office@marwaricatalysts.com.';

        $view_data['page_title'] =  $page_title;
        $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 = 'Since its inception in 2019, Marwari Catalysts has held a portfolio of 40+ startups, where 70% have already raised their seed round.';

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

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

    public function contact()
    {
        $page_title = 'Contact Marwari Catalysts';
        $page_description = 'Contact Marwari Catalysts';

        $view_data['page_title'] =  $page_title;
        $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';

        $view_data['page_title'] =  $page_title;
        $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.';

        $view_data['page_title'] =  $page_title;
        $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.';

        $view_data['page_title'] =  $page_title;
        $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.';

        $view_data['page_title'] =  $page_title;
        $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';

        $view_data['page_title'] =  $page_title;
        $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';

        $view_data['page_title'] =  $page_title;
        $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';

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

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


    public function termsConditions(){
        $page_title = 'Marwari Catalysts Terms & Conditions';
        $page_description = 'Marwari Catalysts Terms & Conditions';

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

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

    public function faq(){
        $page_title = 'Marwari Catalysts FAQs';
        $page_description = 'Marwari Catalysts FAQs';

        $view_data['page_title'] =  $page_title;
        $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 is the fastest-growing startup accelerator in India, facilitating and fostering the startup ecosystem, primarily in Tier II and Tier III cities.';

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

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

    public function founder()
    {
        $page_title = 'Team Marwari Catalysts';
        $page_description = 'Sushil Sharma is the Founder & CEO of Marwari Catalysts, and the firm has a highly competent team of 100+ co-founders from major cities in India.';

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

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

    public function coFounder()
    {
        $page_title = 'Co-Founder Marwari Catalysts';
        $page_description = 'Sushil Sharma is the Founder & CEO of Marwari Catalysts, and the firm has a highly competent team of 100+ co-founders from major cities in India.';

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

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

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

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

        return view('pages.resources',$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 = 'Marwari Catalysts Founders';
        $page_description = 'Marwari Catalysts Founders';

        $view_data['page_title'] =  $page_title;
        $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'];
        }

        $view_data['page_title'] =  $page_title;
        $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);
        $view_data['page_title'] =  $page_title;
        $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'));

        $view_data['page_title'] =  $page_title;
        $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 = 'Blogs Marwari Catalysts';
        $page_description = 'Blogs Marwari Catalysts';

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

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

    public function marwari_catalysts_bridge()
    {
        $page_title = 'Blogs Marwari Catalysts';
        $page_description = 'Blogs Marwari Catalysts';

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

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

    public function entrepreneurial_culture_ecosystem()
    {
        $page_title = 'Blogs Marwari Catalysts';
        $page_description = 'Blogs Marwari Catalysts';

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

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

    public function more_power_non_metro_cities()
    {
        $page_title = 'Blogs Marwari Catalysts';
        $page_description = 'Blogs Marwari Catalysts';

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

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

    public function angel_investment_by_professionals()
    {
        $page_title = 'Blogs Marwari Catalysts';
        $page_description = 'Blogs Marwari Catalysts';

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

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

    public function age_and_entrepreneurship()
    {
        $page_title = 'Blogs Marwari Catalysts';
        $page_description = 'Blogs Marwari Catalysts';

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

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

    public function raise_pre_seed_funding()
    {
        $page_title = 'Blogs Marwari Catalysts';
        $page_description = 'Blogs Marwari Catalysts';

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

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

    public function journey_towards_vibrant()
    {
        $page_title = 'Blogs Marwari Catalysts';
        $page_description = 'Blogs Marwari Catalysts';

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

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

    public function power_d2c_heroes()
    {
        $page_title = 'Blogs Marwari Catalysts';
        $page_description = 'Blogs Marwari Catalysts';

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

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

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

        $view_data['page_title'] =  $page_title;
        $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';

        $view_data['page_title'] =  $page_title;
        $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';
    
            $view_data['page_title'] =  $page_title;
            $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';
    
            $view_data['page_title'] =  $page_title;
            $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';

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

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

    public function supplychaintech()
    {
        $page_title = 'Marwari Catalysts Apply now';
        $page_description = 'Marwari Catalysts Apply now';

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

        $user_id=1;//sushil sharma
        $startup_launch=Startup_Launch::where('is_active','Y')->get();

        if(!$startup_launch->count())
        {
            $startup_launch=Startup_Launch::limit(1)->get();           
        }

        $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();

        $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['web_notice']=WebNotice::where('is_active','Y')->first();

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

    public function saveSupplychain(Request $request)
    {
   
        $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 | numeric |min:1990','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)
    {
        //is master form already filled start
        $startup_id=$request->startup_id;
        $startups_obj=Startups::find($startup_id);
        $master_form_saved_level=$startups_obj->master_form_saved_level;
        if($master_form_saved_level=='6')
        {
            $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'];
                }
            }
            $view_data['page_title'] =  $page_title;
            $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'];
        }
        

        $view_data['page_title'] =  $page_title;
        $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){

        //return $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['type_of_organization'] = $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'];
        $return_startup = StartUps::getStartupDetail($startup_id);
        $startup_detail = $return_startup['data'];
        $view_data['startup_detail'] = $startup_detail;
        //Mtak start
        $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.form_confirmation',$view_data);
    }

    public function masterFormAlreadySubmitted(Request $request)
    {
        $startup_id=$request->startup_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();

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

    public function careholders()
    {
        $page_title = 'Careholders Marwari Catalysts';
        $page_description = 'Sushil Sharma is the Founder & CEO of Marwari Catalysts, and the firm has a highly competent team of 100+ co-founders from major cities in India.';

        $view_data['page_title'] =  $page_title;
        $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';

        $view_data['page_title'] =  $page_title;
        $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;     
    }
}
