public function registerUser(Request $request)
 {
     $sessionUserData = $this->app['session'];
     $entityManager = $this->app['doctrine'];
     $user = new User();
     $user->setUserName($request->request->get('userName'));
     $user->setUserEmail($request->request->get('userEmail'));
     $user->setPassword($request->request->get('userPassword'));
     $user->setOfficeLocation($request->request->get('officeLocation'));
     $user->setUserAddress($request->request->get('userAddress'));
     try {
         $entityManager->persist($user);
         $entityManager->flush();
         if (null !== $request->files->get('resumeFile')) {
             $fs = new FileHandler();
             $fs->fileUpload($request->files->get('resumeFile'), $user->getId(), UPLOAD_PATH);
         }
         $sessionUserData->getFlashBag()->add('alert_success', 'Registration successful');
         return $this->app->redirect(BASEPATH . "/login");
     } catch (UniqueConstraintViolationException $ex) {
         $sessionUserData->getFlashBag()->add('alert_danger', 'Sorry, this email id is already registered!');
         return $this->app->redirect(BASEPATH . "/register");
     }
 }
 public function doAddUser(Request $request, $userType)
 {
     $entityManager = $this->app['doctrine'];
     $sessionData = $this->app['session'];
     $postedFormData = $request->request->all();
     $prevPassword = $postedFormData['userPassword'];
     $newPassword = $postedFormData['password'];
     if ($postedFormData['userName'] == '' || $postedFormData['userEmail'] == '' || $postedFormData['password'] == '') {
         $sessionData->getFlashBag()->add("alert_danger", "No field should left blank");
         return $this->app->redirect(BASEPATH . "/adduser/" . $userType);
     }
     if ($postedFormData['userId'] == '') {
         $user = new User();
         $formHeading = 'Add ';
         $redirectUrl = BASEPATH . "/adduser/" . $userType;
         $sessionData->getFlashBag()->add("alert_success", $userType . " added successfully!");
     } else {
         $user = $entityManager->find('Entity\\User', $postedFormData['userId']);
         $formHeading = 'Edit ';
         $redirectUrl = BASEPATH . "/usersetting";
         $sessionData->getFlashBag()->add('alert_info', $userType . ' details edited successfully');
     }
     $user->setUserName($postedFormData['userName']);
     $user->setUserEmail($postedFormData['userEmail']);
     $user->setIsAdmin($postedFormData['isAdmin']);
     $user->setOfficeLocation($postedFormData['officeLocation']);
     $user->setUserAddress($postedFormData['userAddress']);
     if (isset($postedFormData['allowAccess'])) {
         $user->setAllowAccess($postedFormData['allowAccess']);
     } else {
         $user->setAllowAccess("0");
     }
     if ($prevPassword != $newPassword) {
         $user->setPassword($postedFormData['password']);
     }
     try {
         $entityManager->persist($user);
         $entityManager->flush();
         if (null !== $request->files->get('resumeFile')) {
             $fs = new FileHandler();
             $fs->fileUpload($request->files->get('resumeFile'), $user->getId(), UPLOAD_PATH);
         }
         return $this->app->redirect($redirectUrl);
     } catch (UniqueConstraintViolationException $ex) {
         $sessionData->getFlashBag()->add("alert_danger", "Email id is already registered, unique required!");
         $userData = ['isAdmin' => $postedFormData['isAdmin'], 'userName' => $postedFormData['userName'], 'userEmail' => $postedFormData['userEmail'], 'officeLocation' => $postedFormData['officeLocation'], 'userAddress' => $postedFormData['userAddress'], 'password' => $postedFormData['password'], 'allowAccess' => $postedFormData['allowAccess']];
         return $this->app['twig']->render('admin/addallusers.twig', array('userData' => $userData, 'formHeading' => $formHeading, 'userType' => $userType, 'pageTitle' => 'Add ' . $userType));
     }
 }