/**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $webinars = Webinar::all();
     $faker = Faker\Factory::create();
     foreach ($webinars as $webinar) {
         for ($i = 0; $i < 5; $i++) {
             QA::create(['webinar_id' => $webinar->id, 'subscriber_id' => rand(1, 9), 'panelist_id' => rand(1, 3), 'question' => $faker->realText($faker->numberBetween(60, 80)), 'answer' => $faker->realText($faker->numberBetween(90, 120)), 'public' => 1]);
         }
     }
 }
 public function postBestellen($slug, Order $order, User $u, Request $request, Bedrijfsgegevens $bedrijfsgegevens, Product $p, Webinar $webinar)
 {
     // $webinardatum = Carbon::create(2015, 10, 24, '12', '00', '00', 'Europe/Amsterdam');
     // if(Carbon::now() > $webinardatum) {
     $product = $p->where('slug', $slug)->first();
     $user = $u->where('email', '=', $request->get('email'))->first();
     // $dag = Carbon::now('Europe/Amsterdam')->format('jnyGis');
     // $order_id = $dag.'-'.$user->id;
     // dd(route('webinar.aanbod.bedankt', array('order_id='.$order_id,'pakket_id='.$request->get('pakket_id'))));
     // dd($product);
     if ($user == null) {
         $user = new $u(['voornaam' => $request->get('voornaam'), 'achternaam' => $request->get('achternaam'), 'email' => $request->get('email')]);
         $user->save();
     }
     if ($user) {
         // Log de nieuwe gebruiker in
         Auth::loginUsingId($user->id);
         // maak order_id
         $dag = Carbon::now('Europe/Amsterdam')->format('jnyGis');
         $order_id = $dag . '-' . $user->id;
         // Maak betaling aan Mollie klaar
         $gateway = Omnipay::gateway('Mollie');
         $gateway->setApiKey('test_N3BbdyKoizxGlYlbPqjUGE3eMpIZJC');
         $response = $gateway->purchase(['amount' => $request->get('bedrag') * 1.21, 'issuer' => $request->get('issuer'), 'description' => $request->get('omschrijving'), 'returnUrl' => route('test.bestel.bedankt', array('order_id=' . $order_id)), 'notifyUrl' => route('test.webhook'), 'paymentMethod' => $request->get('paymentmethod'), 'metadata' => array('order_id' => $order_id, 'product_id' => $product->id, 'cursus_id' => $product->cursus_id, 'plan_id' => $product->plan_id)])->send();
         // dd($response);
         if ($response->isSuccessful()) {
             // payment successful - update database
             return response()->json(['success' => false, 'errors' => $response]);
         } elseif ($response->isRedirect()) {
             // redirect to offsite payment gateway
             // Maak order die aan user zit
             $ref = $response->getTransactionReference();
             $order = new $order(['transaction_id' => $ref, 'order_id' => $order_id, 'user_id' => $user->id, 'cursus_id' => $product->cursus_id, 'bedrag' => $request->get('bedrag') * 1.21, 'betaalmethode' => $request->get('paymentmethod')]);
             $order->save();
             $user->update(['voornaam' => $request->get('voornaam'), 'achternaam' => $request->get('achternaam')]);
             $input = array('CompanyName' => $request->get('bedrijfsnaam'), 'Sex' => $request->get('aanhef'), 'Initials' => $request->get('voornaam'), 'SurName' => $request->get('achternaam'), 'Address' => $request->get('adres'), 'ZipCode' => $request->get('postcode'), 'City' => $request->get('woonplaats'), 'Country' => $request->get('land'), 'EmailAddress' => $request->get('email'), 'Mailings' => 'yes', 'PhoneNumber' => $request->get('telefoonnummer'), 'MobileNumber' => $request->get('mobielnummer'), 'InvoiceSex' => '', 'InvoiceMethod' => '0');
             $this->createDebitor($input, $request->get('email'));
             $bedrijfsgegevens = new $bedrijfsgegevens(['bedrijfsnaam' => $request->get('bedrijfsnaam'), 'aanhef' => $request->get('aanhef'), 'adres' => $request->get('adres'), 'postcode' => $request->get('postcode'), 'mobiel' => $request->get('mobielnummer'), 'telefoonnummer' => $request->get('telefoonnummer'), 'woonplaats' => $request->get('woonplaats'), 'land' => $request->get('land'), 'user_id' => $user->id]);
             $bedrijfsgegevens->save();
             return redirect($response->getRedirectUrl());
         } else {
             // display error message
             return response()->json(['success' => false, 'errors' => $response->getMessage()]);
         }
     } else {
         $webinars = $webinar->all();
         return view('testomgeving.webinar.index', compact('webinars'))->with(['message' => 'Er is iets fout gegaan, neem a.u.b. contact op met jeroen@digitusmarketing.nl']);
     }
 }