Пример #1
0
 /**
  *
  *  Store a newly created resource in storage.
  *
  * @param HeaderCreateFormRequest $request
  * @param string                  $rp_id
  *
  * @return mixed
  */
 public function store(HeaderCreateFormRequest $request, $rp_id)
 {
     if ($this->clientRepository->createClient($request)) {
         $client = $this->clientRepository->getModel();
         if ($this->repository->storeHeader($request, $client)) {
             $header = $this->repository->getModel();
             if ($header->warranty && $request->get('number_de')) {
                 if ($this->headerDeRepository->getHeaderById($request->get('number_de'))) {
                     $de = $this->headerDeRepository->getModel();
                     if ($this->repository->setCoverage($de)) {
                         goto Store;
                     } else {
                         return redirect()->back()->with(['error_header' => 'La Garantía no pudo ser asociada'])->withInput()->withErrors($this->repository->getErrors());
                     }
                 }
             }
             Store:
             return redirect()->route('au.vh.lists', ['rp_id' => $rp_id, 'header_id' => encode($header->id)])->with(['success_header' => 'La cotización fue registrada con éxito.']);
         }
     }
     return redirect()->back()->with(['error_header' => 'El Cliente no pudo ser registrado'])->withInput()->withErrors($this->repository->getErrors());
 }