static void UpdateDB(List <distroTrend.Model.Distro> listDistro) { BLL.Distro distroBL = new BLL.Distro(); string sqlConn = System.Configuration.ConfigurationManager.AppSettings["dbConnection"]; string message = string.Empty; foreach (distroTrend.Model.Distro distro in listDistro) { message = string.Empty; distroTrend.Model.Distro distroDb = distroBL.GetDistro(distro.Code, sqlConn); if (distroDb == null) { message = distro.Name + " is not found in DB. Inserting..."; } else { if (distroDb.Description != distro.Description || distroDb.ImageURL != distro.ImageURL) { message = distro.Name + " found in DB but details are outdated. Updating..."; distroBL.Update(sqlConn, distroDb.Id, distro); } } if (!string.IsNullOrEmpty(message)) { logger.Info(message); Console.WriteLine(message); } } }
private DataTable GetDistrosFromDB() { DataSet ds = new DataSet(); BLL.Distro distro = new BLL.Distro(); ds = distro.GetDistroAsDataSet(_connString); DataTable dt = GetDistroRanking(ds.Tables[0]); return(dt); }
static List <distroTrend.Model.Points> ParseDataDWPoints(string data, string connString) { BLL.Distro distroBL = new BLL.Distro(); List <distroTrend.Model.Distro> listDistro = distroBL.GetDistro(connString); List <distroTrend.Model.Points> listDistroPoints = new List <distroTrend.Model.Points>(); var doc = new HtmlAgilityPack.HtmlDocument(); doc.LoadHtml(data); var nodes = doc.DocumentNode.SelectNodes(@"//td[@class='phr2']/a"); int counter = 0; foreach (HtmlNode node in nodes) { counter++; string title = node.InnerText; string[] token = node.OuterHtml.Split(new char[] { '\"' }, StringSplitOptions.RemoveEmptyEntries); string dwCode = string.Empty; if (token.Length > 1) { dwCode = token[1]; } string code = GetCode(title); Decimal points = 0; string pointsString = string.Empty; HtmlNode nodeTr = node.ParentNode.ParentNode; if (nodeTr != null && nodeTr.ChildNodes.Count > 4) { pointsString = nodeTr.ChildNodes[5].InnerText; } //HtmlNodeCollection nodePoints = nodeTr.SelectNodes(@"//td[@class='phr3']"); //foreach (HtmlNode nodeTd in nodePoints) //{ // pointsString = nodeTd.InnerText; //} Decimal.TryParse(pointsString, out points); logger.Debug("Points in string=" + pointsString + ", and after convertion points=" + points); distroTrend.Model.Distro distro = listDistro.Where(x => x.Code.Trim() == code).FirstOrDefault(); //distro.Id; if (distro != null) { distroTrend.Model.Points objPoints = new distroTrend.Model.Points(); objPoints.distroId = distro.Id; objPoints.DistroWatchPoints = points; objPoints.Date = DateTime.Now; distroTrend.Model.Points pointE = listDistroPoints.FirstOrDefault(p => p.distroId == objPoints.distroId); if (pointE != null) { pointE.DistroWatchPoints = points; logger.Debug("Updated in list, Id=" + objPoints.distroId + ", Points=" + objPoints.DistroWatchPoints); } else { listDistroPoints.Add(objPoints); logger.Debug("Added to list, Id=" + objPoints.distroId + ", Points=" + objPoints.DistroWatchPoints); } } //if (listDistroPoints.Count > 30) // break; } return(listDistroPoints); }
protected void Page_Load(object sender, EventArgs e) { logger.Trace("Inside " + this.GetType().Name + ".Page_Load()"); int distroId = 0; Distro distro = null; string _connString = ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString; if (Request.QueryString[Helper.Constants.URL_PARAMETER_DISTRO_ID] != null) { distroId = Convert.ToInt32(Request.QueryString[Helper.Constants.URL_PARAMETER_DISTRO_ID].ToString()); } logger.Debug("Parameter distroId=" + distroId); BLL.Distro objDistro = new BLL.Distro(); if (distroId > 0) { distro = objDistro.GetDistro(_connString).Where(x => x.Id == distroId).SingleOrDefault(); } if (distro != null) { lblName.Text = distro.Name; lblDescription.Text = distro.Description; if (!string.IsNullOrEmpty(distro.ImageURL)) { //imgLogo.ImageUrl = "https://distrowatch.com/" + distro.ImageURL; imgLogo.ImageUrl = distro.ImageURL; } if (!string.IsNullOrWhiteSpace(distro.HomePage)) { hlUrl.Text = "Click here to visit the website"; hlUrl.NavigateUrl = distro.HomePage; } else { hlUrl.Text = "Not set"; } } if (distroId > 0) { List <distroTrend.Model.Edition> editions = GetEditions(distroId); if (editions.Count > 0) { lvEditions.DataSource = editions; lvEditions.DataBind(); } List <distroTrend.Model.Version> versions = GetVersions(distroId); if (versions.Count > 0) { lvRelease.DataSource = versions; lvRelease.DataBind(); } } }