Exemple #1
0
 /**
  * funcion guarda detalle ajax
  *
  * @param \Illuminate\Http\Request $request
  *
  * @return int
  */
 public function storeInsured(Request $request, $rp_id, $header_id)
 {
     $prodParam = ProductParameter::where('ad_retailer_product_id', decode($rp_id))->where('slug', 'GE')->first();
     $this->detailRepository->getDetailByHeader(decode($header_id));
     $detail = $this->detailRepository->getModel();
     if (count($detail) < $prodParam->detail || $request->get('id_detail') != '') {
         $this->detailRepository->createDetail($request);
     }
     if ($this->repository->getHeaderById(decode($header_id))) {
         $header = $this->repository->getModel();
         $facultative = $this->facultativeRepository->roleFacultative(decode($rp_id), decode($header_id), $header);
         if ($facultative['facultative'] === 0) {
             if ($header->facultative === true) {
                 $this->repository->deleteFacultativeHeader(decode($header_id));
             }
         } else {
             $this->facultativeRepository->storeFacultative($facultative, $request->user());
             foreach ($header->details as $key => $value) {
                 if (!in_array($value->id, $this->facultativeRepository->idsFactultative)) {
                     $this->detailRepository->delFacultativeById($value->id);
                 }
             }
             $obs = $this->facultativeRepository->returnObservation();
             $this->repository->updateFacultativeHeader(true, $obs);
         }
     }
 }