Пример #1
0
 /**
  * @param Request $request
  *
  * @throws \Exception
  */
 public function generate(Request $request)
 {
     $this->validate($request, ['price' => 'required|integer', 'number' => 'required|integer']);
     $rows = $request->number;
     $price = $request->price;
     $data = [];
     $date = Carbon::today()->toFormattedDateString();
     for ($i = 1; $i <= $rows; $i++) {
         $code = $this->cashcode->generate();
         $data = array_add($data, $i, $code);
         $input = array_add($request->only('price'), 'code', $code);
         CashCode::create($input);
     }
     $data = CashCode::whereraw('price = ?', [$price])->get();
     Excel::create("CashCard Codes for {$price} == {$date}", function ($excel) use($data) {
         $excel->sheet('CashCard Codes One', function ($sheet) use($data) {
             $sheet->loadView('partials.code_table')->withCodes($data);
         })->download('csv');
     });
 }
Пример #2
0
 /**
  * @param $code
  * @param $trip_id
  * @param $passengers
  *
  * @return bool
  */
 public function checkIfCashCardCodeIsValid($code, $trip_id, $passengers)
 {
     $trip = Trip::find($trip_id);
     $card = CashCode::whereraw('code = ?', [$code])->first();
     if ($card) {
         $price = $card->price;
         $card_id = $card->id;
         if ($price == $trip->fare * $passengers) {
             Session::put('card_id', $card_id);
             $this->useCard($card_id);
             return true;
         } elseif ($price > $trip->fare * $passengers) {
             Session::put('card_id', $card_id);
             $this->useCard($card_id);
             return true;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }