Esempio n. 1
0
        public async Task DeleteRelationAsync(Guid firstUser, Guid secondUser)
        {
            _logger.LogDebug("Trying to remove users: {firstUser} and {secondUser} relation.", firstUser, secondUser);
            if (firstUser == Guid.Empty || secondUser == Guid.Empty)
            {
                throw new ArgumentNullException(nameof(Guid));
            }
            try
            {
                List <FriendsRelation> relationFromRepo = _friendsRelationRepository.Get(x =>
                                                                                         x.FriendId == firstUser && x.UserId == secondUser ||
                                                                                         x.FriendId == secondUser && x.UserId == firstUser)
                                                          .ToList();
                FriendsRelation relationToRemove = null;
                if (relationFromRepo.Count > 0)
                {
                    relationToRemove = relationFromRepo.ElementAt(0);
                }
                if (relationToRemove != null)
                {
                    _friendsRelationRepository.Remove(relationToRemove);
                    await _friendsRelationRepository.SaveAsync();

                    _logger.LogDebug("Users relation: {firstUser} and {secondUser} has been removed.", firstUser, secondUser);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error occured during removing the relation.");
                throw;
            }
        }
Esempio n. 2
0
        private ElanUser GetFriendUser(FriendsRelation relation, ElanUser user)
        {
            if (relation.FirstUser.Id == user.Id)
            {
                return(relation.SecondUser);
            }

            return(relation.FirstUser);
        }
Esempio n. 3
0
        public async Task <FriendsRelation> CreateRelation(ElanUser firstUser, ElanUser secondUser)
        {
            var relation = new FriendsRelation
            {
                FirstUserId  = firstUser.Id,
                SecondUserId = secondUser.Id,
                CreatedDate  = DateTime.UtcNow
            };

            await _dataService.GetSet <FriendsRelation>().AddAsync(relation);

            await _dataService.SaveDbAsync();

            return(relation);
        }
Esempio n. 4
0
 public bool CheckIfAreFriends(Guid firstUser, Guid secondUser)
 {
     _logger.LogDebug("Trying to check users: {firstUser} and {secondUser} relation exist.", firstUser, secondUser);
     if (firstUser == Guid.Empty || secondUser == Guid.Empty)
     {
         throw new ArgumentNullException(nameof(Guid));
     }
     try
     {
         FriendsRelation relation = _friendsRelationRepository.GetById(new { firstUser, secondUser });
         return(relation != null);
     }
     catch (Exception ex)
     {
         _logger.LogError(ex, "Error occured during checking the relation.");
         throw;
     }
 }