public async Task AddTeamMemberAsync(TeamMemberRequest request, OnAddTeamMemberCompleted onAddTeamMemberCompleted)
        {
            GraphServiceClient graphClient = AuthenticationHelper.Instance.GetAuthenticatedClient();

            if (graphClient != null)
            {
                User user = await graphClient.Users[request.person.Id].Request().GetAsync();

                try
                {
                    switch (request.role)
                    {
                    case TeamMemberRole.Owner:
                        await graphClient.Groups[request.team.Id].Owners.References.Request().AddAsync(user);
                        break;

                    default:
                        await graphClient.Groups[request.team.Id].Members.References.Request().AddAsync(user);
                        break;
                    }
                }
                catch (Exception ex)
                {
                    request.expection = new ServiceException
                    {
                        Error     = ServiceError.UserAlreadyExists,
                        Exception = ex
                    };
                }
            }

            onAddTeamMemberCompleted(request);
        }
 public void AddTeamMember(TeamMemberRequest request, OnAddTeamMemberCompleted onAddTeamMemberCompleted)
 {
 }
 public void AddTeamMember(TeamMemberRequest request, OnAddTeamMemberCompleted onAddTeamMemberCompleted)
 {
     System.Threading.Tasks.Task.Run(
         () => AddTeamMemberAsync(request, onAddTeamMemberCompleted));
 }