Code Duplication    Length = 20-22 lines in 3 locations

lib/Service/CirclesService.php 1 location

@@ 198-219 (lines=22) @@
195
	 * @return null|Member
196
	 * @throws \Exception
197
	 */
198
	public function joinCircle($circleId) {
199
200
		try {
201
			$circle = $this->dbCircles->getDetailsFromCircle($circleId, $this->userId);
202
203
			try {
204
				$member = $this->dbMembers->getMemberFromCircle($circle->getId(), $this->userId);
205
			} catch (MemberDoesNotExistException $m) {
206
				$member = new Member($this->l10n, $this->userId, $circle->getId());
207
				$this->dbMembers->add($member);
208
			}
209
210
			$member->hasToBeAbleToJoinTheCircle();
211
			$member->joinCircle($circle->getType());
212
			$this->dbMembers->editMember($member);
213
214
		} catch (\Exception $e) {
215
			throw $e;
216
		}
217
218
		return $member;
219
	}
220
221
222
	/**

lib/Service/MembersService.php 2 locations

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