/**
  * Store the Breeder's product
  * AJAX
  *
  * @param  Request $request
  * @return JSON
  */
 public function storeProduct(Request $request)
 {
     $breeder = $this->user->userable;
     if ($request->ajax()) {
         $product = new Product();
         $productDetail = [];
         // Create default primary picture for product
         if ($request->type == 'boar') {
             $image = Image::firstOrCreate(['name' => 'boar_default.jpg']);
         } else {
             if ($request->type == 'sow') {
                 $image = Image::firstOrCreate(['name' => 'sow_default.jpg']);
             } else {
                 if ($request->type == 'gilt') {
                     $image = Image::firstOrCreate(['name' => 'gilt_default.jpg']);
                 } else {
                     $image = Image::firstOrCreate(['name' => 'semen_default.jpg']);
                 }
             }
         }
         $product->farm_from_id = $request->farm_from_id;
         $product->primary_img_id = $image->id;
         $product->name = $request->name;
         $product->type = $request->type;
         $product->birthdate = date_format(date_create($request->birthdate), 'Y-n-j');
         $product->breed_id = $this->findOrCreateBreed(strtolower($request->breed));
         $product->price = $request->price;
         $product->quantity = $request->quantity;
         $product->adg = $request->adg;
         $product->fcr = $request->fcr;
         $product->backfat_thickness = $request->backfat_thickness;
         $product->other_details = $request->other_details;
         $breeder->products()->save($product);
         $productDetail['product_id'] = $product->id;
         $productDetail['name'] = $product->name;
         $productDetail['type'] = ucfirst($request->type);
         $productDetail['breed'] = $request->breed;
         return collect($productDetail)->toJson();
     }
 }