示例#1
0
 public function storeSubProduct(HeaderSpCreateFormRequest $request, $rp_id, $header_id, $sp_id)
 {
     $beneficiaries = $request->get('beneficiaries');
     $participation = 0;
     foreach ($beneficiaries as $beneficiary) {
         $participation += $beneficiary['participation'];
     }
     if ($participation == 100) {
         $success_header = ['success_header' => 'El Sub-Producto fue asociado correctamente'];
         if ($this->headerDeRepository->getHeaderById(decode($header_id)) && $this->retailerProductRepository->getRetailerProductById(decode($sp_id))) {
             $headerDe = $this->headerDeRepository->getModel();
             $detailDe = $headerDe->details()->where('id', decode($request->get('detail_id')))->first();
             $retailerProduct = $this->retailerProductRepository->getModel();
             $request['detail'] = $detailDe;
             $request['policies'] = $this->policyRepository->getPolicyByProduct(decode($sp_id));
             $request['plans'] = $this->planRepository->getPlansByProduct(decode($sp_id));
             if ($this->repository->storeSubProduct($request, $retailerProduct) && $this->accountRepository->storeAccount($request)) {
                 if ($this->repository->destroyClientCacheSP(decode($header_id), decode($request->get('detail_id')))) {
                     return redirect()->route('de.vi.sp.create', ['rp_id' => $rp_id, 'header_id' => $header_id, 'sp_id' => $sp_id])->with($success_header);
                 } else {
                     return redirect()->route('de.issuance', ['rp_id' => $rp_id, 'header_id' => $header_id])->with($success_header);
                 }
             }
         }
     } else {
         return redirect()->back()->with(['error_participation' => 'La suma de porcentajes de Beneficiarios del Titular debe ser del 100%'])->withInput();
     }
     return redirect()->back()->with(['error_header' => 'El Sub-Producto no puede ser asociado al Titular'])->withInput()->withErrors($this->repository->getErrors());
 }
示例#2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     return $this->repository->storeAccount($request);
 }