从山证v2.3.0拷贝
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
namespace YLErp.Modules.TradeModule.OrderModule
|
||||
{
|
||||
partial class TradeSavePreHandler
|
||||
{
|
||||
private static void CheckSnowball(trade req)
|
||||
{
|
||||
var snowball = req.trade_snowball;
|
||||
|
||||
if (snowball.PrepaymentUsed)
|
||||
{
|
||||
if (snowball.SpreadStrikeAtMaturity1 == null)
|
||||
{
|
||||
throw new ServiceException("敲入执行价格 必须填写");
|
||||
}
|
||||
|
||||
snowball.KOObservationDates = snowball.KOObservationDates?.Trim(new[] { ' ', ';' });
|
||||
|
||||
if (string.IsNullOrWhiteSpace(snowball.KOObservationDates))
|
||||
{
|
||||
throw new ServiceException("敲出观察频率 必须填写");
|
||||
}
|
||||
|
||||
req.Strike = snowball.SpreadStrikeAtMaturity1;
|
||||
|
||||
snowball.IsAnnualized2 = false;
|
||||
snowball.AnnualizeFactor2 = 1;
|
||||
req.MetaDic[nameof(snowball.AnnualizeFactor2)] = "/";
|
||||
|
||||
snowball.KOPayoffType = KOPayoffTypeEnum.Rebate;
|
||||
snowball.KIPayoffType = KIPayoffTypeEnum.Prepayment;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!snowball.IsAnnualized2 || !snowball.AnnualizeFactor2.HasValue)
|
||||
{
|
||||
snowball.AnnualizeFactor2 = 1;
|
||||
req.MetaDic[nameof(snowball.AnnualizeFactor2)] = "/";
|
||||
}
|
||||
|
||||
if (snowball.KIPayoffType == KIPayoffTypeEnum.None)
|
||||
{
|
||||
req.Strike = req.IsMoneynessOptionData ? 1 : req.SpotPrice;
|
||||
}
|
||||
else
|
||||
{
|
||||
req.Strike = snowball.SpreadStrikeAtMaturity1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user