public function register(RegisterBindingModel $model)
 {
     if (!$model) {
         $this->response['error'] = 'Invalid model!';
         return $this->response;
     }
     $usernameCheck = $this->dbContext->getUsersRepository()->filterByUsername(" = '" . $model->getUsername() . "'")->findOne();
     if ($usernameCheck->getId()) {
         $this->response['error'] = 'Username already taken!';
         return $this->response;
     }
     $emailCheck = $this->dbContext->getUsersRepository()->filterByEmail(" = '" . $model->getEmail() . "'")->findOne();
     if ($emailCheck->getId()) {
         $this->response['error'] = 'Email already in use!';
         return $this->response;
     }
     $user = new User($model->getUsername(), password_hash($model->getPassword(), PASSWORD_BCRYPT), $model->getEmail(), $model->getTelephone());
     $this->dbContext->getUsersRepository()->add($user);
     $this->dbContext->saveChanges();
     $user = $this->dbContext->getUsersRepository()->filterByUsername(" = '" . $model->getUsername() . "'")->findOne();
     $userId = intval($user->getId());
     $userRole = new Usersrole($userId, 2, 0);
     $this->dbContext->getUsersrolesRepository()->add($userRole);
     $this->dbContext->saveChanges();
     $this->response['success'] = 'Register successful!';
     return $this->response;
 }