public async Task <Group> CreateNewTeamAndGroup(string accessToken, String displayName, String mailNickname, String description) { // create group Group groupParams = new Group() { displayName = displayName, mailNickname = mailNickname, description = description, groupTypes = new string[] { "Unified" }, mailEnabled = true, securityEnabled = false, visibility = "Private", }; Group createdGroup = (await HttpPost($"/groups", groupParams)) .Deserialize <Group>(); string groupId = createdGroup.id; // add me as member string me = await GetMyId(accessToken); string payload = $"{{ '@odata.id': '{GraphRootUri}/users/{me}' }}"; HttpResponseMessage responseRef = await ServiceHelper.SendRequest(HttpMethod.Post, $"{GraphRootUri}/groups/{groupId}/members/$ref", accessToken, payload); // create team await AddTeamToGroup(groupId, accessToken); return(createdGroup); }
public async Task <ActionResult> PostGroupAction(FormOutput data) { return(await WithExceptionHandlingAsync( async token => { Group group = await graphService.CreateNewTeamAndGroup(token, data.DisplayNameInput, data.MailNicknameInput, data.DescriptionInput); var teams = (await graphService.GetMyTeams(token)).ToArray(); return new FormOutput() { Teams = teams, ShowTeamOutput = true }; } )); }