Domain\Billet\BilletAssignorService::updateOrCreate PHP Method

updateOrCreate() public method

Update or create Billet Assignor.
public updateOrCreate ( StoreRequest $request ) : BilletAssignor
$request Domain\Billet\Http\Requests\BilletAssignor\StoreRequest
return BilletAssignor
    public function updateOrCreate(Request $request)
    {
        $assignor = $this->repo->first();
        if (is_null($assignor)) {
            $assignor = $this->repo->store($request->all());
        } else {
            $assignor = $this->repo->update($request->all(), $assignor->id);
        }
        if ($request->hasFile('logo') && !$request->file('logo')->move(public_path(), 'logo.jpg')) {
            return false;
        }
        return $assignor;
    }

Usage Example

 /**
  * Store/Update Assignor.
  *
  * @param  StoreRequest $request
  * @param  Service      $service
  * @return Domain\Billet\BilletAssignor|Illuminate\Http\Response
  */
 public function store(StoreRequest $request, Service $service)
 {
     $assignor = $service->updateOrCreate($request);
     if (!$assignor) {
         return response()->json(['status' => false], 422);
     }
     return response()->json($assignor);
 }
BilletAssignorService