예제 #1
0
 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);
     }
 }
예제 #2
0
        /// <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);
        }
예제 #3
0
        /// <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);
        }