internal IPortfolio LoadPortfolios(IPosition p) { PortfolioMapper pm = new PortfolioMapper(mapperHelper.context); List <IDataParameter> parameters = new List <IDataParameter>(); parameters.Add(new SqlParameter("@id", p.name)); using (IDataReader rd = mapperHelper.ExecuteReader("select name, totalval from Portfolio where name=@id", parameters)) { if (rd.Read()) { return(pm.Read(rd.IsDBNull(0) ? default : rd.GetString(0))); } } return(null); }
internal ICollection <IPosition> LoadPosition(IInstrument i) { List <IPosition> lst = new List <IPosition>(); PortfolioMapper pm = new PortfolioMapper(mapperHelper.context); List <IDataParameter> parameters = new List <IDataParameter>(); parameters.Add(new SqlParameter("@id", i.isin)); using (IDataReader rd = mapperHelper.ExecuteReader("select isin, name, quantity from Position where isin=@id ", parameters)) { while (rd.Read()) { Position pos = new Position { Instrument = i, Portfolio = pm.Read(rd.IsDBNull(0) ? default : rd.GetString(0)), isin = rd.IsDBNull(0) ? default : rd.GetString(0), name = rd.IsDBNull(1) ? default : rd.GetString(1), quantity = rd.IsDBNull(2) ? default : rd.GetInt32(2) }; lst.Add(pos); } } return(lst); }
public PortfolioRepository(IContext ctx) { context = ctx; mapper = new PortfolioMapper(ctx); }