public function resourcetaskassigndeleteAction()
 {
     $dresource_model = new Timemanagement_Model_Projectresources();
     $task_resource_model = new Timemanagement_Model_Projecttaskresources();
     $projectId = $this->_getParam('projectId');
     $employeeId = $this->_getParam('employeeId');
     $checkedTasks = $this->_getParam('chekedtaskids');
     $uncheckedTasks = $this->_getParam('uncheckedtaskids');
     $checkedTaskIds = json_decode($checkedTasks);
     $uncheckedTasksIds = json_decode($uncheckedTasks);
     $allTaskIdsArray = array();
     $project_task_id = array();
     $inserted_count = 0;
     $updated_count = 0;
     $getAllTasks = $dresource_model->getAllTasks($projectId);
     //get all tasks for perticuler project
     foreach ($getAllTasks as $task_id) {
         $allTaskIdsArray[] = $task_id['task_id'];
         $project_task_id[$task_id['task_id']] = $task_id['id'];
     }
     $assignedTasks = $dresource_model->getassignedTasks($projectId, $employeeId);
     $assignedTaskIds = array();
     $resourceProjectTaskPrimaryId = array();
     if (count($assignedTasks) > 0) {
         foreach ($assignedTasks as $id) {
             $assignedTaskIds[] = $id['task_id'];
             $resourceProjectTaskPrimaryId[$id['task_id']] = $id['id'];
         }
     }
     $unAssignedTasks = array();
     foreach ($allTaskIdsArray as $tId) {
         if (!in_array($tId, $assignedTaskIds)) {
             $unAssignedTasks[] = $tId;
         }
     }
     //user selected to delete tasks from resources
     //compare previoues assigned tasks and selected to delete tasks
     if (count($uncheckedTasksIds) > 0) {
         foreach ($uncheckedTasksIds as $ckedId) {
             if (in_array($ckedId, $assignedTaskIds)) {
                 $is_updated = $task_resource_model->assignTasks($ckedId, $projectId, $employeeId, $resourceProjectTaskPrimaryId[$ckedId], $for_update = 1);
                 if ($is_updated == 'update') {
                     $updated_count++;
                 }
             }
         }
     }
     if (count($checkedTaskIds) > 0) {
         foreach ($checkedTaskIds as $taskId) {
             if (in_array($taskId, $unAssignedTasks)) {
                 //insert tasks in employee_tasks table
                 $isTaskAssigned = $task_resource_model->isTaskAssigned($projectId, $taskId, $employeeId);
                 if ($isTaskAssigned == 0) {
                     $is_inserted = $task_resource_model->assignTasks($taskId, $projectId, $employeeId, $project_task_id[$taskId]);
                     if ($is_inserted > 0) {
                         $inserted_count++;
                     }
                 }
             }
         }
     }
     //$this->_helper->json(array('message'=>'success','status'=>$updated_count.' Tasks deleted successfully,'.$inserted_count.' Tasks assigned successfully.'));
     $this->_helper->json(array('message' => 'success', 'status' => 'Tasks list updated successfully.'));
 }
 public function saveresourcesAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $projectTaskResourceModel = new Timemanagement_Model_Projecttaskresources();
         if ($this->getRequest()->getPost()) {
             $projectId = $this->_getParam('projectId');
             $oldRes = $this->_getParam('oldRes');
             $newRes = $this->_getParam('newRes');
             $taskId = $this->_getParam('taskId');
             $projectTaskId = $this->_getParam('projectTaskId');
             $oldRes_arr = $newRes_arr = array();
             if (isset($oldRes) && $oldRes != '') {
                 $projRes = trim($oldRes, ",");
                 $oldRes_arr = explode(",", $oldRes);
             }
             if (isset($newRes) && $newRes != '') {
                 $projRes = trim($newRes, ",");
                 $newRes_arr = explode(",", $newRes);
             }
             if (!empty($newRes_arr)) {
                 foreach ($newRes_arr as $newRess) {
                     if (in_array($newRess, $oldRes_arr)) {
                         $key = array_search($newRess, $oldRes_arr);
                         unset($oldRes_arr[$key]);
                         // check already exists or not
                         continue;
                     } else {
                         $checkprojTaskResRecExists = $projectTaskResourceModel->isTaskAssigned(trim($projectId), trim($taskId), trim($newRess));
                         if (empty($checkprojTaskResRecExists)) {
                             $projectTaskResourceData = array('project_id' => trim($projectId), 'task_id' => trim($taskId), 'project_task_id' => trim($projectTaskId), 'emp_id' => trim($newRess), 'created_by' => $loginUserId, 'created' => gmdate("Y-m-d H:i:s"), 'is_active' => 1, 'modified_by' => $loginUserId, 'modified' => gmdate("Y-m-d H:i:s"));
                             $result = $projectTaskResourceModel->SaveorUpdateProjectTaskResourceData($projectTaskResourceData, '');
                         }
                     }
                 }
             }
             if (!empty($oldRes_arr)) {
                 // now $oldRes_arr contains removed res id's
                 foreach ($oldRes_arr as $removedRes) {
                     $projectTaskResourceData_remove = array('is_active' => 0, 'modified_by' => $loginUserId, 'modified' => gmdate("Y-m-d H:i:s"));
                     $where = array('project_id=?' => trim($projectId), 'project_task_id=?' => trim($projectTaskId), 'emp_id=?' => trim($removedRes));
                     $result = $projectTaskResourceModel->SaveorUpdateProjectTaskResourceData($projectTaskResourceData_remove, $where);
                 }
             }
             $this->_helper->json(array('message' => 'success', 'status' => 'Resource assigned to tasks successfully.'));
         }
     }
 }