public override async Task <ViewFriendRequestsResponse> ViewFriendRequests(ViewFriendRequestsRequest request, ServerCallContext context) { RedisUserModel user = context.UserState["user"] as RedisUserModel; if (user == null) { return new ViewFriendRequestsResponse() { Status = ResponseFactory.createResponse(ResponseType.UNAUTHORIZED) } } ; ViewFriendRequestsResponse response = new ViewFriendRequestsResponse(); List <User> users = (await user.GetFriendRequests()).ConvertAll(input => input.asUser()); response.IncomingFriends.AddRange(users); response.Status = ResponseFactory.createResponse(ResponseType.SUCCESS); return(response); }
public override async Task <ViewFriendRequestsResponse> ViewFriendRequests(ViewFriendRequestsRequest request, ServerCallContext context) { DbUserModel dbUserModel = context.UserState["user"] as DbUserModel; if (dbUserModel == null) { return new ViewFriendRequestsResponse() { Status = ResponseFactory.createResponse(ResponseType.UNAUTHORIZED) } } ; ViewFriendRequestsResponse response = new ViewFriendRequestsResponse(); var friendRequests = await Task.WhenAll( (await dbUserModel.GetFriendRequests()) .Select(async it => (await DbUserModel.GetUserFromGuid(it.FriendId)).AsUser()) ); response.IncomingFriends.AddRange(friendRequests); response.Status = ResponseFactory.createResponse(ResponseType.SUCCESS); return(response); }