示例#1
0
        public void AddUnknownShare(InfoTableItem infoTableItem, int filingId)
        {
            Console.WriteLine($"Unable to find security for {infoTableItem.NameOfIssuer}");

            var unknownShare = new UnknownShare
            {
                FilingId     = filingId,
                Number       = infoTableItem.NumberOfShares,
                Type         = infoTableItem.TypeOfShares,
                Value        = infoTableItem.Value,
                NameOfIssuer = infoTableItem.NameOfIssuer,
                Cusip        = infoTableItem.Cusip,
            };

            _db.UnknownShares.Add(unknownShare);
            _db.SaveChanges();
        }
示例#2
0
        public Security CusipLookup(string cusip)
        {
            Security    security    = null;
            SecurityMap securityMap = _db.SecurityMaps.FirstOrDefault(s => s.Cusip == cusip);

            if (securityMap != null)
            {
                security = _db.Securities.FirstOrDefault(s => s.SecurityId == securityMap.SecurityId);
            }
            else
            {
                UnknownShare unknownShare = _db.UnknownShares.FirstOrDefault(s => s.Cusip == cusip);
                if (unknownShare == null)
                {
                    security = StockFinder.CusipLookup(cusip);
                }
            }

            return(security);
        }
示例#3
0
        public Security NameLookup(string name)
        {
            name = NormaliseSecurityName(name);

            SecurityMap securityMap = _db.SecurityMaps.FirstOrDefault(s => s.Name == name);
            Security    security    = null;

            if (securityMap != null)
            {
                security = _db.Securities.FirstOrDefault(s => s.SecurityId == securityMap.SecurityId);
            }
            else
            {
                UnknownShare unknownShare = _db.UnknownShares.FirstOrDefault(s => s.NameOfIssuer == name);
                if (unknownShare == null)
                {
                    security = StockFinder.NameLookup(name);
                }
            }

            return(security);
        }