Changeset View
Changeset View
Standalone View
Standalone View
src/app/User.php
Show First 20 Lines • Show All 120 Lines • ▼ Show 20 Lines | public function assignPackage($package, $user = null) | ||||
foreach ($package->skus as $sku) { | foreach ($package->skus as $sku) { | ||||
for ($i = $sku->pivot->qty; $i > 0; $i--) { | for ($i = $sku->pivot->qty; $i > 0; $i--) { | ||||
\App\Entitlement::create( | \App\Entitlement::create( | ||||
[ | [ | ||||
'wallet_id' => $wallet_id, | 'wallet_id' => $wallet_id, | ||||
'sku_id' => $sku->id, | 'sku_id' => $sku->id, | ||||
'cost' => $sku->pivot->cost(), | 'cost' => $sku->pivot->cost(), | ||||
'fee' => $sku->pivot->fee(), | |||||
'entitleable_id' => $user->id, | 'entitleable_id' => $user->id, | ||||
'entitleable_type' => User::class | 'entitleable_type' => User::class | ||||
] | ] | ||||
); | ); | ||||
} | } | ||||
} | } | ||||
return $user; | return $user; | ||||
Show All 37 Lines | public function assignSku(Sku $sku, int $count = 1): User | ||||
$wallet = $this->wallet(); | $wallet = $this->wallet(); | ||||
$exists = $this->entitlements()->where('sku_id', $sku->id)->count(); | $exists = $this->entitlements()->where('sku_id', $sku->id)->count(); | ||||
while ($count > 0) { | while ($count > 0) { | ||||
\App\Entitlement::create([ | \App\Entitlement::create([ | ||||
'wallet_id' => $wallet->id, | 'wallet_id' => $wallet->id, | ||||
'sku_id' => $sku->id, | 'sku_id' => $sku->id, | ||||
'cost' => $exists >= $sku->units_free ? $sku->cost : 0, | 'cost' => $exists >= $sku->units_free ? $sku->cost : 0, | ||||
'fee' => $exists >= $sku->units_free ? $sku->fee : 0, | |||||
'entitleable_id' => $this->id, | 'entitleable_id' => $this->id, | ||||
'entitleable_type' => User::class | 'entitleable_type' => User::class | ||||
]); | ]); | ||||
$exists++; | $exists++; | ||||
$count--; | $count--; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 560 Lines • Show Last 20 Lines |