Code Duplication    Length = 30-31 lines in 2 locations

src/Eccube/Repository/ClassCategoryRepository.php 2 locations

@@ 64-93 (lines=30) @@
61
     * @param \Eccube\Entity\ClassCategory $ClassCategory
62
     * @return boolean 成功した場合 true
63
     */
64
    public function up(\Eccube\Entity\ClassCategory $ClassCategory)
65
    {
66
        $em = $this->getEntityManager();
67
        $em->getConnection()->beginTransaction();
68
        try {
69
            $rank = $ClassCategory->getRank();
70
            $ClassName = $ClassCategory->getClassName();
71
72
            $ClassCategory2 = $this->findOneBy(array('rank' => $rank + 1, 'ClassName' => $ClassName));
73
            if (!$ClassCategory2) {
74
                throw new \Exception();
75
            }
76
            $ClassCategory2->setRank($rank);
77
            $em->persist($ClassCategory);
78
79
            // ClassCategory更新
80
            $ClassCategory->setRank($rank + 1);
81
82
            $em->persist($ClassCategory);
83
            $em->flush();
84
85
            $em->getConnection()->commit();
86
        } catch (\Exception $e) {
87
            $em->getConnection()->rollback();
88
89
            return false;
90
        }
91
92
        return true;
93
    }
94
95
    /**
96
     * 規格カテゴリの順位を1下げる.
@@ 101-131 (lines=31) @@
98
     * @param  \Eccube\Entity\ClassCategory $ClassCategory
99
     * @return boolean 成功した場合 true
100
     */
101
    public function down(\Eccube\Entity\ClassCategory $ClassCategory)
102
    {
103
        $em = $this->getEntityManager();
104
        $em->getConnection()->beginTransaction();
105
        try {
106
            $rank = $ClassCategory->getRank();
107
            $ClassName = $ClassCategory->getClassName();
108
109
            //
110
            $ClassCategory2 = $this->findOneBy(array('rank' => $rank - 1, 'ClassName' => $ClassName));
111
            if (!$ClassCategory2) {
112
                throw new \Exception();
113
            }
114
            $ClassCategory2->setRank($rank);
115
            $em->persist($ClassCategory);
116
117
            // ClassCategory更新
118
            $ClassCategory->setRank($rank - 1);
119
120
            $em->persist($ClassCategory);
121
            $em->flush();
122
123
            $em->getConnection()->commit();
124
        } catch (\Exception $e) {
125
            $em->getConnection()->rollback();
126
127
            return false;
128
        }
129
130
        return true;
131
    }
132
133
    /**
134
     * 規格カテゴリを保存する.