コード例 #1
0
 public function createTaxRule($tax_rate = 8, $apply_date = null)
 {
     $TaxRule = new TaxRule();
     $CalcRule = $this->app['orm.em']->getRepository('Eccube\\Entity\\Master\\Taxrule')->find(1);
     $Member = $this->app['eccube.repository.member']->find(2);
     if (is_null($apply_date)) {
         $apply_date = new \DateTime();
     }
     $TaxRule->setTaxRate($tax_rate)->setApplyDate($apply_date)->setCalcRule($CalcRule)->setTaxAdjust(0)->setCreator($Member)->setDelFlg(0);
     $this->app['orm.em']->persist($TaxRule);
     $this->app['orm.em']->flush();
     return $TaxRule;
 }
コード例 #2
0
 /**
  * 商品規格を登録
  *
  * @param Application     $app
  * @param Product         $Product
  * @param ArrayCollection $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 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(TaxRule::DEFAULT_TAX_RULE_ID);
         // 初期税率設定の計算方法を設定する
         $CalcRule = $TaxRule->getCalcRule();
         foreach ($ProductClasses as $ProductClass) {
             if ($ProductClass && is_numeric($taxRate = $ProductClass->getTaxRate())) {
                 $TaxRule = new TaxRule();
                 $TaxRule->setProduct($Product);
                 $TaxRule->setProductClass($ProductClass);
                 $TaxRule->setCalcRule($CalcRule);
                 $TaxRule->setTaxRate($taxRate);
                 $TaxRule->setTaxAdjust(0);
                 $TaxRule->setApplyDate(new \DateTime());
                 $TaxRule->setDelFlg(Constant::DISABLED);
                 $app['orm.em']->persist($TaxRule);
             }
         }
     }
 }