From 143980b6dab8ad87c44518e5b7befb614fb83b85 Mon Sep 17 00:00:00 2001 From: wei <> Date: Fri, 14 Jul 2006 06:56:16 +0000 Subject: Add time-tracker sample and docs. (Incomplete) --- .../time-tracker/protected/APP_CODE/ProjectDao.php | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 demos/time-tracker/protected/APP_CODE/ProjectDao.php (limited to 'demos/time-tracker/protected/APP_CODE/ProjectDao.php') diff --git a/demos/time-tracker/protected/APP_CODE/ProjectDao.php b/demos/time-tracker/protected/APP_CODE/ProjectDao.php new file mode 100644 index 00000000..25a2845d --- /dev/null +++ b/demos/time-tracker/protected/APP_CODE/ProjectDao.php @@ -0,0 +1,76 @@ +getConnection(); + $creator = $sqlmap->queryForObject('GetUserByName', $project->CreatorUserName); + $manager = $sqlmap->queryForObject('GetUserByName', $project->ManagerUserName); + $exists = $sqlmap->queryForObject('GetProjectByName', $project->Name); + if($exists) + { + throw new TimeTrackerException( + 'project_exists', $project->Name); + } + else if(!$creator || !$manager) + { + throw new TimeTrackerException( + 'invalid_creator_and_manager', + $project->Name, $project->CreatorUserName, + $project->ManagerUserName); + } + else + { + $param['project'] = $project; + $param['creator'] = $creator->ID; + $param['manager'] = $manager->ID; + return $sqlmap->insert('CreateNewProject', $param); + } + } + + public function getProjectByID($projectID) + { + $sqlmap = $this->getConnection(); + return $sqlmap->queryForObject('GetProjectByID', $projectID); + } + + public function addUserToProject($project, $user) + { + $sqlmap = $this->getConnection(); + $project = $this->getProjectByID($project->ID); + $user = $sqlmap->queryForObject('GetUserByName', $user->Name); + $list = $sqlmap->queryForList('GetProjectMembers', $project); + $userExists = false; + foreach($list as $k) + { + if($k->ID == $user->ID) + $userExists = true; + } + if(!$project) + { + throw new TimeTrackerException( + 'invalid_project', $project->Name); + } + else if(!$user) + { + throw new TimeTrackerException( + 'invalid_user', $user->Name); + } + else if($userExists) + { + throw new TimeTrackerException( + 'project_member_exists', $projet->Name, $user->Name); + } + else + { + $param['project'] = $project; + $param['user'] = $user; + return $sqlmap->insert('AddUserToProject', $param); + } + } +} + +?> \ No newline at end of file -- cgit v1.2.3