public static function getRobotDataArray($rowSets)
 {
     $robotsData = array();
     if (!empty($rowSets)) {
         foreach ($rowSets as $robotDataRow) {
             $robotDataRow['creators'] = RobotAssocsDB::getRobotAssocValuesBy('robotId', $robotDataRow['robotId'], "creatorId");
             $robotData = new RobotData($robotDataRow);
             $robotId = $robotDataRow['robotId'];
             $robotData->setRobotId($robotId);
             array_push($robotsData, $robotData);
         }
     }
     return $robotsData;
 }
 public function testInsertDuplicateRobotAssoc()
 {
     $myDB = DBMaker::create('botspacetest');
     Database::clearDB();
     $db = Database::getDB('botspacetest', 'C:\\xampp\\myConfig.ini');
     $beforeCount = count(RobotAssocsDB::getRobotAssocsBy());
     $robotAssocCopy = RobotAssocsDB::getRobotAssocsRowsBy('robotAssocId', 2);
     $robotAssocCopy = $robotAssocCopy[0];
     $s1 = new RobotAssoc($robotAssocCopy);
     $dupRobotAssoc = RobotAssocsDB::addRobotAssoc($s1);
     $afterCount = count(RobotAssocsDB::getRobotAssocsBy());
     $this->assertTrue(!empty($dupRobotAssoc->getError('robotAssocId')) && strcmp(Messages::getError('ROBOT_ASSOC_INVALID'), $s1->getError('robotAssocId')) == 0, 'It should have a robotAssocId error if the robot association is a duplicate');
     $this->assertEquals($afterCount, $beforeCount, 'There should be no additional robot association entries after the insertion attempt');
 }
 public static function setProfileDataForUser($userId)
 {
     $retVal = false;
     if (empty($userId) || !is_numeric($userId)) {
         return $retVal;
     }
     $user = null;
     $userData = null;
     $skillAssocs = null;
     $userRobots = null;
     $users = UsersDB::getUsersBy('userId', $userId);
     if (count($users) > 0) {
         $user = $users[0];
         if ($user->getErrorCount() != 0) {
             return $retVal;
         }
         $userDataArray = UserDataDB::getUserDataBy('userId', $userId);
         if (count($userDataArray) > 0) {
             $userData = $userDataArray[0];
         }
         if ($userData->getErrorCount() != 0) {
             return $retVal;
         }
         $skillAssocs = SkillAssocsDB::getSkillAssocsBy('userDataId', $userData->getUserDataId());
         foreach ($skillAssocs as $skillAssoc) {
             if ($skillAssoc->getErrorCount() != 0) {
                 return $retVal;
             }
         }
         $robotAssocs = RobotAssocsDB::getRobotAssocsBy('creatorId', $userData->getUserDataId());
         $userRobots = array();
         foreach ($robotAssocs as $robotAssoc) {
             $robotArray = RobotDataDB::getRobotDataBy('robotId', $robotAssoc->getRobotId());
             if (count($robotArray) > 0) {
                 array_push($userRobots, $robotArray[0]);
             }
         }
         $_SESSION['user'] = $user;
         $_SESSION['userData'] = $userData;
         $_SESSION['skillAssocs'] = $skillAssocs;
         $_SESSION['userRobots'] = $userRobots;
         $retVal = true;
     }
     return $retVal;
 }
 public static function getRobotAssocValuesBy($type = null, $value = null, $column)
 {
     $robotAssocsRows = RobotAssocsDB::getRobotAssocsRowsBy($type, $value);
     return RobotAssocsDB::getRobotAssocsValues($robotAssocsRows, $column);
 }
 public static function newRobotData()
 {
     $robotData = null;
     $newRobotData = null;
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $creatorIds = array();
         foreach ($_POST['creatorNames'] as $creatorName) {
             $creatorArray = UserDataDB::getUserDataBy('user_name', $creatorName);
             if (count($creatorArray) >= 1) {
                 $creator = $creatorArray[0];
                 array_push($creatorIds, $creator->getUserDataId());
             }
         }
         $_POST['creators'] = $creatorIds;
         $robotData = new RobotData($_POST);
     }
     $_SESSION['robotData'] = $robotData;
     if (is_null($robotData) || $robotData->getErrorCount() != 0) {
         RobotDataView::showNew();
     } else {
         $newRobotData = RobotDataDB::addRobotData($robotData);
         foreach ($robotData->getCreators() as $creatorId) {
             $robotAssoc = new RobotAssoc($robotData->getRobotId(), $creatorId);
             $newRobotAssoc = RobotAssocsDB::addRobotAssoc($robotAssoc);
         }
         if (!is_null($newRobotData) && $newRobotData->getErrorCount() == 0) {
             $_SESSION['robotData'] = $newRobotData;
         }
         HomeView::show();
     }
 }