/**
* Creates a user and returns it.
*
* @param string $username
* @param string $password
* @param string $email
* @param bool $active
* @param bool $superadmin
*
* @return \FOS\UserBundle\Model\UserInterface
*/
public function create($username, $password, $email, $active, $superadmin)
{
$discriminator = $this->discriminator;
switch ($this->type) {
case 'staff':
$class = 'Truckee\\MatchBundle\\Entity\\Staff';
break;
case 'admin':
$class = 'Truckee\\MatchBundle\\Entity\\Admin';
break;
case 'volunteer':
$class = 'Truckee\\MatchBundle\\Entity\\Volunteer';
break;
default:
break;
}
$discriminator->setClass($class);
$user = $this->userManager->createUser();
$user->setUsername($username);
$user->setFirstname($this->firstname);
$user->setLastname($this->lastname);
$user->setEmail($email);
$user->setPlainPassword($password);
$user->setEnabled((bool) $active);
$this->userManager->updateUser($user, true);
return $user;
}