Optimize GetGainLossWithDetailByDateAndAccount
This commit is contained in:
@@ -44,6 +44,7 @@ namespace MarketData.Cache
|
||||
private DividendHistoryCache()
|
||||
{
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
lock(thisLock)
|
||||
@@ -52,6 +53,7 @@ namespace MarketData.Cache
|
||||
instance=null;
|
||||
}
|
||||
}
|
||||
|
||||
public static DividendHistoryCache GetInstance()
|
||||
{
|
||||
lock(typeof(DividendHistoryCache))
|
||||
@@ -60,6 +62,7 @@ namespace MarketData.Cache
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
|
||||
public void ClearCache()
|
||||
{
|
||||
lock(typeof(DividendHistoryCache))
|
||||
@@ -67,6 +70,7 @@ namespace MarketData.Cache
|
||||
dividendHistoryCache.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
public void Add(DividendHistory dividendHistory)
|
||||
{
|
||||
lock(typeof(DividendHistoryCache))
|
||||
@@ -84,6 +88,7 @@ namespace MarketData.Cache
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Add(String symbol,int divExYear,DividendHistory dividendHistory)
|
||||
{
|
||||
lock(typeof(DividendHistoryCache))
|
||||
@@ -104,6 +109,7 @@ namespace MarketData.Cache
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public DividendHistory GetDividendHistory(String symbol, int[] divExYears)
|
||||
{
|
||||
DividendHistory dividendHistory=new DividendHistory();
|
||||
@@ -123,7 +129,8 @@ namespace MarketData.Cache
|
||||
}
|
||||
}
|
||||
return dividendHistory;
|
||||
}
|
||||
}
|
||||
|
||||
private DividendHistory GetDividendHistory(String symbol,int divExYear)
|
||||
{
|
||||
lock(typeof(DividendHistoryCache))
|
||||
@@ -134,6 +141,7 @@ namespace MarketData.Cache
|
||||
return dividendHistoryByDixExYear[divExYear];
|
||||
}
|
||||
}
|
||||
|
||||
public bool ContainsDividendHistory(String symbol,int divExYear)
|
||||
{
|
||||
lock(typeof(DividendHistoryCache))
|
||||
|
||||
@@ -37,8 +37,6 @@ namespace MarketData.Generator
|
||||
int priorYear=currentYear-1;
|
||||
|
||||
DividendHistory dividendHistory=DividendHistoryCache.GetInstance().GetDividendHistory(symbol,new int[]{currentYear, priorYear});
|
||||
// DividendHistory dividendHistory=DividendHistoryDA.GetDividendHistory(symbol,new int[] { currentYear,priorYear });
|
||||
|
||||
if(null==currentPrice||double.IsNaN(currentPrice.Close)||!currentPrice.Date.Year.Equals(currentYear)) return double.NaN;
|
||||
DividendHistory lastYearsDividendPayments=new DividendHistory((from DividendHistoryItem item in dividendHistory where item.DivExDate.Year==priorYear&&null!=item.CashAmount select item).ToList());
|
||||
DividendHistory currentYearsDividendPayments=new DividendHistory((from DividendHistoryItem item in dividendHistory where item.DivExDate.Year==currentYear&&null!=item.CashAmount select item).ToList());
|
||||
|
||||
Reference in New Issue
Block a user