diff options
Diffstat (limited to 'src/DevHive.Services')
| -rw-r--r-- | src/DevHive.Services/Services/FriendsService.cs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/DevHive.Services/Services/FriendsService.cs b/src/DevHive.Services/Services/FriendsService.cs index 21a2aac..c0ec551 100644 --- a/src/DevHive.Services/Services/FriendsService.cs +++ b/src/DevHive.Services/Services/FriendsService.cs @@ -26,6 +26,9 @@ namespace DevHive.Services.Services User user = await this._friendsRepository.GetByIdAsync(userId); User friend = await this._friendsRepository.GetByIdAsync(friendId); + if (DoesUserHaveThisFriend(user, friend)) + throw new ArgumentException("Friend already exists in your friends list."); + return user != default(User) && friend != default(User) ? await this._friendsRepository.AddFriendAsync(user, friend) : throw new ArgumentException("Invalid user!"); @@ -49,10 +52,14 @@ namespace DevHive.Services.Services throw new ArgumentException("Invalid user!"); User user = await this._friendsRepository.GetByIdAsync(userId); + User friend = await this._friendsRepository.GetByIdAsync(friendId); if(!this.DoesUserHaveFriends(user)) throw new ArgumentException("User does not have any friends."); + if (!DoesUserHaveThisFriend(user, friend)) + throw new ArgumentException("This ain't your friend, amigo."); + return await this.RemoveFriend(user.Id, friendId); } |
