/** * @param Client $client */ function deleteClient($client) { $deletedClient = new Scalr_Integration_ZohoCrm_DeletedClient(); $deletedClient->ID = $client->ID; $deletedClient->Fullname = $client->Fullname; $deletedClient->SetSettingValue(CLIENT_SETTINGS::ZOHOCRM_ACCOUNT_ID, $client->GetSettingValue(CLIENT_SETTINGS::ZOHOCRM_ACCOUNT_ID)); $task = new Scalr_Integration_ZohoCrm_Task(Scalr_Integration_ZohoCrm_Task::OP_DELETE_CLIENT, array("deletedClient" => $deletedClient)); $this->logger->info(sprintf("Enqueue delete client (client: '%s', clientid: %d)", $client->Fullname, $client->ID)); $this->enqueueTask($task); }
/** * @param Scalr_Service_ZohoCrm_Entity_SalesOrder $salesOrder * @param Client $client * @param int $invoiceId */ private function bindSalesOrder($salesOrder, $client, $invoiceId) { $invoice = $this->db->GetRow("SELECT * FROM payments WHERE id = ?", array($invoiceId)); $packageId = $client->GetSettingValue(CLIENT_SETTINGS::BILLING_PACKAGE); $package = $this->db->GetRow("SELECT * FROM billing_packages WHERE id = ?", array($packageId)); $salesOrder->accountId = $client->GetSettingValue(CLIENT_SETTINGS::ZOHOCRM_ACCOUNT_ID); $salesOrder->subject = sprintf('Monthly fee $%s (%s)', $invoice["amount"], date("F y", strtotime($invoice["dtpaid"]))); $salesOrder->discount = 0; $salesOrder->tax = 0; $salesOrder->subTotal = $package["cost"]; $salesOrder->grandTotal = $package["cost"]; $salesOrder->status = "Delivered"; $salesOrder->setProperty(Scalr_Integration_ZohoCrm_CustomFields::PAYMENT_SUBSCRIPTION_ID, $invoice["subscriptionid"]); // Add product $productDetail = new Scalr_Service_ZohoCrm_Entity_ProductDetail(); $productDetail->productId = Scalr_Integration_ZohoCrm_CustomFields::$BILLING_PACKAGE_PRODUCT_ID_MAP[$packageId]; $productDetail->quantity = 1; $productDetail->listPrice = $package["cost"]; $productDetail->discount = 0; $productDetail->tax = 0; $productDetail->total = $package["cost"]; $productDetail->totalAfterDiscount = $package["cost"]; $productDetail->netTotal = $package["cost"]; $salesOrder->addProductDetail($productDetail); }