Exemplo n.º 1
0
        /// <summary>
        /// 获取字幕组信息
        /// </summary>
        /// <returns></returns>
        public async Task <DTeam[]> GetTeamAsync()
        {
            List <DTeam> listTeams = new List <DTeam>();

            string url = "/topics/advanced-search";

            string html = await Common.DownloadHtmlAsync(_httpClient, url);

            HtmlDocument doc = new HtmlDocument();

            doc.LoadHtml(html);
            HtmlNodeCollection teamNodes = doc.DocumentNode.SelectNodes("//select[@name='team_id']/option");

            if (teamNodes == null || teamNodes.Count <= 0)
            {
                return(null);
            }

            foreach (var team in teamNodes)
            {
                DTeam dTeam = new DTeam()
                {
                    Id   = Convert.ToInt64(team.Attributes["value"].Value),
                    Name = team.InnerText
                };

                listTeams.Add(dTeam);
            }

            listTeams.RemoveAt(0);

            return(listTeams.ToArray());
        }
        private DTeam InstantiateTeam(SqlCmdExt cmd)
        {
            var team = new DTeam
            {
                Id     = cmd.GetInt("Id"),
                Name   = cmd.GetString("Name"),
                League = GetLeague(cmd.GetInt("LeagueId"))
            };

            return(team);
        }
Exemplo n.º 3
0
        public bool TeamExists(DTeam team)
        {
            try
            {
                var existingTeam = db.GetTeam(team.Name, team.League.Id);
            }
            catch (Exception e)
            {
                return(false);
            }

            return(true);
        }
        /* *******************************************************
         *
         */

        public void AddTeam(DTeam team)
        {
            using (var cmd = new SqlCmdExt(_connectionString))
            {
                cmd.CreateCmd(@"
                    INSERT INTO Team (Name, LeagueId)
                    VALUES (@Name, @LeagueId)
                ");
                cmd.SetInArg("@Name", team.Name);
                cmd.SetInArg("@LeagueId", team.League.Id);

                cmd.ExecuteInsertUpdateDelete();
            }
        }
Exemplo n.º 5
0
        private DPost[] ToModels(string html)
        {
            List <DPost> models = new List <DPost>();

            HtmlDocument doc = new HtmlDocument();

            doc.LoadHtml(html);

            HtmlNodeCollection trNodes = doc.DocumentNode.SelectNodes("//tbody/tr");

            if (trNodes == null)
            {
                return(null);
            }

            foreach (var tr in trNodes)
            {
                HtmlNodeCollection tdNodes = tr.SelectNodes(".//td");

                //时间
                string time = tdNodes[0].FirstChild.InnerText.Trim();
                //string datetime = tdNodes[0].SelectSingleNode("./span").InnerText.Trim();

                //分类
                string category     = tdNodes[1].SelectSingleNode("./a//font").InnerText.Trim();
                string categoryHref = tdNodes[1].SelectSingleNode("./a").Attributes["href"].Value;
                string categoryId   = categoryHref.Substring(categoryHref.LastIndexOf("/")).Replace("/", "");

                //团队
                HtmlNode teamNode = tdNodes[2].SelectSingleNode("./span/a");
                string   team     = "";
                string   teamHref = "";
                string   teamId   = "";
                if (teamNode != null)
                {
                    team = teamNode.InnerText.Trim();

                    teamHref = teamNode.Attributes["href"].Value.Trim();
                    teamId   = teamHref.Substring(teamHref.LastIndexOf("/")).Replace("/", "");
                }

                //番剧相关
                string title  = tdNodes[2].SelectSingleNode("./a").InnerText.Trim();
                string htmlId = tdNodes[2].SelectSingleNode("./a").Attributes["href"].Value.Replace(".html", "");
                htmlId = htmlId.Substring(htmlId.LastIndexOf("/") + 1);
                string    downloadArrow = tdNodes[3].SelectSingleNode("./a").Attributes["href"].Value;
                string    size          = tdNodes[4].InnerText;
                string    userName      = tdNodes[8].InnerText;
                string    userId        = tdNodes[8].SelectSingleNode("./a").Attributes["href"].Value.Replace("/topics/list/user_id/", "");
                DCategory dCategory     = new DCategory()
                {
                    Id   = long.Parse(categoryId),
                    Name = category
                };

                DTeam dTeam = new DTeam()
                {
                    Id   = string.IsNullOrEmpty(teamId) ? null : (long?)long.Parse(teamId),
                    Name = team
                };

                models.Add(new DPost
                {
                    Id            = Guid.NewGuid().ToString(),
                    UserId        = Convert.ToInt64(userId),
                    UserName      = userName,
                    Category      = dCategory,
                    DateTime      = time,
                    DownloadArrow = downloadArrow,
                    FileSize      = size,
                    Team          = dTeam,
                    Title         = title,
                    HtmlId        = htmlId
                });
            }

            return(models.ToArray());
        }
Exemplo n.º 6
0
 public void AddTeam(DTeam team)
 {
 }
Exemplo n.º 7
0
 public bool TeamExists(DTeam team)
 {
     return(false);
 }
Exemplo n.º 8
0
 public void AddTeam(DTeam team)
 {
     db.AddTeam(team);
 }