示例#1
0
        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();
                }
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }