从山证v2.3.0拷贝
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
using YLErp.BLL;
|
||||
|
||||
namespace YLErp.Modules.DataProviderModule
|
||||
{
|
||||
/// <summary>
|
||||
/// 日终风险计算数据提供器
|
||||
/// </summary>
|
||||
public class EodRiskCalcDataProvider
|
||||
{
|
||||
private readonly EodPriceProvider _eodPriceProvider;
|
||||
private readonly UnderlyingProvider _underlyingProvider;
|
||||
|
||||
public EodRiskCalcDataProvider(DateTime valueDate, DateTime? startDate = null)
|
||||
{
|
||||
_underlyingProvider = new UnderlyingProvider(OptUserInfo.SystemUser);
|
||||
_underlyingProvider.Initialize(startDate);
|
||||
_eodPriceProvider = new EodPriceProvider(valueDate);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据代码获取标的信息
|
||||
/// 涉及到历史标的所以不从缓存中获取
|
||||
/// </summary>
|
||||
public underlying_manager GetUnderlying(string underlyingCode)
|
||||
{
|
||||
if (underlyingCode is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(underlyingCode));
|
||||
}
|
||||
return _underlyingProvider.GetUnderlying(underlyingCode);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取标的收盘价或结算价(如果标的在取值日之前已到期,则取标的到期日的收盘价或结算价)
|
||||
/// </summary>
|
||||
public bool TryGetEodPrice(string underlyingCode, SettlementTypeEnum settlementType, out double price)
|
||||
{
|
||||
return _eodPriceProvider.TryGetPrice(underlyingCode, settlementType, out price);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 返回数据查询接口(现在返回的是EF查询接口)
|
||||
/// </summary>
|
||||
public IQueryable<underlying_manager> GetUnderlyingQuery()
|
||||
{
|
||||
return underlying_managerBLL.GetQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user