/** * @param StoreProductRequest $request * @return \Illuminate\Http\JsonResponse */ public function storeNewProduct(StoreProductRequest $request) { $formData = $request->all(); $product = Product::create(['product_name' => $formData['product_name'], 'product_price' => $formData['product_price'] * 100, 'long_description' => $formData['long_description'], 'short_description' => $formData['short_description'], 'meta_description' => $formData['meta_description'], 'category_id' => $formData['category_id'], 'is_active' => $formData['is_active']]); $this->addToBillys($product); return response()->json(['success' => true, 'Message' => 'Your product was created.']); }
public function update(StoreProductRequest $request, $productId) { $input = $request->all(); unset($input['picture']); $destinationPath = public_path('uploads'); $fileName = uniqid(); if ($request->hasFile('picture')) { if ($request->file('picture')->isValid()) { $request->file('picture')->move($destinationPath, $fileName); } } $input['picture'] = url('uploads') . '/' . $fileName; $input['slug'] = str_replace(' ', '_', strtolower($input['name'])); $product = Product::where('id', $productId)->update($input); return $this->createResponse($product); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(StoreProductRequest $request, $id) { $product = Product::find($id)->fill($request->all()); $product->type = Product::find($id)->type; // validate request further according to type switch ($request->type) { case 'MOVIE': case 'SERIES': case 'ANIME': case 'VIDEO': $valRequest = new UpdateVideoRequest(); $this->validate($request, $valRequest->rules()); $info = Video::find($product->id)->fill($request->video); break; case 'GAME': $valRequest = new UpdateGameRequest(); $this->validate($request, $valRequest->rules()); $info = Game::find($product->id)->fill($request->video); break; } if (in_array($request->type, ['MOVIE', 'SERIES', 'ANIME', 'VIDEO'])) { $this->UpdateVideo($request, $product, $info); } else { if ($request->type == "GAME") { $this->UpdateGame($request, $product, $info); } } // flash message session()->flash('flash_message', 'Product updated successfully.'); return redirect()->route('home'); }