public async Task <FriendsRelationDto> AddRelationAsync(Guid userId, FriendsRelationToAddDto friendRelation)
        {
            _logger.LogDebug("Trying to add friends relation {friendRelation}.", friendRelation);
            if (friendRelation is null)
            {
                throw new ArgumentNullException(nameof(PostReaction));
            }
            if (friendRelation.FriendId == Guid.Empty || userId == Guid.Empty)
            {
                throw new ArgumentNullException(nameof(Guid));
            }
            try
            {
                var relationToAdd = _mapper.Map <FriendsRelation>(friendRelation);
                relationToAdd.UserId = userId;
                var addedRelation = await _friendsRelationRepository.AddAsync(relationToAdd);

                await _friendsRelationRepository.SaveAsync();

                return(_mapper.Map <FriendsRelationDto>(addedRelation));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error occured during adding the relation.");
                throw;
            }
        }
        public async Task <ActionResult <FriendsRelationDto> > AddRelation(string userId, FriendsRelationToAddDto relationToAdd)
        {
            try
            {
                if (Guid.TryParse(userId, out Guid gUserId))
                {
                    if (await _userService.CheckIfUserExists(gUserId) && await _userService.CheckIfUserExists(relationToAdd.FriendId))
                    {
                        FriendsRelationDto addedRealtion = await _relationService.AddRelationAsync(gUserId, relationToAdd);

                        return(CreatedAtRoute("GetRelation",
                                              new { userId, friendId = addedRealtion.FriendId },
                                              addedRealtion));
                    }
                    else
                    {
                        return(NotFound($"User: {userId} or friend: {relationToAdd.FriendId} not found."));
                    }
                }
                else
                {
                    return(BadRequest($"{userId} is not valid guid."));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error occured during adding the user relation. User id: {user}, friend id {FriendId}", userId, relationToAdd.FriendId);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
 public FriendsRelationsControllerAddRelationTests() : base()
 {
     _relationToAdd = _fixture.Create <FriendsRelationToAddDto>();
 }