/**
  * Store a newly created Products in storage.
  * @param CreateProductsRequest $request
  * @return Response
  */
 public function store(CreateProductsRequest $request)
 {
     $input = $request->all();
     $products = $this->productsRepository->create($input);
     Flash::success('Products saved successfully.');
     return redirect(route('products.index'));
 }
 public function update($id, CreateProductsRequest $request)
 {
     $updProd = AGmodel::findOrFail($id);
     $updProd->update($request->all());
     return redirect('homepage');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param CreateProductsRequest $request
  * @return Response
  */
 public function putStoreproduct(CreateProductsRequest $request)
 {
     $bank = Bank::findOrFail($request->get('bank_id'));
     $products = $bank->product;
     $col = 0;
     $cap = 0;
     foreach ($products as $product) {
         if ($product->type == 'Colocación') {
             $col++;
         } elseif ($product->type == 'Captación') {
             $cap++;
         }
     }
     if ($col == 1 & $request->get('type') == 'Colocación') {
         flash()->error('No se pudo agregar el nuevo producto debido a que ya existe la categoria de Colocaión.');
         return view('admin.showproduct', compact('bank'));
     } elseif ($cap == 1 & $request->get('type') == 'Captación') {
         flash()->error('No se pudo agregar el nuevo producto debido a que ya existe categoria de Captación.');
         return view('admin.showproduct', compact('bank'));
     } elseif ($col + $cap >= 2) {
         flash()->error('No se pudo agregar el nuevo producto debido a que ya existen las dos categorías disponibles.');
         return view('admin.showproduct', compact('bank'));
     } else {
         $subtypes = array();
         $badera = 0;
         if ($request->get('type') == 'Captación') {
             if ($request->get('subtype_ids') != null) {
                 $ids = $request->get('subtype_ids');
                 for ($i = 0; $i < count($ids); $i++) {
                     $subtype = Subtype::findOrFail($ids[$i]);
                     if ($subtype->status == '1') {
                         $subtypes[] = $subtype->id;
                     } else {
                         $badera++;
                     }
                 }
             }
         } elseif ($request->get('type') == 'Colocación') {
             if ($request->get('subtype_ids') != null) {
                 $ids = $request->get('subtype_ids');
                 for ($i = 0; $i < count($ids); $i++) {
                     $subtype = Subtype::findOrFail($ids[$i]);
                     if ($subtype->status == '2') {
                         $subtypes[] = $subtype->id;
                     } else {
                         $badera++;
                     }
                 }
             }
         }
         if ($badera != 0) {
             flash()->warning('No se pudo agregar el nuevo producto debido a que algunos de sus subtipos no pertenece a esta categoría');
             $bank = Bank::findOrFail($request->get('bank_id'));
             $subtypes = Subtype::lists('description', 'id');
             return view('admin.createproduct', compact('bank', 'subtypes'));
         } else {
             $product = new Product();
             $product->type = $request->get('type');
             $etc = $bank->product()->save($product);
             $etc->subtype()->sync($subtypes);
             flash()->success('Su producto se ha creado con éxito.');
             $bank = Bank::findOrFail($request->get('bank_id'));
             return view('admin.showproduct', compact('bank'));
         }
     }
 }