当前位置: 首页>>代码示例>>PHP>>正文


PHP Invitation::save方法代码示例

本文整理汇总了PHP中app\models\Invitation::save方法的典型用法代码示例。如果您正苦于以下问题:PHP Invitation::save方法的具体用法?PHP Invitation::save怎么用?PHP Invitation::save使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在app\models\Invitation的用法示例。


在下文中一共展示了Invitation::save方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: createNinjaInvoice

 public function createNinjaInvoice($client, $clientAccount, $plan, $credit = 0)
 {
     $term = $plan['term'];
     $plan_cost = $plan['price'];
     $num_users = $plan['num_users'];
     $plan = $plan['plan'];
     if ($credit < 0) {
         $credit = 0;
     }
     $account = $this->getNinjaAccount();
     $lastInvoice = Invoice::withTrashed()->whereAccountId($account->id)->orderBy('public_id', 'DESC')->first();
     $publicId = $lastInvoice ? $lastInvoice->public_id + 1 : 1;
     $invoice = new Invoice();
     $invoice->account_id = $account->id;
     $invoice->user_id = $account->users()->first()->id;
     $invoice->public_id = $publicId;
     $invoice->client_id = $client->id;
     $invoice->invoice_number = $account->getNextInvoiceNumber($invoice);
     $invoice->invoice_date = $clientAccount->getRenewalDate();
     $invoice->amount = $invoice->balance = $plan_cost - $credit;
     $invoice->invoice_type_id = INVOICE_TYPE_STANDARD;
     $invoice->save();
     if ($credit) {
         $credit_item = InvoiceItem::createNew($invoice);
         $credit_item->qty = 1;
         $credit_item->cost = -$credit;
         $credit_item->notes = trans('texts.plan_credit_description');
         $credit_item->product_key = trans('texts.plan_credit_product');
         $invoice->invoice_items()->save($credit_item);
     }
     $item = InvoiceItem::createNew($invoice);
     $item->qty = 1;
     $item->cost = $plan_cost;
     $item->notes = trans("texts.{$plan}_plan_{$term}_description");
     if ($plan == PLAN_ENTERPRISE) {
         $min = Utils::getMinNumUsers($num_users);
         $item->notes .= "\n\n###" . trans('texts.min_to_max_users', ['min' => $min, 'max' => $num_users]);
     }
     // Don't change this without updating the regex in PaymentService->createPayment()
     $item->product_key = 'Plan - ' . ucfirst($plan) . ' (' . ucfirst($term) . ')';
     $invoice->invoice_items()->save($item);
     $invitation = new Invitation();
     $invitation->account_id = $account->id;
     $invitation->user_id = $account->users()->first()->id;
     $invitation->public_id = $publicId;
     $invitation->invoice_id = $invoice->id;
     $invitation->contact_id = $client->contacts()->first()->id;
     $invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
     $invitation->save();
     return $invitation;
 }
开发者ID:rafaelsisweb,项目名称:invoice-ninja,代码行数:51,代码来源:AccountRepository.php

示例2: createNinjaInvoice

 public function createNinjaInvoice($client)
 {
     $account = $this->getNinjaAccount();
     $lastInvoice = Invoice::withTrashed()->whereAccountId($account->id)->orderBy('public_id', 'DESC')->first();
     $publicId = $lastInvoice ? $lastInvoice->public_id + 1 : 1;
     $invoice = new Invoice();
     $invoice->account_id = $account->id;
     $invoice->user_id = $account->users()->first()->id;
     $invoice->public_id = $publicId;
     $invoice->client_id = $client->id;
     $invoice->invoice_number = $account->getNextInvoiceNumber();
     $invoice->invoice_date = date_create()->format('Y-m-d');
     $invoice->amount = PRO_PLAN_PRICE;
     $invoice->balance = PRO_PLAN_PRICE;
     $invoice->save();
     $item = new InvoiceItem();
     $item->account_id = $account->id;
     $item->user_id = $account->users()->first()->id;
     $item->public_id = $publicId;
     $item->qty = 1;
     $item->cost = PRO_PLAN_PRICE;
     $item->notes = trans('texts.pro_plan_description');
     $item->product_key = trans('texts.pro_plan_product');
     $invoice->invoice_items()->save($item);
     $invitation = new Invitation();
     $invitation->account_id = $account->id;
     $invitation->user_id = $account->users()->first()->id;
     $invitation->public_id = $publicId;
     $invitation->invoice_id = $invoice->id;
     $invitation->contact_id = $client->contacts()->first()->id;
     $invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
     $invitation->save();
     return $invitation;
 }
开发者ID:rasata,项目名称:invoice-ninja,代码行数:34,代码来源:AccountRepository.php

示例3: createNinjaInvoice

 public function createNinjaInvoice($client, $clientAccount, $plan = PLAN_PRO, $term = PLAN_TERM_MONTHLY, $credit = 0, $pending_monthly = false)
 {
     if ($credit < 0) {
         $credit = 0;
     }
     $plan_cost = Account::$plan_prices[$plan][$term];
     $account = $this->getNinjaAccount();
     $lastInvoice = Invoice::withTrashed()->whereAccountId($account->id)->orderBy('public_id', 'DESC')->first();
     $publicId = $lastInvoice ? $lastInvoice->public_id + 1 : 1;
     $invoice = new Invoice();
     $invoice->account_id = $account->id;
     $invoice->user_id = $account->users()->first()->id;
     $invoice->public_id = $publicId;
     $invoice->client_id = $client->id;
     $invoice->invoice_number = $account->getNextInvoiceNumber($invoice);
     $invoice->invoice_date = $clientAccount->getRenewalDate();
     $invoice->amount = $invoice->balance = $plan_cost - $credit;
     $invoice->save();
     if ($credit) {
         $credit_item = InvoiceItem::createNew($invoice);
         $credit_item->qty = 1;
         $credit_item->cost = -$credit;
         $credit_item->notes = trans('texts.plan_credit_description');
         $credit_item->product_key = trans('texts.plan_credit_product');
         $invoice->invoice_items()->save($credit_item);
     }
     $item = InvoiceItem::createNew($invoice);
     $item->qty = 1;
     $item->cost = $plan_cost;
     $item->notes = trans("texts.{$plan}_plan_{$term}_description");
     // Don't change this without updating the regex in PaymentService->createPayment()
     $item->product_key = 'Plan - ' . ucfirst($plan) . ' (' . ucfirst($term) . ')';
     $invoice->invoice_items()->save($item);
     if ($pending_monthly) {
         $term_end = $term == PLAN_MONTHLY ? date_create('+1 month') : date_create('+1 year');
         $pending_monthly_item = InvoiceItem::createNew($invoice);
         $item->qty = 1;
         $pending_monthly_item->cost = 0;
         $pending_monthly_item->notes = trans("texts.plan_pending_monthly", array('date', Utils::dateToString($term_end)));
         // Don't change this without updating the text in PaymentService->createPayment()
         $pending_monthly_item->product_key = 'Pending Monthly';
         $invoice->invoice_items()->save($pending_monthly_item);
     }
     $invitation = new Invitation();
     $invitation->account_id = $account->id;
     $invitation->user_id = $account->users()->first()->id;
     $invitation->public_id = $publicId;
     $invitation->invoice_id = $invoice->id;
     $invitation->contact_id = $client->contacts()->first()->id;
     $invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
     $invitation->save();
     return $invitation;
 }
开发者ID:hannenijhuis,项目名称:invoiceninja,代码行数:53,代码来源:AccountRepository.php


注:本文中的app\models\Invitation::save方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。