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(); }
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); }
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); }