public function updateCareerHistory(Request $request)
 {
     $validator = Validator::make($request->all(), []);
     DB::transaction(function () use($request) {
         $managerProfile = ManagerProfile::where('user_id', '=', session(SiteSessions::USER_ID))->first();
         $managerProfile->institution_type = $request->institution_type;
         $managerProfile->institution_name = $request->institution_name;
         $managerProfile->save();
         $careerHistories = $request->careerHistory;
         foreach ($careerHistories as $careerHistory) {
             $managerCareerHistory = null;
             //Checking if career history already exists
             if ($managerCareerHistory = ManagerCareerHistory::CareerHistoryExists($managerProfile->profile_id, $careerHistory["year"])) {
             } else {
                 $managerCareerHistory = ManagerCareerHistory::create(['profile_id' => $managerProfile->profile_id, 'career_year' => $careerHistory["year"]]);
             }
             $achievements = $careerHistory["achievement"];
             foreach ($achievements as $achievement) {
                 //Checking if Achievement already exists for Career History
                 if (ManagerCareerHistoryAchievement::AchievementExists($managerCareerHistory->id, $achievement["info"])) {
                 } else {
                     $managerCareerHistory->Achievements()->save(new ManagerCareerHistoryAchievement(['achievement' => $achievement["info"]]));
                 }
             }
             //Removing Obselete Achievements
             ManagerCareerHistoryAchievement::RemoveObseleteAchievement($managerCareerHistory, $achievements);
         }
         ManagerCareerHistory::RemoveObseleteCareerHistory($managerProfile, $careerHistories);
     });
     $this->sendResponse();
 }
 public static function AchievementExists($career_id, $achievement)
 {
     $careerHistoryAchievement = ManagerCareerHistoryAchievement::where('career_history_id', '=', $career_id)->where('achievement', '=', $achievement)->get();
     if (count($careerHistoryAchievement) > 0) {
         return $careerHistoryAchievement;
     }
     return false;
 }