/** * @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'); }); }
/** * @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; } }