validateRepCreate($request))) { $response->header->status = RequestStatusCode::R_400; $this->createInvalidCreateResponse($request, $response, $val); return; } $rep = $this->createRepFromRequest($request); $this->createModel($request->header->account, $rep, SalesRepMapper::class, 'rep', $request->getOrigin()); $this->createStandardCreateResponse($request, $response, $rep); } /** * Validate cost center create request * * @param RequestAbstract $request Request * * @return array * * @since 1.0.0 */ private function validateRepCreate(RequestAbstract $request) : array { $val = []; if (($val['code'] = !$request->hasData('code')) ) { return $val; } return []; } /** * Method to create cost center from request. * * @param RequestAbstract $request Request * * @return SalesRep * * @since 1.0.0 */ private function createRepFromRequest(RequestAbstract $request) : SalesRep { $rep = new SalesRep(); $rep->code = $request->getDataString('code') ?? ''; $rep->main = $request->hasData('main') ? new NullAccount((int) $request->getData('main')) : null; return $rep; } }