private bool ReadGroupStatements(ReadParams p, bool isDefault) { var body = new GroupBody { isDefault = isDefault }; var code = p.Code; _groups.Add(body); while (!code.EndOfFile && !p.Code.PeekExact("}")) { var resetPos = code.Position; if (code.ReadExactWholeWord("before") || code.ReadExactWholeWord("after")) { if (code.ReadExactWholeWord("group")) { code.Position = resetPos; return(true); } code.Position = resetPos; } else if (code.ReadExactWholeWord("for")) { if (code.ReadExactWholeWord("each")) { code.Position = resetPos; return(true); } code.Position = resetPos; } else if (code.ReadExactWholeWord("default")) { code.Position = resetPos; return(true); } var stmt = Statement.Read(p); if (stmt == null) { break; } body.stmts.Add(stmt); } return(true); }
/// <summary> /// Creates a new group where teams will be assigned to. /// </summary> /// <returns>Group ID</returns> public async Task <Group> CreateGroupAsync(TeamResource resource) { var groupUri = new Uri(baseUri, $"{apiVersion}/groups"); var requestContent = new GroupBody { Description = resource.Description, DisplayName = resource.DisplayName, GroupTypes = new List <string> { GroupTypes.Unified.ToString() }, MailEnabled = true, MailNickname = resource.MailNickname ?? $"{resource.DisplayName.ToLowerInvariant().Replace(' ', '-')}-{Guid.NewGuid()}", SecurityEnabled = false }; logger.LogInformation($"Creating group using {groupUri} and {JsonConvert.SerializeObject(requestContent)}"); var response = await httpClient.PostContentAsync(groupUri.AbsoluteUri, requestContent); var responseString = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <Group>(responseString)); }