/**
  * Opportunities for Sport Talent - either Aspiring professional or Student
  * @param $state
  * @param $institution_tye
  * @param $gender
  * @param $sport_type
  */
 public function talentOpportunities($state = null, $institution_type = null, $gender = null, $sport_type = null, $country = null)
 {
     $talent_management_level = Session::get(SiteSessions::USER_MANAGEMENT_LEVEL);
     $managers = null;
     switch ($talent_management_level) {
         case SiteConstants::USER_TALENT_MANAGEMENT_LEVEL_STUDENT:
             //Management level and Gender requested by the user.
             $managerManagementLevel = null;
             //If Institution type is "High School"
             if ($institution_type == 1) {
                 $managerManagementLevel = SiteConstants::USER_MANAGER_MANAGEMENT_LEVEL_HIGH_SCHOOL;
             } else {
                 if ($institution_type == 2) {
                     $managerManagementLevel = SiteConstants::USER_MANAGER_MANAGEMENT_LEVEL_UNIVERSITY;
                 }
             }
             $managers = ManagersDatabase::managerType(SiteConstants::USER_MANAGER_COACH)->managementLevel($managerManagementLevel)->state($state)->sportGender($gender)->sport($sport_type)->paginate(25);
             break;
         case SiteConstants::USER_TALENT_MANAGEMENT_LEVEL_ASPIRING_PRO:
             $managers = ManagersDatabase::country($country)->sport($sport_type)->sportGender($gender)->whereIn('management_level', [SiteConstants::USER_MANAGER_MANAGEMENT_LEVEL_AMATEUR, SiteConstants::USER_MANAGER_MANAGEMENT_LEVEL_PRO, SiteConstants::USER_MANAGER_MANAGEMENT_LEVEL_SEMI_PRO])->paginate(25);
             break;
     }
     $managers_already_contacted = DB::table("managers_contacted")->where('user_id', '=', Session::get(SiteSessions::USER_ID))->lists('manager_id');
     $userProfile = UserProfile::find(Session::get(SiteSessions::USER_ID));
     $userProfile->getMutatedData = false;
     $sport_gender = array_map('ucfirst', array_merge(['0' => '-- Select Option --'], SportsRepository::getSportsGender()));
     $state = array_map('ucfirst', array_merge(['0' => "-- Select State --"], BasicSiteRepository::getAmericanState()));
     $institution_type = array_map('ucfirst', UserProfileRepository::getInstituteType());
     $country = array_map('ucfirst', BasicSiteRepository::getListOfCountries());
     return view('database.talent_database_search_result', compact('managers', 'managers_already_contacted', 'userProfile', 'sport_gender', 'state', 'institution_type', 'country'));
 }
 /**
  * Searching Managers based upon the parameters submitted by the user
  * @param Request $request
  */
 public function searchManagers(Request $request)
 {
     $name = 'null';
     $manager_type = 'null';
     $sport = 'null';
     $sport_gender = 'null';
     $country = 'null';
     $state = 'null';
     if ($request->has("coach_name") && trim($request->get("coach_name")) != "") {
         $name = $request->get("coach_name");
     }
     if ($request->has("manager_type") && trim($request->get("manager_type")) != "" && $request->get("manager_type") != 0) {
         $manager_type = BasicSiteRepository::getManagerTypes()[$request->get("manager_type")];
     }
     if ($request->has("sport_type") && trim($request->get("sport_type")) != "" && $request->get("sport_type") != 0) {
         $sport = BasicSiteRepository::getSportTypes()[$request->get("sport_type")];
     }
     if ($request->has("sport_gender") && trim($request->get("sport_gender")) != "" && $request->get("sport_gender") != 0) {
         $sport_gender = SportsRepository::getSportsGender()[$request->get("sport_gender")];
     }
     if ($request->has("country") && trim($request->get("country")) != "" && $request->get("country") != 0) {
         $state = BasicSiteRepository::getListOfCountries()[$request->get("country")];
     }
     if ($request->has("state") && trim($request->get("state")) != "" && $request->get("state") != 0) {
         $state = BasicSiteRepository::getAmericanState()[$request->get("state")];
     }
     return redirect('admin/viewManager/' . $name . '/' . $manager_type . '/' . $sport . '/' . $sport_gender . '/' . $state);
 }
 /**
  * Storing corresponding text of the index selected by the admin
  * @param $manager_type
  */
 public function setsportGenderAttribute($sport_gender)
 {
     $this->attributes["sport_gender"] = SportsRepository::getSportsGender()[$sport_gender];
 }