コード例 #1
0
        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());
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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());
        }
コード例 #4
0
        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");
            }
        }
コード例 #5
0
        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());
        }
コード例 #6
0
        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);
        }