| @@ 132-160 (lines=29) @@ | ||
| 129 | * @param \Eccube\Entity\ClassName $ClassName |
|
| 130 | * @return boolean 成功した場合 true |
|
| 131 | */ |
|
| 132 | public function save(\Eccube\Entity\ClassName $ClassName) |
|
| 133 | { |
|
| 134 | $em = $this->getEntityManager(); |
|
| 135 | $em->getConnection()->beginTransaction(); |
|
| 136 | try { |
|
| 137 | if (!$ClassName->getId()) { |
|
| 138 | $rank = $this->createQueryBuilder('cn') |
|
| 139 | ->select('MAX(cn.rank)') |
|
| 140 | ->getQuery() |
|
| 141 | ->getSingleScalarResult(); |
|
| 142 | if (!$rank) { |
|
| 143 | $rank = 0; |
|
| 144 | } |
|
| 145 | $ClassName->setRank($rank + 1); |
|
| 146 | $ClassName->setDelFlg(0); |
|
| 147 | } |
|
| 148 | ||
| 149 | $em->persist($ClassName); |
|
| 150 | $em->flush(); |
|
| 151 | ||
| 152 | $em->getConnection()->commit(); |
|
| 153 | } catch (\Exception $e) { |
|
| 154 | $em->getConnection()->rollback(); |
|
| 155 | ||
| 156 | return false; |
|
| 157 | } |
|
| 158 | ||
| 159 | return true; |
|
| 160 | } |
|
| 161 | ||
| 162 | /** |
|
| 163 | * 規格を削除する. |
|
| @@ 115-142 (lines=28) @@ | ||
| 112 | * @param \Eccube\Entity\News $News |
|
| 113 | * @return boolean 成功した場合 true |
|
| 114 | */ |
|
| 115 | public function save(\Eccube\Entity\News $News) |
|
| 116 | { |
|
| 117 | $em = $this->getEntityManager(); |
|
| 118 | $em->getConnection()->beginTransaction(); |
|
| 119 | try { |
|
| 120 | if (!$News->getId()) { |
|
| 121 | $rank = $this->createQueryBuilder('n') |
|
| 122 | ->select('MAX(n.rank)') |
|
| 123 | ->getQuery() |
|
| 124 | ->getSingleScalarResult(); |
|
| 125 | if (!$rank) { |
|
| 126 | $rank = 0; |
|
| 127 | } |
|
| 128 | $News |
|
| 129 | ->setRank($rank + 1) |
|
| 130 | ->setDelFlg(0); |
|
| 131 | } |
|
| 132 | ||
| 133 | $em->persist($News); |
|
| 134 | $em->flush(); |
|
| 135 | $em->getConnection()->commit(); |
|
| 136 | } catch (\Exception $e) { |
|
| 137 | $em->getConnection()->rollback(); |
|
| 138 | return false; |
|
| 139 | } |
|
| 140 | ||
| 141 | return true; |
|
| 142 | } |
|
| 143 | ||
| 144 | /** |
|
| 145 | * News を削除する. |
|
| @@ 205-234 (lines=30) @@ | ||
| 202 | * @param \Eccube\Entity\Member $Member |
|
| 203 | * @return bool |
|
| 204 | */ |
|
| 205 | public function save(\Eccube\Entity\Member $Member) |
|
| 206 | { |
|
| 207 | $em = $this->getEntityManager(); |
|
| 208 | $em->getConnection()->beginTransaction(); |
|
| 209 | try { |
|
| 210 | if (!$Member->getId()) { |
|
| 211 | $rank = $this->createQueryBuilder('m') |
|
| 212 | ->select('MAX(m.rank)') |
|
| 213 | ->getQuery() |
|
| 214 | ->getSingleScalarResult(); |
|
| 215 | if (!$rank) { |
|
| 216 | $rank = 0; |
|
| 217 | } |
|
| 218 | $Member |
|
| 219 | ->setRank($rank + 1) |
|
| 220 | ->setDelFlg(Constant::DISABLED); |
|
| 221 | } |
|
| 222 | ||
| 223 | $em->persist($Member); |
|
| 224 | $em->flush(); |
|
| 225 | ||
| 226 | $em->getConnection()->commit(); |
|
| 227 | } catch (\Exception $e) { |
|
| 228 | $em->getConnection()->rollback(); |
|
| 229 | ||
| 230 | return false; |
|
| 231 | } |
|
| 232 | ||
| 233 | return true; |
|
| 234 | } |
|
| 235 | ||
| 236 | /** |
|
| 237 | * @param \Eccube\Entity\Member $Member |
|