/**
* 受注明細情報を作成
*
* @param Product $Product
* @param ProductClass $ProductClass
* @param $quantity
* @return \Eccube\Entity\OrderDetail
*/
public function getNewOrderDetail(Product $Product, ProductClass $ProductClass, $quantity)
{
$OrderDetail = new OrderDetail();
$TaxRule = $this->app['eccube.repository.tax_rule']->getByRule($Product, $ProductClass);
$OrderDetail->setProduct($Product)->setProductClass($ProductClass)->setProductName($Product->getName())->setProductCode($ProductClass->getCode())->setPrice($ProductClass->getPrice02())->setQuantity($quantity)->setTaxRule($TaxRule->getCalcRule()->getId())->setTaxRate($TaxRule->getTaxRate());
$ClassCategory1 = $ProductClass->getClassCategory1();
if (!is_null($ClassCategory1)) {
$OrderDetail->setClasscategoryName1($ClassCategory1->getName());
$OrderDetail->setClassName1($ClassCategory1->getClassName()->getName());
}
$ClassCategory2 = $ProductClass->getClassCategory2();
if (!is_null($ClassCategory2)) {
$OrderDetail->setClasscategoryName2($ClassCategory2->getName());
$OrderDetail->setClassName2($ClassCategory2->getClassName()->getName());
}
$this->em->persist($OrderDetail);
return $OrderDetail;
}