从山证v2.3.0拷贝
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
namespace YLErp.Modules.ExchangeOptionTradeModule
|
||||
{
|
||||
/// <summary>
|
||||
/// 场内期权波动率保存服务
|
||||
/// </summary>
|
||||
public class ExchangeOptionVolSaveService : YLBaseService
|
||||
{
|
||||
public ExchangeOptionVolSaveService(OptUserInfo userInfo) : base(userInfo)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存场内期权波动率
|
||||
/// </summary>
|
||||
public int SaveExchangeOptionVol(string optionCode, DateTime valueDate, double volValue, ExchangeOptionVolUseFlag useFlag = ExchangeOptionVolUseFlag.FixedValue)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(optionCode))
|
||||
{
|
||||
throw new ArgumentException("参数不能为空值", nameof(optionCode));
|
||||
}
|
||||
|
||||
if (useFlag == ExchangeOptionVolUseFlag.FixedValue && volValue < 0)
|
||||
{
|
||||
throw new ArgumentException("请设置合理的场内期权波动率", nameof(volValue));
|
||||
}
|
||||
|
||||
valueDate = valueDate.Date;
|
||||
|
||||
var record = DbContext.exchange_option_vol.FirstOrDefault(x => x.OptionCode == optionCode && x.ValueDate == valueDate);
|
||||
|
||||
if (record == null)
|
||||
{
|
||||
record = new ExchangeOptionVol()
|
||||
{
|
||||
OptionCode = optionCode,
|
||||
ValueDate = valueDate,
|
||||
Volatility = volValue
|
||||
};
|
||||
|
||||
DbContext.exchange_option_vol.Add(record);
|
||||
}
|
||||
else if (useFlag == ExchangeOptionVolUseFlag.FixedValue)
|
||||
{
|
||||
record.Volatility = volValue;
|
||||
}
|
||||
|
||||
record.UseFlag = useFlag;
|
||||
record.OptId = UserId;
|
||||
record.OptDate = OptDate;
|
||||
return DbContext.SaveChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user