/**
  * 商品規格を登録
  *
  * @param $ProductClasses 登録される商品規格
  */
 private function insertProductClass($app, $Product, $ProductClasses)
 {
     $BaseInfo = $app['eccube.repository.base_info']->get();
     // 選択された商品を登録
     foreach ($ProductClasses as $ProductClass) {
         $ProductClass->setDelFlg(Constant::DISABLED);
         $ProductClass->setProduct($Product);
         $app['orm.em']->persist($ProductClass);
         // 在庫情報を作成
         $ProductStock = new \Eccube\Entity\ProductStock();
         $ProductClass->setProductStock($ProductStock);
         $ProductStock->setProductClass($ProductClass);
         if (!$ProductClass->getStockUnlimited()) {
             $ProductStock->setStock($ProductClass->getStock());
         } else {
             // 在庫無制限時はnullを設定
             $ProductStock->setStock(null);
         }
         $app['orm.em']->persist($ProductStock);
     }
     // 商品税率が設定されている場合、商品税率をセット
     if ($BaseInfo->getOptionProductTaxRule() == Constant::ENABLED) {
         // 初期設定の税設定.
         $TaxRule = $app['eccube.repository.tax_rule']->find(\Eccube\Entity\TaxRule::DEFAULT_TAX_RULE_ID);
         // 初期税率設定の計算方法を設定する
         $CalcRule = $TaxRule->getCalcRule();
         foreach ($ProductClasses as $ProductClass) {
             if ($ProductClass->getTaxRate()) {
                 $TaxRule = new \Eccube\Entity\TaxRule();
                 $TaxRule->setProduct($Product);
                 $TaxRule->setProductClass($ProductClass);
                 $TaxRule->setCalcRule($CalcRule);
                 $TaxRule->setTaxRate($ProductClass->getTaxRate());
                 $TaxRule->setTaxAdjust(0);
                 $TaxRule->setApplyDate(new \DateTime());
                 $TaxRule->setDelFlg(Constant::DISABLED);
                 $app['orm.em']->persist($TaxRule);
             }
         }
     }
 }