/**
  * @Rest\Post("/signup" )
  * @ApiDoc(
  *  resource=true,
  *  description="Signup",
  * )
  */
 public function postSignUpAction(Request $request)
 {
     $objSignUpvalidator = new SignUpValidator($this->createFormBuilder(), $request);
     $objSignUpvalidator->validate();
     if ($objSignUpvalidator->hasError()) {
         return ['errors' => $objSignUpvalidator->getErrors()];
     }
     $objUser = new User();
     $objCustomer = new Customer();
     $objCustomer->setEmailAddress($objSignUpvalidator->getData('email'));
     $strName = trim($objSignUpvalidator->getData('name'));
     list($strFirstName, $strLastName) = explode(' ', $strName);
     $objCustomer->setFirstName($strFirstName);
     $objCustomer->setLastName($strLastName);
     $objUser->setEmail($objSignUpvalidator->getData('email'));
     $objUser->setPassword($objSignUpvalidator->getData('password'));
     $objUser->setCustomer($objCustomer);
     $this->objEntityManager->persist($objCustomer);
     $this->objEntityManager->persist($objUser);
     $this->objEntityManager->flush();
     $objSecurityToken = $this->get('security.authentication.token');
     $this->objSession->set('user/id', $objUser->getId());
     $this->objSession->set('user/customer_id', $objCustomer->getId());
     $this->objSession->set('security/token', $objSecurityToken->getSessionToken());
     $objSecurityToken->generateAuthToken(array($objUser->getId(), $objSecurityToken->getSessionToken(), $request->getClientIp(), $request->headers->get('User-Agent')));
     return array('token' => $objSecurityToken->getAuthToken());
 }
 /**
  * Add User
  * @Rest\Post("/add" )
  * @ApiDoc(
  *  resource=true,
  *  description="User Add",
  * )
  */
 public function postAddUserAction(Request $request)
 {
     $objEntityManager = $this->getDoctrine()->getManager();
     $objCustomer = new Customer();
     $objCustomer->setEmailAddress($request->get('email'));
     $objCustomer->setBillingAddressId(1);
     $objCustomer->setFirstName($request->get('name'));
     $objCustomer->setLastName($request->get('name'));
     $objUser = new User();
     $objUser->setEmail($request->get('email'));
     $objUser->setPassword($request->get('password'));
     $objUser->setName($request->get('name'));
     $objUser->setCustomer($objCustomer);
     $objEntityManager->persist($objCustomer);
     $objEntityManager->persist($objUser);
     $objEntityManager->flush();
     return array('user' => array('id' => $objUser->getId()));
 }