public async void AddMemberWithoutHistory(GraphServiceClient graphClient, Chat response, string[] members) { var conversationMember = new AadUserConversationMember { Roles = new List <string>() { "owner" }, AdditionalData = new Dictionary <string, object>() { { "*****@*****.**", "https://graph.microsoft.com/v1.0/users/" + members[2] } } }; await graphClient.Chats[response.Id].Members .Request() .AddAsync(conversationMember); }
public async void AddMemberWithNoOfDays(GraphServiceClient graphClient, Chat response, string[] members) { if (members.Length == 4) { var conversationMember = new AadUserConversationMember { VisibleHistoryStartDateTime = DateTimeOffset.Parse("2021-05-20T00:51:43.255Z"), Roles = new List <string>() { "owner" }, AdditionalData = new Dictionary <string, object>() { { "*****@*****.**", "https://graph.microsoft.com/v1.0/users/" + members[3] } } }; await graphClient.Chats[response.Id].Members .Request() .AddAsync(conversationMember); } else { foreach (var member in members) { var conversationMember = new AadUserConversationMember { VisibleHistoryStartDateTime = DateTimeOffset.Parse("2021-05-20T00:51:43.255Z"), Roles = new List <string>() { "owner" }, AdditionalData = new Dictionary <string, object>() { { "*****@*****.**", "https://graph.microsoft.com/v1.0/users/" + member } } }; await graphClient.Chats[response.Id].Members .Request() .AddAsync(conversationMember); } } }
// Add the user in the team. public async void AddUserToTeam(string teamId, string userId) { var graphClient = GetAuthenticatedClient(); var conversationMember = new AadUserConversationMember { Roles = new List <String>() { "owner" }, AdditionalData = new Dictionary <string, object>() { { "*****@*****.**", "https://graph.microsoft.com/v1.0/users('" + userId + "')" } } }; var response = await graphClient.Teams[teamId].Members .Request() .AddAsync(conversationMember); }
public async void AddMemberWithHistory(GraphServiceClient graphClient, Chat response, string[] members) { var conversationMember = new AadUserConversationMember { VisibleHistoryStartDateTime = DateTimeOffset.Parse("0001-01-01T00:00:00Z"), Roles = new List <string>() { "owner" }, AdditionalData = new Dictionary <string, object>() { { "*****@*****.**", "https://graph.microsoft.com/v1.0/users/" + members[1] } } }; await graphClient.Chats[response.Id].Members .Request() .AddAsync(conversationMember); }
public async Task <JoinUsersToTeamByIdOutputData> Execute(JoinUsersToTeamByIdInputData request) { JoinUsersToTeamByIdOutputData response = null; try { var conversationMember = new AadUserConversationMember { AdditionalData = new Dictionary <string, object>() }; foreach (var row in request.UsersGUID) { conversationMember.AdditionalData.Add( "*****@*****.**", $"https://graph.microsoft.com/v1.0/users('{row}')"); } await Graph.Teams[request.GUID].Members .Request() .AddAsync(conversationMember); var memberOf = await Graph.Teams[request.GUID].Members .Request() .GetAsync(); var users = new List <UserModel>(); foreach (var cm in memberOf) { var item = (AadUserConversationMember)cm; var user = await Graph.Users[item.UserId].Request() .Select(u => new { u.Id, u.DisplayName, u.Department, u.Mail, u.MailNickname, u.MobilePhone, u.Birthday, u.CreatedDateTime, u.JobTitle, u.StreetAddress }) .GetAsync(); var userModel = new UserModel(user); users.Add(userModel); } response = new JoinUsersToTeamByIdOutputData { Users = users }; logger.Information( $"Type: JoinUsersToTeamByIdActivity; Method: Execute; Info: Join Users To Team By Id: {request.GUID} successfully"); } catch (Exception e) { logger.Error($"Type: JoinUsersToTeamByIdActivity; Method: Execute; Error: {e.Message}"); throw; } return(await Task.FromResult(response)); }
public async Task <CreateOrAddTeamOutputData> Execute(CreateOrAddTeamInputData request) { CreateOrAddTeamOutputData response = null; try { foreach (var item in request.List) { var group = new Microsoft.Graph.Group { DisplayName = item.Name, MailEnabled = true, GroupTypes = new List <string> { "Unified" }, SecurityEnabled = false, MailNickname = TranslitHelper.Execute(item.Name.Replace(" ", "").Replace(".", "").ToLower()) }; var result = await Graph.Groups .Request() .AddAsync(group); var owner = new DirectoryObject { Id = item.OwnerGUID }; await Graph.Groups[result.Id].Owners.References .Request() .AddAsync(owner); var teamSettings = new Microsoft.Graph.Team { MemberSettings = new TeamMemberSettings { AllowCreatePrivateChannels = true, AllowCreateUpdateChannels = true, ODataType = null }, MessagingSettings = new TeamMessagingSettings { AllowUserEditMessages = true, AllowUserDeleteMessages = true, ODataType = null }, FunSettings = new TeamFunSettings { AllowGiphy = true, GiphyContentRating = GiphyRatingType.Strict, ODataType = null }, ODataType = null }; var team = await Graph.Groups[result.Id].Team .Request() .PutAsync(teamSettings); var conversationMember = new AadUserConversationMember { AdditionalData = new Dictionary <string, object>() }; foreach (var row in item.ParticipantsList) { conversationMember.AdditionalData.Add( "*****@*****.**", $"https://graph.microsoft.com/v1.0/users('{row}')"); } await Graph.Teams[team.Id].Members .Request() .AddAsync(conversationMember); } response = new CreateOrAddTeamOutputData(); logger.Information( "Type: CreateOrAddTeamActivity; Method: Execute; Info: Create team for request successfully"); } catch (Exception e) { logger.Error($"Type: CreateOrAddTeamActivity; Method: Execute; Error: {e.Message}"); throw; } return(await Task.FromResult(response)); }