function tenderApproval() { $response = new Response(); try { $projectId = $this->input->post("tender-project-id"); $contractorId = $this->input->post("contractor-id"); $percentage = $this->input->post("tender-percent"); $project = $this->findById("Project", $projectId); if ($project == null) { throw new RuntimeException("Invalid Project..!"); } $project->setStatus(Project::PROJECT_WORK_ORDER); $tenderApproval = new TenderApproval(); $tenderApproval->setProject($project); $tenderApproval->setApprovedBy($this->getLoggedInUser()); $tenderApproval->setCreated(new DateTime()); $workOrder = new Workorder(); $workOrder->setProject($project); $workOrder->setCreated(new DateTime()); $this->save($workOrder); $contractor = $this->findById("Contractor", $contractorId); if ($contractor == null) { throw new RuntimeException("Ïnvalid Contractor !"); } $tenderApproval->setContractor($contractor); $tenderApproval->setPercentage($percentage); $this->save($tenderApproval); } catch (Exception $e) { $response->setStatus(false); $response->setErrorMessage($e->getMessage()); } $this->output->set_content_type('application/json')->set_output(json_encode($response)); }