public static void SetNewsData(NewsData newsData) { SqlCommand sqlCommand = new SqlCommand(DatabaseConnectionSettings.StrSetNewsData, sqlConnection); sqlCommand.Parameters.AddWithValue("@url", newsData.Url); sqlCommand.Parameters.AddWithValue("@theme", newsData.Theme); sqlCommand.Parameters.AddWithValue("@textInside", newsData.TextInside); sqlCommand.Parameters.AddWithValue("@publishedDate", newsData.PublishedDate); try { sqlConnection.Open(); sqlCommand.ExecuteNonQuery(); } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); } finally { if (sqlConnection.State == ConnectionState.Open) { sqlConnection.Close(); } } }
private static void Collect(string url, HtmlDocument htmlDocument) { var SearchNewsListItems = htmlDocument.DocumentNode.Descendants("div") .Where(node => node.GetAttributeValue("class", "") .Equals("tn-search-news-list-item-text")).ToList(); foreach (var item in SearchNewsListItems) { string theme = item.Descendants("a").FirstOrDefault().InnerText.Replace(""", "").Replace(" ", "").Replace("–", ""); string text = item.Descendants("p") .Where(node => node.GetAttributeValue("class", "") .Equals("tn-announce")).FirstOrDefault().InnerText.Replace(" ", " ").Replace("–", " "); string date = item.Descendants("ul") .Where(node => node.GetAttributeValue("class", "") .Equals("tn-data-list")).FirstOrDefault().InnerText.Trim('\n', '\t', '\r', ' '); DateTime parsedDate = DateTime.ParseExact(date, "dd MMMM yyyy, HH:mm", System.Globalization.CultureInfo.GetCultureInfo("ru-RU")); NewsData newsData = new NewsData(url, theme, text, parsedDate); DatabaseCommand.SetNewsData(newsData); } }
public static List <NewsData> GetNewsDataBetweenDates(DateTime dateBegin, DateTime dateEnd) { var NewsList = new List <NewsData>(); SqlCommand sqlCommand = new SqlCommand(DatabaseConnectionSettings.StrGetNewsDataBetweenDates, sqlConnection); sqlCommand.Parameters.AddWithValue("@dateBegin", dateBegin); sqlCommand.Parameters.AddWithValue("@dateEnd", dateEnd); try { sqlConnection.Open(); SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); if (sqlDataReader.HasRows) { while (sqlDataReader.Read()) { NewsData newsData = new NewsData(sqlDataReader.GetString(1), sqlDataReader.GetString(2), sqlDataReader.GetString(3), sqlDataReader.GetDateTime(4)); NewsList.Add(newsData); } } } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); } finally { if (sqlConnection.State == ConnectionState.Open) { sqlConnection.Close(); } } return(NewsList); }
internal static List <NewsData> GetSearchEnteredText(string searchText) { var NewsList = new List <NewsData>(); SqlCommand sqlCommand = new SqlCommand(DatabaseConnectionSettings.StrGetSearchEnteredText, sqlConnection); sqlCommand.Parameters.AddWithValue("@searchText", searchText); try { sqlConnection.Open(); SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); if (sqlDataReader.HasRows) { while (sqlDataReader.Read()) { NewsData newsData = new NewsData(sqlDataReader.GetString(1), sqlDataReader.GetString(2), sqlDataReader.GetString(3), sqlDataReader.GetDateTime(4)); NewsList.Add(newsData); } } } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); } finally { if (sqlConnection.State == ConnectionState.Open) { sqlConnection.Close(); } } return(NewsList); }