diff options
Diffstat (limited to 'demos/time-tracker/protected/App_Code')
-rw-r--r-- | demos/time-tracker/protected/App_Code/ReportsDao.php | 99 | ||||
-rw-r--r-- | demos/time-tracker/protected/App_Code/UserReport.php | 10 | ||||
-rw-r--r-- | demos/time-tracker/protected/App_Code/UserReportsDao.php | 26 |
3 files changed, 99 insertions, 36 deletions
diff --git a/demos/time-tracker/protected/App_Code/ReportsDao.php b/demos/time-tracker/protected/App_Code/ReportsDao.php new file mode 100644 index 00000000..8d2e2627 --- /dev/null +++ b/demos/time-tracker/protected/App_Code/ReportsDao.php @@ -0,0 +1,99 @@ +<?php
+
+class ProjectReport extends TComponent
+{
+ public $ProjectName = '';
+ public $EstimateHours = 0;
+ public $EstimateCompletion = 0;
+ public $Categories;
+
+ public function __construct()
+ {
+ $this->Categories = new TList;
+ }
+
+ public function getActualHours()
+ {
+ $total = 0;
+ foreach($this->Categories as $cat)
+ $total += $cat->getActualHours();
+ return $total;
+ }
+}
+
+class CategoryReport extends TComponent
+{
+ public $CategoryName = '';
+ public $EstimateHours = 0;
+ public $members = array();
+
+ public function getActualHours()
+ {
+ $total = 0;
+ foreach($this->members as $member)
+ $total += $member['hours'];
+ return $total;
+ }
+}
+
+class UserReport extends TComponent
+{
+ public $Username;
+ public $Projects = array();
+
+ public function getTotalHours()
+ {
+ $hours = 0;
+ foreach($this->Projects as $project)
+ $hours += $project->Duration;
+ return $hours;
+ }
+}
+
+class UserProjectReport
+{
+ public $ProjectName = '';
+ public $CategoryName = '';
+ public $Duration = 0;
+ public $Description='';
+ public $ReportDate=0;
+}
+
+class ReportsDao extends BaseDao
+{
+ public function getUserTimeReport($username)
+ {
+ $sqlmap = $this->getConnection();
+ return $sqlmap->queryForObject('GetTimeReportByUsername', $username);
+ }
+
+ public function getTimeReportsByCategoryID($categoryID)
+ {
+ $sqlmap = $this->getConnection();
+ return $sqlmap->queryForList('GetTimeReportByCategoryID', $categoryID);
+ }
+
+ public function getTimeReportsByProjectIDs($projects)
+ {
+ $ids = implode(',', array_map('intval', $projects));
+ $sqlmap = $this->getConnection();
+ return $sqlmap->queryForList('GetTimeReportByProjectIDs', $ids);
+ }
+
+ public function getUserProjectTimeReports($users, $projects, $startDate, $endDate)
+ {
+ $sqlmap = $this->getConnection();
+ $driver = $sqlmap->openConnection();
+ $ids = implode(',', array_map('intval', $projects));
+ $usernames = implode(',', array_map(array($driver, 'quote'), $users));
+
+ $param['projects'] = $ids;
+ $param['members'] = $usernames;
+ $param['startDate'] = intval($startDate);
+ $param['endDate'] = intval($endDate);
+
+ return $sqlmap->queryForList('GetTimeReportByUsername', $param);
+ }
+}
+
+?>
\ No newline at end of file diff --git a/demos/time-tracker/protected/App_Code/UserReport.php b/demos/time-tracker/protected/App_Code/UserReport.php deleted file mode 100644 index d37de934..00000000 --- a/demos/time-tracker/protected/App_Code/UserReport.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php
-
-class UserReport
-{
- public $CategoryName = '';
- public $users = array();
- public $ProjectName = '';
-}
-
-?>
\ No newline at end of file diff --git a/demos/time-tracker/protected/App_Code/UserReportsDao.php b/demos/time-tracker/protected/App_Code/UserReportsDao.php deleted file mode 100644 index c6eab660..00000000 --- a/demos/time-tracker/protected/App_Code/UserReportsDao.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php
-
-class UserReportsDao extends BaseDao
-{
- public function getUserTimeReport($username)
- {
- $sqlmap = $this->getConnection();
- return $sqlmap->queryForObject('GetTimeReportByUsername', $username);
- }
-
- public function getTimeReportsByCategoryID($categoryID)
- {
- $sqlmap = $this->getConnection();
- return $sqlmap->queryForList('GetTimeReportByCategoryID', $categoryID);
- }
-
- public function getTimeReportsByProjectIDs($projects)
- {
- $ids = implode(',', array_map('intval', $projects));
- $sqlmap = $this->getConnection();
- return $sqlmap->queryForList('GetTimeReportByProjectIDs', $ids);
- }
-
-}
-
-?>
\ No newline at end of file |