Esempio n. 1
0
        protected override void TimerCallback(object state)
        {
            // TODO: Do parallel work
            foreach (var whitelistedUrl in WhitelistedUrls)
            {
                var html = PrepareSource(whitelistedUrl);

                // Create a instance of the OrgData class, setting all the needed props
                // Then, save it on the DB

                var tabs = html.GetNodesByClass("pagehead-tabs-item");

                // html.GetNodeByClass("org-name").InnerText
                var orgData = new OrgData
                {
                    Name         = whitelistedUrl.Split('/').Last(),
                    Members      = int.Parse(html.GetNodesByClass("js-profile-tab-count-container").First(node => node.Name.ToLowerInvariant() == "div").GetNodeByClass(countSelector).InnerText),
                    Packages     = GetCountFrom(tabs, 1),
                    Projects     = GetCountFrom(tabs, 3),
                    Repositories = GetCountFrom(tabs, 0),
                    Teams        = GetCountFrom(tabs, 2),
                    Date         = DateTime.Now
                };

                orgData.DoQuery();
            }
        }