public virtual void CreateStockNew(StockNew stockNew) { try { Database database = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = database.GetStoredProcCommand("spStockNewsInsert"); database.AddInParameter(dbCommand, "@NewsTitle", DbType.String, stockNew.NewsTitle); database.AddInParameter(dbCommand, "@NewsDescription", DbType.String, stockNew.NewsDescription); database.AddInParameter(dbCommand, "@NewsContent", DbType.String, stockNew.NewsContent); database.AddInParameter(dbCommand, "@NewsDate", DbType.DateTime, stockNew.NewsDate); database.AddInParameter(dbCommand, "@NewsSource", DbType.String, stockNew.NewsSource); database.AddInParameter(dbCommand, "@ShareSymbol", DbType.String, stockNew.ShareSymbol); database.AddInParameter(dbCommand, "@UseUrl", DbType.Boolean, stockNew.UseUrl); database.AddInParameter(dbCommand, "@NewsUrl", DbType.String, stockNew.NewsUrl); database.AddInParameter(dbCommand, "@LanguageID", DbType.Int32, stockNew.LanguageID); database.AddInParameter(dbCommand, "@IsApproved", DbType.Int32, stockNew.IsApproved); database.AddInParameter(dbCommand, "@ImageUrl", DbType.String, stockNew.ImageUrl); database.AddInParameter(dbCommand, "@LinkId", DbType.Int32, stockNew.LinkId); database.AddInParameter(dbCommand, "@OriginalUrl", DbType.String, stockNew.OriginalUrl); database.AddInParameter(dbCommand, "@FeedDate", DbType.DateTime, stockNew.FeedDate); database.AddOutParameter(dbCommand, "@NewsId", DbType.Int64, 0); database.ExecuteNonQuery(dbCommand); stockNew.NewsId = (long)database.GetParameterValue(dbCommand, "@NewsId"); } catch (Exception ex) { // log this exception log4net.Util.LogLog.Error(ex.Message, ex); // wrap it and rethrow throw new ApplicationException(SR.DataAccessCreateStockNewException, ex); } }
public virtual StockNew CreateStockNewFromReader(IDataReader reader) { StockNew item = new StockNew(); try { if (!reader.IsDBNull(reader.GetOrdinal("NewsId"))) item.NewsId = (long)reader["NewsId"]; if (!reader.IsDBNull(reader.GetOrdinal("NewsTitle"))) item.NewsTitle = (string)reader["NewsTitle"]; if (!reader.IsDBNull(reader.GetOrdinal("NewsDescription"))) item.NewsDescription = (string)reader["NewsDescription"]; if (!reader.IsDBNull(reader.GetOrdinal("NewsContent"))) item.NewsContent = (string)reader["NewsContent"]; if (!reader.IsDBNull(reader.GetOrdinal("NewsDate"))) item.NewsDate = (DateTime)reader["NewsDate"]; if (!reader.IsDBNull(reader.GetOrdinal("NewsSource"))) item.NewsSource = (string)reader["NewsSource"]; if (!reader.IsDBNull(reader.GetOrdinal("ShareSymbol"))) item.ShareSymbol = (string)reader["ShareSymbol"]; if (!reader.IsDBNull(reader.GetOrdinal("UseUrl"))) item.UseUrl = (bool)reader["UseUrl"]; if (!reader.IsDBNull(reader.GetOrdinal("NewsUrl"))) item.NewsUrl = (string)reader["NewsUrl"]; if (!reader.IsDBNull(reader.GetOrdinal("LanguageID"))) item.LanguageID = (int)reader["LanguageID"]; if (!reader.IsDBNull(reader.GetOrdinal("IsApproved"))) item.IsApproved = (int)reader["IsApproved"]; if (!reader.IsDBNull(reader.GetOrdinal("ImageUrl"))) item.ImageUrl = (string)reader["ImageUrl"]; if (!reader.IsDBNull(reader.GetOrdinal("LinkId"))) item.LinkId = (int)reader["LinkId"]; if (!reader.IsDBNull(reader.GetOrdinal("OriginalUrl"))) item.OriginalUrl = (string)reader["OriginalUrl"]; if (!reader.IsDBNull(reader.GetOrdinal("FeedDate"))) item.FeedDate = (DateTime)reader["FeedDate"]; } catch (Exception ex) { // log this exception log4net.Util.LogLog.Error(ex.Message, ex); // wrap it and rethrow throw new ApplicationException(SR.DataAccessCreateStockNewFromReaderException, ex); } return item; }
public void FeedItem(StockNew stockNew, ref Int64 stockId) { try { StockNewService.CreateStockNew(stockNew); } catch (Exception ex) { Ultility.Error(ex.InnerException); stockId = 0; } stockId = stockNew.NewsId; }
//public DateTime ConvertStringToDate(string dateString) //{ // DateTimeFormatInfo datefomatProvider = new DateTimeFormatInfo(); // datefomatProvider.DateSeparator = "/"; // datefomatProvider.FullDateTimePattern = "dd/MM/yyyy"; // datefomatProvider.LongDatePattern = "dd/MM/yyyy"; // return new DateTime(int.Parse(dateString.Substring(6, 4)), int.Parse(dateString.Substring(3, 2)), int.Parse(dateString.Substring(0, 2))); // //return DateTime.Parse(dateString); // //return Convert.ToDateTime(dateString, datefomatProvider); //} public bool FeedItem(StockNew stockNew) { bool returnVal = true; try { StockNewService.CreateStockNew( stockNew); } catch (Exception ex) { Ultility.Error(ex.InnerException); returnVal = false; } return returnVal; }
static void Main(string[] args) { CoreSecurityService.Entities.StockPriceCollection priceList = CoreSecurityService.Business.StockPriceService.GetStockPriceList(CoreSecurityService.Entities.StockPriceColumns.StockNo, "DESC"); string url = @"http://stox.vn/stox/EarningsCentral/?MenuID=4"; ParseCafefDocument parseDocument = new ParseCafefDocument(url); List<HtmlNode> TableCells = parseDocument.ParseTableCell(); HtmlNode newDate; ParseCafefDocument parseDocument1; StockNew stockNew = null; string test = ReplaceAsciiToUniCode("Thứ Ba, 20/07/2010, Ngày giao dịch chính thức của Công ty cổ phần Dược Lâm Đồng – Ladophar (MCK: LDP)"); test = char.ConvertFromUtf32(7913); try { for (int i = 0; i < TableCells.Count; i++) { HtmlNode link = null; link = parseDocument.ParseLink((HtmlNode)TableCells[i]); if (link != null) { parseDocument1 = new ParseCafefDocument("http://stox.vn/" + link.Attributes["href"].Value.ToString().Remove(0, 1)); Console.WriteLine("http://stox.vn/" + link.Attributes["href"].Value.ToString().Remove(0, 1)); Console.WriteLine("\n"); HtmlNode content = parseDocument1.ParseContent(); stockNew = new StockNew(); stockNew.FeedDate = DateTime.Now; stockNew.LanguageID = 2; stockNew.NewsContent = content.InnerHtml; stockNew.NewsDate = DateTime.Now; stockNew.NewsDescription = link.InnerHtml.Normalize(); stockNew.NewsSource = "Stox"; stockNew.NewsTitle = link.InnerHtml.Normalize(); stockNew.OriginalUrl = "http://stox.vn/" + link.Attributes["href"].Value.ToString().Remove(0, 1); stockNew.LinkId = 9; FeedItem(stockNew); } } } catch (Exception ex) { //WriteReportToDisk(ex.Message); //log4net.Util.LogLog.Error(ex.Message, ex); } }
public void FeedNewsItem(string listUrl, string shortUrl, int linkId) { FeedCafeFDocument parseDocument = new FeedCafeFDocument(listUrl); List<HtmlNode> TableCells = parseDocument.ParseTableCell(); HtmlNode newDate; FeedCafeFDocument parseDocument1; StockNew stockNew = null; int post = 0; try { for (int i = 0; i < TableCells.Count; i++) { HtmlNode link = null; link = parseDocument.ParseLink((HtmlNode)TableCells[i]); newDate = parseDocument.ParseNewsDate((HtmlNode)TableCells[i]); if (link != null) { parseDocument1 = new FeedCafeFDocument(shortUrl + link.Attributes["href"].Value.ToString().Remove(0, 1)); Console.WriteLine(shortUrl + link.Attributes["href"].Value.ToString().Remove(0, 1)); Console.WriteLine("\n"); HtmlNode content = parseDocument1.ParseContent(); stockNew = new StockNew(); stockNew.FeedDate = Convert.ToDateTime(DateTime.Now.ToShortDateString()); stockNew.LanguageID = 2; stockNew.NewsContent = content.InnerHtml; stockNew.NewsDate = DateTime.Now;//Ultility.ConvertStringToDate(newDate.InnerHtml.Replace("\r", "")); stockNew.NewsDescription = ((HtmlNode)parseDocument1.ParseNewsDescription()).InnerHtml; stockNew.NewsSource = "CafeF"; post = parseDocument1.ParseNewsTitle().InnerHtml.IndexOf("<input"); stockNew.NewsTitle = parseDocument1.ParseNewsTitle().InnerHtml.Substring(0, post).Normalize(); stockNew.NewsTitle = stockNew.NewsTitle.Trim(); stockNew.OriginalUrl = shortUrl + link.Attributes["href"].Value.ToString().Remove(0, 1); stockNew.LinkId = linkId; FeedItem(stockNew); } } } catch (Exception ex) { Ultility.Error(ex.Message); } }
public void FeedNewsItem(string listUrl, string shortUrl, int linkId) { //testing listUrl = @"http://www.hsx.vn/hsx/Modules/News/News.aspx?type=TTGD"; FeedHoseDocument parseDocument = new FeedHoseDocument(listUrl); List<HtmlNode> TableCells = parseDocument.ParseTableCell(); List<HtmlNode> spans; HtmlNode link; FeedHoseDocument parseDocument1; StockNew stockNew = null; try { for (int i = 0; i < TableCells.Count; i++) { spans = parseDocument.ParseSpan((HtmlNode)TableCells[i]); link = parseDocument.ParseLink((HtmlNode)TableCells[i]); //parseDocument1 = new ParseDocument("http://www.hsx.vn/hsx/Modules/News/" + link.Attributes["href"].Value.ToString()); if (link != null) { parseDocument1 = new FeedHoseDocument(shortUrl + link.Attributes["href"].Value.ToString()); HtmlNode content = parseDocument1.ParseContent(); stockNew = new StockNew(); stockNew.FeedDate = DateTime.Now; stockNew.LanguageID = 2; stockNew.NewsContent = content.InnerHtml; stockNew.NewsDate = Ultility.ConvertStringToDate(spans[0].InnerHtml.ToString()); stockNew.NewsDescription = link.InnerHtml; stockNew.NewsSource = "HOSE"; stockNew.NewsTitle = link.InnerHtml; stockNew.OriginalUrl = shortUrl + link.Attributes["href"].Value.ToString(); stockNew.LinkId = linkId; FeedItem(stockNew); } } FeedItemIntoWebSite(1); } catch (Exception ex) { Ultility.Error(ex.Message); } }
public void FeedNewsItem(string listUrl, string shortUrl, int linkId) { FeedHnxDocument parseDocument = new FeedHnxDocument(listUrl); List<HtmlNode> TableCells = parseDocument.ParseTableCell(); FeedHnxDocument parseDocument1; StockNew stockNew = null; try { for (int i = 0; i < TableCells.Count; i++) { HtmlNode link = null; link = TableCells[i]; if (link != null) { parseDocument1 = new FeedHnxDocument(shortUrl + link.Attributes["href"].Value.ToString()); Console.WriteLine(shortUrl + link.Attributes["href"].Value.ToString().Remove(0, 1)); Console.WriteLine("\n"); HtmlNode content = parseDocument1.ParseContent(); stockNew = new StockNew(); stockNew.FeedDate = DateTime.Now; stockNew.LanguageID = 2; stockNew.NewsContent = content.InnerHtml; stockNew.NewsDate = Ultility.ConvertStringToDate(DateTime.Now.ToString("dd/MM/yyyy")); stockNew.NewsDescription = Ultility.ReplaceAsciiToUniCode(link.InnerHtml.Normalize()); stockNew.NewsSource = "HNX"; stockNew.NewsTitle = Ultility.ReplaceAsciiToUniCode(link.InnerHtml.Normalize()); stockNew.OriginalUrl = shortUrl + link.Attributes["href"].Value.ToString(); stockNew.LinkId = linkId; FeedItem(stockNew); } } FeedItemIntoWebSite(2); } catch (Exception ex) { Ultility.Error(ex.Message); } }
private void StoredToApprovedNews(StockNew stockNew) { ApprovedStockNew approvedStockNew = new ApprovedStockNew(); approvedStockNew.NewsId = stockNew.NewsId; approvedStockNew.NewsDate = stockNew.NewsDate; approvedStockNew.NewsTitle = stockNew.NewsTitle; approvedStockNew.NewsDescription = stockNew.NewsDescription; approvedStockNew.NewsContent = stockNew.NewsContent; approvedStockNew.NewsSource = stockNew.NewsSource; approvedStockNew.ShareSymbol = stockNew.ShareSymbol; approvedStockNew.UseUrl = stockNew.UseUrl; approvedStockNew.NewsUrl = stockNew.NewsUrl; approvedStockNew.LanguageID = stockNew.LanguageID; approvedStockNew.ImageUrl = stockNew.ImageUrl; approvedStockNew.LinkId = stockNew.LinkId; approvedStockNew.OriginalUrl = stockNew.OriginalUrl; approvedStockNew.ApprovedDate = DateTime.Now; ApprovedStockNewService.CreateApprovedStockNew(approvedStockNew); }
private void StoreToRejectedNews(StockNew stockNew) { RejectedStockNew rejectedStockNew = new RejectedStockNew(); rejectedStockNew.NewsId = stockNew.NewsId; rejectedStockNew.NewsDate = stockNew.NewsDate; rejectedStockNew.NewsTitle = stockNew.NewsTitle; rejectedStockNew.NewsDescription = stockNew.NewsDescription; rejectedStockNew.NewsContent = stockNew.NewsContent; rejectedStockNew.NewsSource = stockNew.NewsSource; rejectedStockNew.ShareSymbol = stockNew.ShareSymbol; rejectedStockNew.UseUrl = stockNew.UseUrl; rejectedStockNew.NewsUrl = stockNew.NewsUrl; rejectedStockNew.LanguageID = stockNew.LanguageID; rejectedStockNew.ImageUrl = stockNew.ImageUrl; rejectedStockNew.LinkId = stockNew.LinkId; rejectedStockNew.OriginalUrl = stockNew.OriginalUrl; rejectedStockNew.RejectedDate = DateTime.Now; RejectedStockNewService.CreateRejectedStockNew(rejectedStockNew); }
public void FeedStoxNews(string listUrl, string shortUrl, int linkId) { ParseStoxDocument parseDocument = new ParseStoxDocument(listUrl); List<HtmlNode> TableCells = parseDocument.ParseTableCell(); ParseStoxDocument parseDocument1; StockNew stockNew = null; try { for (int i = 0; i < TableCells.Count; i++) { HtmlNode link = null; link = parseDocument.ParseLink((HtmlNode)TableCells[i]); if (link != null) { parseDocument1 = new ParseStoxDocument(shortUrl + link.Attributes["href"].Value.ToString().Remove(0, 1)); HtmlNode content = parseDocument1.ParseContent(); stockNew = new StockNew(); stockNew.FeedDate = Convert.ToDateTime(DateTime.Now.ToShortDateString()); stockNew.LanguageID = 2; stockNew.NewsContent = content.InnerHtml; stockNew.NewsDate = DateTime.Now;//Ultility.ConvertStringToDate(newDate.InnerHtml.Replace("\r", "")); stockNew.NewsDescription = link.InnerHtml.Normalize(); stockNew.NewsSource = "Stox"; stockNew.NewsTitle = link.InnerHtml.Normalize(); stockNew.OriginalUrl = shortUrl + link.Attributes["href"].Value.ToString().Remove(0, 1); stockNew.LinkId = linkId; FeedItem(stockNew); } } } catch (Exception ex) { Ultility.Error(ex.Message); } }
public void FeedVnEconomyNews(string listUrl, string shortUrl, int linkId) { ParseVnEconomyDocument parseDocument = new ParseVnEconomyDocument(listUrl); List<HtmlNode> TableCells = parseDocument.ParseTableCell(); HtmlNode spans; HtmlNode newDate; ParseVnEconomyDocument parseDocument1; StockNew stockNew = null; try { for (int i = 0; i < TableCells.Count; i++) { HtmlNode link = null; link = parseDocument.ParseLink((HtmlNode)TableCells[i]); newDate = parseDocument.ParseNewsDate((HtmlNode)TableCells[i]); if (link != null) { parseDocument1 = new ParseVnEconomyDocument(shortUrl + link.Attributes["href"].Value.ToString().Remove(0, 1)); Console.WriteLine(shortUrl + link.Attributes["href"].Value.ToString().Remove(0, 1)); Console.WriteLine("\n"); HtmlNode content = parseDocument1.ParseContent(); stockNew = new StockNew(); stockNew.FeedDate = DateTime.Now; stockNew.LanguageID = 2; stockNew.NewsContent = content.InnerHtml; stockNew.NewsDate = Ultility.ConvertStringToDate(DateTime.Now.ToString("dd/MM/yyyy")); stockNew.NewsDescription = ((HtmlNode)parseDocument1.ParseNewsDescription()).InnerHtml.Trim(); stockNew.NewsSource = "VnEconomy"; stockNew.NewsTitle = link.InnerHtml.Trim(); stockNew.OriginalUrl = shortUrl + link.Attributes["href"].Value.ToString().Remove(0, 1); stockNew.LinkId = linkId; FeedItem(stockNew); } } } catch (Exception ex) { Ultility.Error(ex.Message); } }
public void FeedVsdNews(string listUrl, string shortUrl, int linkId) { //testing listUrl = @"http://www.hsx.vn/hsx/Modules/News/News.aspx?type=TTGD"; ParseVsdDocument parseDocument = new ParseVsdDocument(listUrl); List<HtmlNode> TableCells = parseDocument.ParseTableCell(); HtmlNode spans; HtmlNode link; ParseVsdDocument parseDocument1; StockNew stockNew = null; try { for (int i = 0; i < TableCells.Count; i++) { //spans = parseDocument.ParseSpan((HtmlNode)TableCells[i]); link = parseDocument.ParseLink((HtmlNode)TableCells[i]); //parseDocument1 = new ParseDocument("http://www.hsx.vn/hsx/Modules/News/" + link.Attributes["href"].Value.ToString()); if (link != null) { parseDocument1 = new ParseVsdDocument(shortUrl + link.Attributes["href"].Value.ToString()); HtmlNode content = parseDocument1.ParseContent(); stockNew = new StockNew(); stockNew.FeedDate = DateTime.Now; stockNew.LanguageID = 2; stockNew.NewsContent = content.InnerHtml; string newDate = link.InnerHtml.Substring(link.InnerHtml.IndexOf('[') + 1, link.InnerHtml.IndexOf(']') - link.InnerHtml.IndexOf('[')); stockNew.NewsDate = Ultility.ConvertStringToDate(newDate); stockNew.NewsDescription = link.InnerHtml.Substring(0, link.InnerHtml.IndexOf('[')); stockNew.NewsDescription = stockNew.NewsDescription.TrimStart().TrimEnd().Replace(" ", " "); stockNew.NewsSource = "TTLK"; /*if (link.InnerHtml.ToString().IndexOf("<img") >= 0) stockNew.NewsTitle = link.InnerHtml.ToString().Remove(link.InnerHtml.ToString().IndexOf("<img")); else stockNew.NewsTitle = link.InnerHtml;*/ stockNew.NewsTitle = stockNew.NewsDescription.Replace(" ", " "); stockNew.OriginalUrl = shortUrl + link.Attributes["href"].Value.ToString(); stockNew.LinkId = linkId; FeedItem(stockNew); } } } catch (Exception ex) { Ultility.Error(ex.Message); } }