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(); } }