コード例 #1
0
 /**
  * Store a newly created Product in storage.
  *
  * @param CreateProductRequest $request
  *
  * @return Response
  */
 public function store(CreateProductRequest $request)
 {
     $input = $request->all();
     $product = $this->productRepository->create($input);
     Flash::success('Product saved successfully.');
     return redirect()->back();
 }
コード例 #2
0
 /**
  * Execute the command.
  *
  * @param ProductRepository $products
  * @return Product
  */
 public function handle(ProductRepository $products)
 {
     $product = $products->findById($this->id)->fill($this->getProperties());
     $products->save($product);
     $this->saveAttributes($product);
     return $product;
 }
コード例 #3
0
 /**
  * Handle the command.
  *
  * @param  UpdateProduct $command
  * @return void
  */
 public function handle(UpdateProduct $command)
 {
     $this->productRepository->update($command->productId, $command->input);
     $modelNumber = $this->productRepository->findLastSavedModelNumber();
     $imageCount = $this->imageRepository->count() + 1;
     $this->imageRepository->uploadImages($command->input['images'], $modelNumber, $command->productId, $imageCount);
 }
コード例 #4
0
 /**
  * Add product to cart
  *
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function add(Request $request, ProductRepository $productRepository)
 {
     if ($request->ajax()) {
         $productId = $request->input('product_id');
         $request->session()->push('products', $productId);
         $productName = $productRepository->findById($productId)->name;
         $numberOfProducts = count($request->session()->get('products'));
         return response()->json([$productId, $numberOfProducts, $productName]);
     }
 }
コード例 #5
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param int $id
  * @param ProductRepository $products
  * @param SupplierRepository $suppliers
  * @param VatRateRepository $vat_rates
  * @return Response
  */
 public function edit($id, ProductRepository $products, SupplierRepository $suppliers, VatRateRepository $vat_rates)
 {
     try {
         $product = $products->findById($id);
         return view('products.edit')->with('model', $product)->with('suppliers', $suppliers->all())->with('vat_rates', $vat_rates->all());
     } catch (ModelNotFoundException $e) {
         flash() - warning(trans('products.not_found'));
         return redirect()->route('product.index');
     }
 }
コード例 #6
0
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     $tu = $this->userRepository->getTotal();
     $tp = $this->productRepository->getTotal();
     $tc = $this->categoryRepository->getTotal();
     $tt = $this->tagRepository->getTotal();
     $op = Option::count();
     $pm = $this->paymentRepository->getTotal();
     return View('admin.dashboard.index')->with(compact('tu', 'tp', 'tc', 'tt', 'op', 'pm'));
 }
コード例 #7
0
 /**
  * Put a product visible or invisible
  *
  * @param $id
  * @param Request $request
  * @return \Illuminate\Http\JsonResponse
  */
 public function update($id, Request $request)
 {
     $product = $this->productRepository->updateVisibility($id, $request->get('visible'));
     //        if($request->get('visible')) {
     //            $product = $this->productRepository->updateVisibility($id, true);
     //        } else {
     //            $product = $this->productRepository->updateVisibility($id, false);
     //        }
     return response()->json($product, 200);
 }
