public DateTime GetMaxDate() { using (DataBaseAccessDataContext asdc = new DataBaseAccessDataContext()) { return(asdc.HistoricalShareValues.Select(el => el.date).Max()); } }
public static List <String> GetAllShareIds() { using (DataBaseAccessDataContext asdc = new DataBaseAccessDataContext()) { return(asdc.ShareNames.Select(ligne => ligne.id).ToList()); } }
public static String GetShareName(String id) { using (DataBaseAccessDataContext asdc = new DataBaseAccessDataContext()) { string name = asdc.ShareNames.First(el => (el.id.Trim() == id.Trim())).name.ToString(); return(name); } }
public List <DataFeed> GetDataFeeds(IOption option, DateTime from) { using (DataBaseAccessDataContext asdc = new DataBaseAccessDataContext()) { var res = new List <DataFeed>(); var underlyingIds = option.UnderlyingShareIds; var req = asdc.HistoricalShareValues.Where(el => underlyingIds.Contains(el.id) && el.date >= from && el.date <= option.Maturity).ToList(); var dates = req.Select(el => el.date).Distinct().ToList(); foreach (DateTime d in dates) { Dictionary <string, decimal> priceList = new Dictionary <string, decimal>(); foreach (string id in underlyingIds) { decimal price = req.First(el => (DateTime.Compare(el.date, d) == 0 && (el.id.Trim() == id.Trim()))).value; priceList.Add(id, price); } res.Add(new DataFeed(d, priceList)); } return(res); } }