Exemplo n.º 1
0
        public async Task Track(TargetUserInput input)
        {
            var currentUser = await GetCurrentUserAsync();

            var targetUser = await UserManager.GetUserByIdAsync(input.TargetUserId);

            await _trackManager.TrackAsync(targetUser, currentUser);
        }
Exemplo n.º 2
0
        public async Task <GetInterTrackingUsersOutput> GetInterTrackingUsers(TargetUserInput input)
        {
            var interTrackingUsers = await _trackManager
                                     .GetInterTrackingUsersAsync(input.TargetUserId)
                                     .ProjectTo <UserListDto>()
                                     .ToListAsync();

            return(new GetInterTrackingUsersOutput
            {
                InterTrackingUsers = interTrackingUsers
            });
        }
Exemplo n.º 3
0
        public async Task <GetFriendsOutput> GetFriends(TargetUserInput input)
        {
            var friends = await _friendPairRepository.GetAll()
                          .Where(fp => fp.LeftId == input.TargetUserId || fp.RightId == input.TargetUserId)
                          .Select(fp => new[] { fp.Left, fp.Right })
                          .SelectMany(user => user)
                          .Where(user => user.Id != input.TargetUserId)
                          .Distinct()
                          .ProjectTo <UserListDto>()
                          .ToListAsync();

            return(new GetFriendsOutput
            {
                Friends = friends
            });
        }