Code Duplication    Length = 20-22 lines in 3 locations

lib/Service/CirclesService.php 1 location

@@ 181-202 (lines=22) @@
178
	 * @return null|Member
179
	 * @throws \Exception
180
	 */
181
	public function joinCircle($circleId) {
182
183
		try {
184
			$circle = $this->dbCircles->getDetailsFromCircle($circleId, $this->userId);
185
186
			try {
187
				$member = $this->dbMembers->getMemberFromCircle($circle->getId(), $this->userId);
188
			} catch (MemberDoesNotExistException $m) {
189
				$member = new Member($this->userId, $circle->getId());
190
				$this->dbMembers->add($member);
191
			}
192
193
			$member->hasToBeAbleToJoinTheCircle();
194
			$member->joinCircle($circle->getType());
195
			$this->dbMembers->editMember($member);
196
197
		} catch (\Exception $e) {
198
			throw $e;
199
		}
200
201
		return $member;
202
	}
203
204
205
	/**

lib/Service/MembersService.php 2 locations

@@ 92-111 (lines=20) @@
89
	 * @return array
90
	 * @throws \Exception
91
	 */
92
	public function addMember($circleId, $name) {
93
94
		try {
95
			$circle = $this->dbCircles->getDetailsFromCircle($circleId, $this->userId);
96
			$this->dbMembers->getMemberFromCircle($circleId, $this->userId)
97
							->hasToBeModerator();
98
		} catch (\Exception $e) {
99
			throw $e;
100
		}
101
102
		try {
103
			$member = $this->getFreshNewMember($circleId, $name);
104
		} catch (\Exception $e) {
105
			throw $e;
106
		}
107
		$member->inviteToCircle($circle->getType());
108
		$this->dbMembers->editMember($member);
109
110
		return $this->dbMembers->getMembersFromCircle($circleId, $circle->getUser());
111
	}
112
113
114
	/**
@@ 168-188 (lines=21) @@
165
	 * @return array
166
	 * @throws \Exception
167
	 */
168
	public function removeMember($circleId, $name) {
169
170
		try {
171
			$isMod = $this->dbMembers->getMemberFromCircle($circleId, $this->userId);
172
			$isMod->hasToBeModerator();
173
		} catch (\Exception $e) {
174
			throw $e;
175
		}
176
177
		try {
178
			$member = $this->dbMembers->getMemberFromCircle($circleId, $name);
179
			$member->cantBeOwner();
180
		} catch (\Exception $e) {
181
			throw $e;
182
		}
183
184
		$this->dbMembers->remove($member);
185
		$circle = $this->dbCircles->getDetailsFromCircle($circleId, $this->userId);
186
187
		return $this->dbMembers->getMembersFromCircle($circleId, $circle->getUser());
188
	}
189
190
}