public function massUpdate(Request $request, Product $product)
 {
     $variantsData = $request->input('variants');
     $variants = $this->variantManager->getVariantRepository()->whereProduct($product)->findAll();
     foreach ($variants as $variant) {
         if (isset($variantsData[$variant->id])) {
             $variantData = $variantsData[$variant->id];
             $this->variantManager->getVariantRepository()->update($variant, ['stock' => $variantData['stock'] !== "" ? $variantData['stock'] : null, 'price' => $variantData['price'] !== "" ? $variantData['price'] : null]);
         }
     }
     return $this->success('update');
 }
 public function show(Product $product, VariantManager $variantManager, AttributeManager $attributeManager)
 {
     if (!$product->isActive()) {
         abort(404);
     }
     $seller = $product->getSeller();
     $attributes = $attributeManager->getAttributesForProduct($product);
     $variants = $variantManager->getVariantRepository()->whereProduct($product)->with('attributeOptions')->findAll();
     // for stock calculation
     $product->setRelation('variants', $variants);
     return view('product::__front.products.show', compact('seller', 'product', 'attributes', 'variants'));
 }