private function payedBill($operationData, $userInfo) { $payedBillRequest = UploadDTO\BillPaymentUploadDto::Deserialize($operationData); $billController = new BillController(); $this->transBegin(); $payedBillResult = $billController->changeBillPaymetStatus($payedBillRequest, $userInfo); if ($payedBillResult) { $this->response->body(DTO\ErrorDto::prepareSuccessMessage('Bill payment has been done')); $transactionController = new TransactionMasterController(); $reportResult = $transactionController->createTransactionReport($payedBillRequest->payedBy, $payedBillResult, $userInfo->restaurantId); $conditionText = $billController->getBillDetails($payedBillRequest->billNo); if (!is_null($conditionText['DeliveryNo'])) { $delivery = new DeliveryController(); $delivery->closeDelivery($conditionText['DeliveryNo']); } else { if (!is_null($conditionText['TakeawayNo'])) { $takeaway = new TakeawayController(); $takeaway->closeTakeway($conditionText['TakeawayNo']); } } if ($reportResult) { $this->transCommit(); } else { $this->transRollback(); } return; } $this->transRollback(); $this->response->body(DTO\ErrorDto::prepareError(111)); return; }