public function newTaxRule() { $TaxRule = new \Eccube\Entity\TaxRule(); $CalcRule = $this->getEntityManager()->getRepository('Eccube\\Entity\\Master\\Taxrule')->find(1); $TaxRule->setCalcRule($CalcRule); $TaxRule->setTaxAdjust(0); $TaxRule->setDelFlg(0); return $TaxRule; }
/** * 商品規格を登録 * * @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); } } } }