/** * Testing saveTimesheetItem method for the newly made timesheet Items */ public function testSaveTimesheetItemWithNewTimesheetItem() { TestDataService::truncateTables(array('TimesheetItem')); $timesheetItem = new TimesheetItem(); $timesheetItem->setTimesheetId(1); $timesheetItem->setDate("2011-04-23"); $timesheetItem->setDuration("5700"); $timesheetItem->setComment("New Timesheet Item"); $timesheetItem->setProjectId(1); $timesheetItem->setEmployeeId(1); $timesheetItem->setActivityId(4); $savedNewTimesheetItem = $this->timesheetDao->saveTimesheetItem($timesheetItem); $this->assertTrue($savedNewTimesheetItem instanceof TimesheetItem); $this->assertEquals('001', $savedNewTimesheetItem->getTimesheetItemId()); $this->assertEquals($timesheetItem->getTimesheetId(), $savedNewTimesheetItem->getTimesheetId()); $this->assertEquals($timesheetItem->getDate(), $savedNewTimesheetItem->getDate()); $this->assertEquals($timesheetItem->getDuration(), $savedNewTimesheetItem->getDuration()); $this->assertEquals($timesheetItem->getComment(), $savedNewTimesheetItem->getComment()); $this->assertEquals($timesheetItem->getProjectId(), $savedNewTimesheetItem->getProjectId()); $this->assertEquals($timesheetItem->getEmployeeId(), $savedNewTimesheetItem->getEmployeeId()); $this->assertEquals($timesheetItem->getActivityId(), $savedNewTimesheetItem->getActivityId()); }
public function saveTimesheetItems($inputTimesheetItems, $employeeId, $timesheetId, $keysArray, $initialRows) { foreach ($inputTimesheetItems as $inputTimesheetItem) { $activityId = $inputTimesheetItem['projectActivityName']; if ($activityId != null) { $activity = $this->getTimesheetDao()->getProjectActivityByActivityId($activityId); $projectId = $activity->getProjectId(); $tempArray = array_slice($inputTimesheetItem, 3); for ($i = 0; $i < sizeof($keysArray); $i++) { $date = $keysArray[$i]; $timesheetItemId = $inputTimesheetItem['TimesheetItemId' . $i]; $timesheetItemDuration = $inputTimesheetItem[$i]; if ($timesheetItemId != null) { $existingTimesheetItem = $this->getTimesheetDao()->getTimesheetItemById($timesheetItemId); $existingTimesheetItem->setProjectId($projectId); $existingTimesheetItem->setActivityId($activityId); if ($timesheetItemDuration == null) { $timesheetItemDuration = 0; } $existingTimesheetItem->setDuration($this->convertDurationToSeconds($timesheetItemDuration)); $existingTimesheetItem->save(); } else { if ($timesheetItemDuration != null) { $existingTimesheetItem = $this->getTimesheetDao()->getTimesheetItemByDateProjectId($timesheetId, $employeeId, $projectId, $activityId, $date); if ($existingTimesheetItem[0]->getProjectId() != null) { $existingTimesheetItem[0]->setProjectId($projectId); $existingTimesheetItem[0]->setActivityId($activityId); $existingTimesheetItem[0]->setDuration($this->convertDurationToSeconds($timesheetItemDuration)); $existingTimesheetItem[0]->save(); } else { $newTimesheetItem = new TimesheetItem(); $newTimesheetItem->setProjectId($projectId); $newTimesheetItem->setActivityId($activityId); $newTimesheetItem->setDate($date); $newTimesheetItem->setDuration($this->convertDurationToSeconds($timesheetItemDuration)); $newTimesheetItem->setTimesheetId($timesheetId); $newTimesheetItem->setEmployeeId($employeeId); $this->getTimesheetDao()->saveTimesheetItem($newTimesheetItem); } } } } } } }