Example #1
0
 public static function getMinWithdraw(User $user)
 {
     $min = 50;
     $coupon = CouponMapper::byCode('ADD25USD');
     if ($coupon) {
         if (CouponMapper::usedByUser($user, $coupon)) {
             if (!CouponMapper::paidByUser($user, $coupon)) {
                 $min = $min + 25;
             }
         }
     }
     return $min;
 }
Example #2
0
 public function coupon(Request $request)
 {
     $rules = ['coupon' => 'required|min:3|max:25'];
     $this->validate($request, $rules);
     $couponCode = $request->get('coupon');
     $coupon = CouponMapper::byCode($couponCode);
     if (!$coupon) {
         return Redirect::back()->withErrors(['coupon' => 'This coupon is not valid'])->withInput(['coupon' => $couponCode]);
     }
     if (CouponMapper::usedByUser($this->user, $coupon)) {
         return Redirect::back()->withErrors(['coupon' => 'You already have used this coupon'])->withInput(['coupon' => $couponCode]);
     }
     switch ($coupon->code) {
         case 'ADD25USD':
             CouponMapper::track($this->user, $coupon);
             $this->user->balance = $this->user->balance + 25;
             $this->user->save();
             NotificationMapper::coupon($this->user, $coupon);
             LogMapper::log('coupon', $coupon->code, $this->user->id);
             return Redirect::back()->with(['success' => $coupon->title]);
             break;
     }
     return Redirect::back()->withErrors(['coupon' => 'Coupon is not ready yet']);
 }