HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/ste.komma.pro/app/Forms/TrainingController.php
<?php

namespace App\Forms;

use App\Base\Controller;
use App\C4\C4;
use App\C4\Requests\PutSignUp;
use App\Http\Requests\TrainingSubscribeRequest;
use App\Trainings\TrainingService;

final class TrainingController extends Controller
{
    /**
     * @var FormService
     */
    private $formService;

    /**
     * ContactController constructor.
     * @param FormService $formService
     */
    public function __construct(FormService $formService)
    {
        parent::__construct();

        $this->formService = $formService;
        $this->formService->setOrigin('training');
    }

    /**
     * Store the request and send it by e-mail
     * Note: Validation is done in the request itself
     *
     * @param  TrainingSubscribeRequest  $request
     * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
     * @throws \Illuminate\Contracts\Container\BindingResolutionException
     */
    public function process(TrainingSubscribeRequest $request)
    {
        // Store request in the database
        $this->formService->storeRequest($request);

        $trainingService = app(TrainingService::class);
        $training = $trainingService->getTrainingByC4Id($request->get('training'));


        $c4Request = app()->make(PutSignUp::class);
        $c4Request->fill($request->except('_token', 'training'));
        $c4Request->trainingId = $training->c4_id;

        $c4Client = app()->make(C4::class);
        $c4Client->putSignUp($c4Request);

        // Remove token from request (this creates and array)
//        Mail::send(new TrainingSubscribeMail($request->except('_token', 'training'), $training));

        // Return json response with
        return redirect(localized_route('training.subscribe.success'));
    }
}