public NewsUC(rssChannelItem item) { newsModel = new NewsModel(); newsModel.Title = item.title; newsModel.Description = Regex.Replace(item.description, "<.*?>", String.Empty); newsModel.Link = item.link; newsModel.Date = item.pubDate.Remove(item.pubDate.LastIndexOf('+')); InitializeComponent(); }
// Private Methods (1) private static string fixDescription(rssChannelItem item) { var desc = item.description; if (string.IsNullOrWhiteSpace(desc)) { return(string.Empty); } desc = desc.Replace("<br />", Environment.NewLine).StripHtmlTags(); var lines = desc.Split('\n'); var sb = new StringBuilder(); foreach (var line in lines) { sb.AppendLine(line.Trim()); } return(HttpUtility.HtmlDecode(sb.ToString())); }
private void SearchOneLitigation(rssChannelItem item, TextWriter log, int x, int y, bool readOnly) { log.WriteLine("Processing: {0} ({1} of {2})", item.title, x, y); var litigationText = GetDoc(log, item.link).ToLower(); var foundCompanies = new List <string>(); DateTime date; try { date = DateTime.Parse(item.pubDate.Substring(4, 12)); log.WriteLine("Litigation date: {0} parsed {1:yyyy-MM-dd}", item.pubDate, date); } catch (Exception ex) { log.WriteLine(ex.ToString() + "\r\n----date:{0}\r\n----item{1}", item.pubDate, item.link); return; } foreach (var company in _companies) { if (litigationText.Contains(company.company_name.ToLower())) { log.WriteLine("--Found company: {0}", company.company_name); foundCompanies.Add(company.company_name); if (!readOnly) { var dbDoc1 = GetOrCreateDbDoc(item.link, "full", date, "litigation"); var events = _coMan.GetEventsByCo(company.company_name); if (events.FindBycompany_nameevent_typeevent_date(company.company_name, "litigation", date) == null) { events.Addcompany_eventRow(company.company_name, "litigation", "Company mentioned in SEC litigation release", date, dbDoc1.document_id, SourceId, "", false); _coMan.SaveEvents(events); } else { log.WriteLine("company event already exists in DB"); } } } } foreach (var individual in _individuals) { if (litigationText.Contains(individual.individual_name.ToLower())) { log.WriteLine("--Found individual: {0}", individual.individual_name); if (readOnly) { continue; } var links = _linMan.GetIndividualCompanyLinkByIndividual(individual.individual_name); foreach (var coName in foundCompanies) { var found = false; foreach (var link in links) { if (link.company_name != coName || link.link_type != "litigation") { continue; } found = true; break; } if (found) { continue; } var dbDoc1 = GetOrCreateDbDoc(item.link, "full", date, "litigation"); links.Addindividual_company_linkRow(individual.individual_name, coName, SourceId, dbDoc1.document_id, individual.individual_name, coName, "litigation", date, string.Empty, date); _linMan.Save(links); log.WriteLine("created individual-company link: {0} -> {1}", individual.individual_name, coName); } } } log.Flush(); }