private string CreateOwnerLinks(List <string> owners, string companyName, DtstCOI.documentRow dbdoc) { if (ReadOnly) { return("Readonly mode detected, Not creating links"); } var log = new StringWriter(); var dal = new LinkManager(); foreach (var owner in owners) { try { var details = owner.Split('|'); var date = DateTime.Parse(details[1]); var positions = details[2].ToLower().Replace("&", ",").Replace(" and ", ",").Replace(":", ",").Split(','); foreach (var p in positions) { if (!NameAnalyzer.IsCompanyName(details[0])) { dal.CreateOrUpdate(InvestigationId, companyName, details[0], details[0], SourceId, dbdoc.document_id, "Owner", date, p.Trim()); } else { dal.CreateOrUpdateCoCoLink(companyName, details[0], 10, dbdoc.document_id, "Owner", p.Trim(), date); } } } catch (Exception ex) { log.WriteLine(ex.Message); } } return(log.ToString()); }
public string GenerateSnippet() { var s = new StringWriter(); var t = GetTable(_formId); if (t.Count < 1) { return(string.Empty); } var table = DbDocManager.GetDocument(_formId); DbDoc = table[0]; s.Write("<table border=1 bordercolor=#000000 cellspacing=0 cellpadding=1>"); foreach (var row in t) { var line = string.Empty; var isEmpty = true; foreach (var cell in row) { if (cell.Trim() != string.Empty) { isEmpty = false; } var c = (cell.Trim() == string.Empty) ? "-" : cell.Trim(); line += ("<td>" + c + "</td>"); } if (isEmpty) { continue; } s.Write("<tr>"); s.Write(line); s.Write("</tr>"); } s.Write("</table>"); var snippet = s.ToString(); var snippetsTable = DbDocManager.GetSnippets(DbDoc.document_id); var dbsnippet = snippetsTable.FindBydocument_idsnippet_type(DbDoc.document_id, SnippetType); if (dbsnippet == null) { snippetsTable.AddsnippetRow(DbDoc.document_id, SnippetType, snippet, string.Empty, _coName); } else { dbsnippet.snippet = snippet; } DbDocManager.Save(snippetsTable); return(snippet); }
private string CreateSharesTraded(List <string> trades, string companyName, DtstCOI.documentRow dbDoc) { companyName = Dbo.FilterName(companyName); if (ReadOnly) { return("Readonly mode detected, Not saving share trade information"); } var log = new StringWriter(); var dal = new SharesManager(); var table = dal.GetIndividualSharesTradedByCo(companyName); foreach (var trade in trades) { try { var details = trade.Split('|'); var date = DateTime.Parse(details[1]); var traded = decimal.Parse(details[2]); var owned = decimal.Parse(details[3]); var form = int.Parse(details[5]); var no = int.Parse(details[6]); decimal price; try { price = decimal.Parse(details[4]); } catch { price = 0; } var row = table.FindByindividual_namecompany_namedateformnumber (details[0], companyName, date, form, no); if (row == null) { table.Addindividual_company_sharesRow(details[0], companyName, date, form, no, dbDoc.document_id, traded, owned, SourceId, price); } }catch { } } dal.Save(table); return(log.ToString()); }
private void CreateLinks(DtstCOI.documentRow doc, IList <string> officers, string registeredAgent, string companyName) { //officers var dal = new LinkManager(); for (var i = 0; i < officers.Count; i++) { var pos = officers[i].Split('-')[0].Trim().ToLower(); var name = NameAnalyzer.NameCapitalizer(officers[i].Split('-')[1].Trim()); dal.CreateOrUpdate(InvestigationId, companyName, name, name, SourceId, doc.document_id, "Officer", doc.document_date, pos); } //registred agent if (NameAnalyzer.IsCompanyName(registeredAgent)) { registeredAgent = Dbo.FilterName(registeredAgent); companyName = Dbo.FilterName(companyName); var table = dal.GetLinksByCoDateAndLinkType(companyName, registeredAgent, doc.document_id, RegistredAgent); if (table.Rows.Count == 0) { table.Addcompany_company_linkRow(companyName, registeredAgent, SourceId, doc.document_id, RegistredAgent, RegistredAgent, doc.document_date, doc.document_date ); dal.Save(table); } var dal3 = new CompanyManager(); var companies = dal3.SearchCompanies(registeredAgent); if (companies.FindBycompany_name(registeredAgent) == null) { companies.AddcompanyRow(registeredAgent); dal3.Save(companies); } } else { dal.CreateOrUpdate(InvestigationId, companyName, registeredAgent, registeredAgent, SourceId, doc.document_id, "Registered Agent", doc.document_date, "Registered Agent"); } }
public string CreateDbRecordsForNameChange(CompanyManager dal, LinkManager dalL, string oldName, string newName, DateTime dateOfChange, DtstCOI.documentRow dbDoc) { const string eventType = "name/symbol change"; const string linkType = "previous"; var log = new StringWriter(); //company names var companies = dal.SearchCompanies(oldName); var oldCo = companies.FindBycompany_name(oldName); if (oldCo == null) { companies.AddcompanyRow(oldName); dal.Save(companies); log.WriteLine("created co: {0}", oldName); } companies = dal.SearchCompanies(newName); var newco = companies.FindBycompany_name(newName); if (newco == null) { companies.AddcompanyRow(newName); dal.Save(companies); log.WriteLine("created co: {0}", newName); } //name change events and links var links = dalL.GetCoCoLinks(oldName, linkType); var link = links.FindBycompany_namecompany_name2supporting_doc_idlink_type(oldName, newName, dbDoc.document_id, linkType); if (link == null) { links.Addcompany_company_linkRow(oldName, newName, SourceId, dbDoc.document_id, linkType, linkType, dateOfChange, dateOfChange); dalL.Save(links); log.WriteLine("created company-company link"); } var events = dal.GetEventsByCo(oldName); if (events.FindBycompany_nameevent_typeevent_date(oldName, eventType, dateOfChange) == null) { events.Addcompany_eventRow(oldName, eventType, eventType, dateOfChange, dbDoc.document_id, SourceId, string.Empty, false); dal.SaveEvents(events); log.WriteLine("created event {0} for company {1}", eventType, oldName); } events = dal.GetEventsByCo(newName); if (events.FindBycompany_nameevent_typeevent_date(newName, eventType, dateOfChange) == null) { events.Addcompany_eventRow(newName, eventType, eventType, dateOfChange, dbDoc.document_id, SourceId, string.Empty, false); dal.SaveEvents(events); log.WriteLine("created event {0} for company {1}", eventType, newName); } return(log.ToString()); }
private void CreateEvents(IList <string> acts, IList <DateTime> dates, string companynName, DtstCOI.documentRow doc) { companynName = Dbo.FilterName(companynName); var dal = new CompanyManager(); var events = dal.GetEventsByCo(companynName); for (var i = 0; i < acts.Count; i++) { var row = events.FindBycompany_nameevent_typeevent_date(companynName, acts[i], dates[i]); if (row == null) { events.Addcompany_eventRow(companynName, acts[i], acts[i], dates[i], doc.document_id, SourceId, string.Empty, false); } } dal.SaveEvents(events); }