Beispiel #1
0
        public async Task AcceptReceivedRequest(string userId, int requestId)
        {
            var pendingRequest = await _context.AspNetFriends.Include(e => e.FriendFrom)
                                 .Where(e => e.FriendTo.Id == userId &&
                                        e.IsConfirmed == false &&
                                        e.Id == requestId)
                                 .FirstOrDefaultAsync();

            if (pendingRequest == null)
            {
                throw new Exception("Usuário não encontrado");
            }

            pendingRequest.IsConfirmed = true;
            _context.AspNetFriends.Update(pendingRequest);

            var friendFrom = await _userManager.FindByIdAsync(userId);

            var friendTo = await _userManager.FindByIdAsync(pendingRequest.FriendFrom.Id);

            var friendRequestObject = new AspNetFriends(friendFrom, friendTo);

            friendRequestObject.IsConfirmed = true;
            var friendRequest = _context.AspNetFriends.Add(friendRequestObject);

            await _context.SaveChangesAsync();
        }
Beispiel #2
0
        public async Task AddFriend(string userId, string friendUserName)
        {
            var friendFrom = await _userManager.FindByIdAsync(userId);

            var friendTo = await _userManager.FindByNameAsync(friendUserName);

            if (friendTo == null)
            {
                throw new Exception("Usuário não encontrado");
            }

            var friendRequestObject = new AspNetFriends(friendFrom, friendTo);

            var friendRequest = _context.AspNetFriends.Add(friendRequestObject);
            await _context.SaveChangesAsync();
        }