コード例 #8
0
 /**
  * Handle the command.
  *
  * @param  SaveOrderCommand  $command
  * @return void
  */
 public function handle(SaveOrderCommand $command)
 {
     $this->orderRepository->save($command->input);
     $lastOrderId = $this->orderRepository->findLastSavedId();
     foreach ($command->orderItems as $id => $amount) {
         $orderItemName = $this->productRepository->findById($id)->name;
         $this->orderItemRepository->save($orderItemName, $amount, $lastOrderId);
     }
     $order = $this->orderRepository->findById($lastOrderId);
     Mail::send('emails.orderinfo', ['order' => $order], function ($m) use($order) {
         $m->to($order->email, $order->billing_name)->subject('Your Order Information');
     });
 }
 public function actionCategory($categoryId)
 {
     $category = ProductCategory::findOne($categoryId);
     if (empty($category)) {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
     if ($this->isAjax()) {
         $model = new Recipe();
         $model->productCategoryId = $categoryId;
         return $this->renderPartial('@app/views/partials/_category-ingredients-dropdown-list', ['model' => $model, 'form' => ActiveForm::begin()]);
     } else {
         $params = Yii::$app->request->queryParams;
         $params['categoryId'] = $categoryId;
         $searchModel = new ProductRepository();
         $dataProvider = $searchModel->search($params);
         return $this->render(['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'categoryName' => $category->name]);
     }
 }
コード例 #10
0
 public function approve($id)
 {
     $product = $this->productRepository->findWithoutFail($id);
     if (empty($product)) {
         Flash::error('Tracking not found');
         return back();
     }
     $this->productRepository->update(["state" => "Approved"], $id);
     Flash::success('Product approved!');
     return back();
 }
コード例 #11
0
 /**
  * Remove multiple products from storage.
  * DELETE /products/{id}
  *
  * @internal param int $chk_activity (array of ids)
  * @param Request $request
  * @return Response
  */
 public function option_multiple(Request $request)
 {
     $products_id = $request->input('chk_product');
     $action = $request->input('select_action');
     foreach ($products_id as $id) {
         if ($action == "active") {
             $this->productRepository->update_state($id, 1);
         } elseif ($action == "inactive") {
             $this->productRepository->update_state($id, 0);
         }
         /*elseif($action == "delete")
           $this->productRepository->destroy($id);*/
     }
     return Redirect()->route('products');
 }
コード例 #12
0
 /**
  * @param $productId
  * @return array
  */
 private function getPurchasedOptions($productId)
 {
     $product = $this->productRepository->findById($productId);
     $option = $product->option_id ? Option::findOrFail($product->option_id) : null;
     $items = [];
     $total = 0;
     $totalDollar = 0;
     if ($option) {
         $optionItem = ['name' => $option->name, 'price' => $option->price, 'priceDollar' => number_format($option->price / 540, 2)];
         if ($product->option_id == 4) {
             $priceTag = $product->tags->count() ? $product->tags->first()->price : 0;
             $optionItem['price'] = $priceTag;
             $optionItem['priceDollar'] = number_format($option->price / 530, 2);
             $optionItem['name'] .= $product->tags->count() ? ' Etiqueta: ' . $product->tags->first()->name : 'No escogio etiqueta';
         }
         $items[] = $optionItem;
     }
     foreach ($items as $item) {
         $total += $item['price'];
         $totalDollar += $item['priceDollar'];
     }
     return array($product, $items, $total, $totalDollar);
 }
コード例 #13
0
 public function index($categoryId, ProductRepository $productRepository, CategoryRepository $categoryRepository)
 {
     $categoryName = $categoryRepository->findById($categoryId)->name;
     $products = $productRepository->findByCategory($categoryId);
     return view('categories.products.index', compact('products', 'categoryName'));
 }
コード例 #14
0
 public function homePage(ProductRepository $products, CategoryRepository $categories)
 {
     return view('admin.main')->with('products', $products->paginate())->with('cats', $categories->all(['name']))->with('homegrids', HomeGrid::all());
 }
コード例 #15
0
 /**
  * Execute the command.
  *
  * @param ProductRepository $products
  * @return Product
  */
 public function handle(ProductRepository $products)
 {
     $product = Product::register($this->product_number, $this->description, $this->product_type_id);
     $products->save($product);
     return $product;
 }
コード例 #16
0
 public function index(ProductRepository $productRepository)
 {
     $products = $productRepository->all();
     return view('pages.index', compact('products'));
 }
コード例 #17
0
 public function show()
 {
     $designer = app('post');
     $products = $this->products->getProductsByDesigner($designer);
     return view('pages.designer', ['designer' => $designer, 'products' => $products]);
 }
コード例 #18
0
 public function show($product)
 {
     $product = $this->products->findByName($product);
     $product = $this->prepareProductForDisplay($product);
     return view('pages.products.product', ['product' => $product]);
 }
コード例 #19
0
 /**
  * Execute the command.
  *
  * @param ProductRepository $products
  * @return Product
  */
 public function handle(ProductRepository $products)
 {
     $product = $products->findById($this->id);
     $products->destroy($product);
     return $product;
 }
コード例 #20
0
 public function showProductImages($id)
 {
     //dd($id);
     $product = $this->productRepository->findById($id);
     return view('products.images', compact('product'));
 }
コード例 #21
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     $this->validate($request, ['name' => 'required|max:255', 'quantity' => 'required', 'item_price' => 'required']);
     $this->products->update($id, $request->input('name'), $request->input('quantity'), $request->input('item_price'));
     return redirect('/');
 }
コード例 #22
0
 /**
  * Execute the command.
  *
  * @param ProductRepository $products
  * @return Paginator
  */
 public function handle(ProductRepository $products)
 {
     return $products->query($this->query);
 }
コード例 #23
0
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function Home()
 {
     //$featured = $this->productRepository->getFeaturedBanner();
     $products = $this->productRepository->getFeatured();
     return view('pages.index')->with(compact('products'));
 }
コード例 #24
0
 /**
  * Handle the command.
  *
  * @internal param ImportFromSpreadsheet $command
  */
 public function handle()
 {
     $this->categoryRepository->saveFromList($this->excelImportRepository->getColumn('category'));
     $this->manufacturerRepository->saveFromList($this->excelImportRepository->getColumn('manufacturer'));
     $this->productRepository->saveFromList($this->excelImportRepository->getAllColumns());
 }