namespace YLErp.Modules.ExchangeOptionTradeModule { /// /// 场内期权波动率保存服务 /// public class ExchangeOptionVolSaveService : YLBaseService { public ExchangeOptionVolSaveService(OptUserInfo userInfo) : base(userInfo) { } /// /// 保存场内期权波动率 /// 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(); } } }