private void ProcessTeamListHtml(HtmlDocument document, TeamLevel level = TeamLevel.Unknown) { try { var body = document.DocumentNode .SelectSingleNode("//div[@class='view-content']/table/tbody"); var rows = body.SelectNodes("tr"); Console.WriteLine(rows.Count); foreach (var row in rows) { // second td is league name var anchor = row.SelectSingleNode("td[2]/div/a"); string leagueName = anchor.InnerHtml.Trim(); int leagueFtsId = Convert.ToInt32(anchor.GetAttributeValue("href", "").Split('/')[2]); // third td is city string homeTown = row.SelectSingleNode("td[3]").InnerHtml.Trim(); // fourth td is team type teamDataMap[leagueFtsId] = new TeamData { id = leagueFtsId, name = leagueName, level = level, town = homeTown, rankingScore = 0 }; } } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } }
/// <summary> /// Edit a mod team members details. /// </summary> public async Task Edit(uint member, TeamLevel level, string?position = null) { var parameters = new Parameters { { "level", level.ToString() }, }; if (position != null) { parameters.Add("position", position); } var(method, path) = Routes.EditTeamMember(GameId, ModId, member); var req = new Request(method, path, parameters.ToContent()); await Connection.Send <ApiMessage>(req); }
/// <summary> /// Add a user to a mod team. /// </summary> public async Task Add(string email, TeamLevel level, string?position = null) { Ensure.ArgumentNotNull(email, nameof(email)); var parameters = new Parameters { { "email", email }, { "level", level.ToString() }, }; if (position != null) { parameters.Add("position", position); } var(method, path) = Routes.AddTeamMember(GameId, ModId); var req = new Request(method, path, parameters.ToContent()); await Connection.Send <ApiMessage>(req); }