示例#1
0
 public DateTime GetMaxDate()
 {
     using (DataBaseAccessDataContext asdc = new DataBaseAccessDataContext())
     {
         return(asdc.HistoricalShareValues.Select(el => el.date).Max());
     }
 }
示例#2
0
 public static List <String> GetAllShareIds()
 {
     using (DataBaseAccessDataContext asdc = new DataBaseAccessDataContext())
     {
         return(asdc.ShareNames.Select(ligne => ligne.id).ToList());
     }
 }
示例#3
0
 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);
     }
 }
示例#4
0
 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);
     }
 }